From 0b44f02cc684cbf5d082746b38c853e9d8b00be6 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Thu, 16 Jan 2025 08:30:22 +0100 Subject: [PATCH] adding some details about showing commutes to user control --- rowers/models.py | 2 ++ rowers/templates/list_workouts.html | 9 +++++++-- rowers/views/workoutviews.py | 12 +++++++++++- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/rowers/models.py b/rowers/models.py index dbaa5d34..9da7d653 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -1258,6 +1258,7 @@ class Rower(models.Model): imports_are_private = models.BooleanField(default=False, verbose_name='Make imports private by default') show_commutes = models.BooleanField(default=False, verbose_name='Show commutes in workout list') + small_commutes = models.BooleanField(default=False, verbose_name='Show commutes on a single line in workout list') # Friends/Team friends = models.ManyToManyField("self", blank=True) @@ -5182,6 +5183,7 @@ class AccountRowerForm(ModelForm): 'defaultlandingpage2', 'defaultlandingpage3', 'show_commutes', + 'small_commutes', 'offercoaching', 'autojoin', 'emailalternatives'] widgets = { diff --git a/rowers/templates/list_workouts.html b/rowers/templates/list_workouts.html index cd31fc05..e1e06146 100644 --- a/rowers/templates/list_workouts.html +++ b/rowers/templates/list_workouts.html @@ -34,6 +34,11 @@ {% endif %} +{% if nr_commutes %} +

+ Show {{ nr_commutes }} commutes +

+{% endif %}
  • @@ -104,7 +109,7 @@ {% endif %} {% for workout in workouts %} - {% if not workout.is_commute %} + {% if not workout.is_commute or not user.rower.small_commutes %}
  • {% if request.GET.selectworkouts %} @@ -202,7 +207,7 @@
  • - {% elif user.rower.show_commutes %} + {% elif show_commutes and user.rower.small_commutes %}
  • diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index 7399e16b..31864c0d 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -2145,6 +2145,10 @@ def workouts_view(request, message='', successmessage='', request.session['referer'] = absolute(request)['PATH'] r = getrequestrower(request, rowerid=rowerid, userid=userid) + show_commutes = request.GET.get('show_commutes', False) + if show_commutes == 'true': + show_commutes = True + # check if access is allowed startdate = datetime.datetime.combine(startdate, datetime.time()) @@ -2264,9 +2268,13 @@ def workouts_view(request, message='', successmessage='', g_enddate = timezone.now() g_startdate = (timezone.now()-timedelta(days=15)) - if not r.show_commutes: + nr_commutes = 0 + show_commutes = show_commutes or r.show_commutes + if not show_commutes: + nr_commutes = workouts.filter(is_commute=True).count() workouts = workouts.exclude(is_commute=True) + workoutsnohr = workouts.exclude(averagehr__isnull=False) for w in workoutsnohr: # pragma: no cover _ = dataprep.workout_trimp(w) @@ -2358,6 +2366,8 @@ def workouts_view(request, message='', successmessage='', 'totalmeters': totalmeters, 'totalminutes': totalminutes, 'totalhours': totalhours, + 'nr_commutes': nr_commutes, + 'show_commutes': show_commutes, })