Private
Public Access
1
0

adding some details about showing commutes to user control

This commit is contained in:
2025-01-16 08:30:22 +01:00
parent 3b9fdf6611
commit 0b44f02cc6
3 changed files with 20 additions and 3 deletions

View File

@@ -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 = {

View File

@@ -34,6 +34,11 @@
</h1>
{% endif %}
{% if nr_commutes %}
<p>
<a href="?show_commutes=true">Show {{ nr_commutes }} commutes</a>
</p>
{% endif %}
<ul class="main-content">
<li class="grid_4">
@@ -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 %}
<li class="grid_4 divlines">
{% if request.GET.selectworkouts %}
<input type="checkbox" id="workoutid" value={{ workout.id|encode }} name="workoutid" />
@@ -202,7 +207,7 @@
</div>
</div>
</li>
{% elif user.rower.show_commutes %}
{% elif show_commutes and user.rower.small_commutes %}
<li class="grid_4 divlines">
<div class="workoutcontainer">
<div class="workoutelement">

View File

@@ -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,
})