Merge feature/measurements-wide-view into demo/example-data

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-04 12:30:13 +00:00
7 changed files with 61 additions and 119 deletions

View File

@@ -6,7 +6,7 @@ class MeasurementsController < ApplicationController
end
def index
@measurements = current_user.readouts.includes(:quantity, :unit).order(taken_at: :desc, id: :desc)
load_measurements
end
def new
@@ -20,6 +20,7 @@ class MeasurementsController < ApplicationController
if @readouts.present? && @readouts.all?(&:valid?)
ActiveRecord::Base.transaction { @readouts.each(&:save!) }
load_measurements
flash.now[:notice] = t('.success', count: @readouts.size)
else
errors = @readouts.flat_map { |r| r.errors.full_messages }
@@ -33,6 +34,7 @@ class MeasurementsController < ApplicationController
def update
if @readout.update(params.require(:readout).permit(:value, :unit_id, :taken_at))
load_measurements
flash.now[:notice] = t('.success')
else
@user_units = current_user.units.ordered
@@ -42,6 +44,7 @@ class MeasurementsController < ApplicationController
def destroy
@readout.destroy!
load_measurements
flash.now[:notice] = t('.success')
end
@@ -50,4 +53,10 @@ class MeasurementsController < ApplicationController
def find_readout
@readout = current_user.readouts.find(params[:id])
end
def load_measurements
@measurements = current_user.readouts.includes(:quantity, :unit).order(taken_at: :desc, id: :desc)
@wide_groups = @measurements.group_by(&:taken_at)
@wide_quantities = @measurements.map(&:quantity).uniq.sort_by(&:name)
end
end