diff options
| author | mo khan <mo@mokhan.ca> | 2017-02-18 11:49:10 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2017-02-18 11:49:10 -0700 |
| commit | 2fae577b43f930a456bc0ce93e36f3f18eece601 (patch) | |
| tree | c0a78293abed4558c9c6d784795f9eed0fdcecbf /app/controllers | |
| parent | 3ea15efd43893620c8c37aafe47d3f134c0182a8 (diff) | |
use chart.js instead of google charts.
Diffstat (limited to 'app/controllers')
| -rw-r--r-- | app/controllers/charts_controller.rb | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/app/controllers/charts_controller.rb b/app/controllers/charts_controller.rb index 9475a0c..cbb7a95 100644 --- a/app/controllers/charts_controller.rb +++ b/app/controllers/charts_controller.rb @@ -3,14 +3,28 @@ class ChartsController < ApplicationController exercise = Exercise.find_by(id: params[:exercise]) respond_to do |format| format.js { @training_history = current_user.history_for(exercise) } - format.json { render json: recent_workouts(exercise).to_line_chart } + #format.json { render json: recent_workouts(exercise).to_line_chart } + format.json { render json: rolled_up_sets(exercise || Exercise.primary).chart_json } end + end private - def recent_workouts(exercise, since = (params[:since] || 7.days).to_i.seconds.ago) - workouts = current_user.workouts.since(since.beginning_of_day).recent - exercise ? workouts.with_exercise(exercise) : workouts + #def recent_workouts(exercise, since = (params[:since] || 7.days).to_i.seconds.ago) + #workouts = current_user.workouts.since(since.beginning_of_day).recent + #exercise ? workouts.with_exercise(exercise) : workouts + #end + + def rolled_up_sets(exercise, since = (params[:since] || 7.days).to_i.seconds.ago) + ExerciseSet + .joins(:exercise) + .where(exercise: exercise) + .where('workouts.occurred_at > ?', since.beginning_of_day) + .where.not(target_weight: nil) + .group('exercises.name') + .joins(:workout) + .group('workouts.occurred_at') + .maximum(:target_weight) end end |
