From b0eef2e44c92df01f168dd7f57f6030e25a35545 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Fri, 7 Oct 2022 08:30:03 +0200 Subject: [PATCH 1/2] fix alerts with conditions --- rowers/alerts.py | 2 +- rowers/models.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/rowers/alerts.py b/rowers/alerts.py index f1c73fdb..86a1716f 100644 --- a/rowers/alerts.py +++ b/rowers/alerts.py @@ -93,7 +93,7 @@ def alert_get_stats(alert, nperiod=0): # pragma: no cover columns = [alert.measured.metric] for condition in alert.filter.all(): - columns += condition.metric + columns.append(condition.metric) workouts = Workout.objects.filter(date__gte=startdate, date__lte=enddate, user=alert.rower, workouttype=alert.workouttype, duplicate=False, diff --git a/rowers/models.py b/rowers/models.py index 1b50f2a7..2eeefe77 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -1377,6 +1377,16 @@ class Condition(models.Model): condition = models.CharField( max_length=20, choices=conditionchoices, null=True) + def __str__(self): + str = 'Condition: {metric} {condition} {value1} {value2}'.format( + metric=self.metric, + condition=self.condition, + value1 = self.value1, + value2 = self.value2, + ) + + return str + class ConditionEditForm(ModelForm): class Meta: From 2d909edb110a005ce519f1706a384eff9617cf8d Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Fri, 7 Oct 2022 08:54:20 +0200 Subject: [PATCH 2/2] fix sticky setting of import settings by coach --- rowers/views/userviews.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/rowers/views/userviews.py b/rowers/views/userviews.py index 2a9601f9..90348d99 100644 --- a/rowers/views/userviews.py +++ b/rowers/views/userviews.py @@ -1,6 +1,6 @@ from rowers.views.statements import * -from rowers.rower_rules import user_is_not_basic +from rowers.rower_rules import user_is_not_basic, user_is_coachee @login_required() def deactivate_user(request): @@ -399,7 +399,8 @@ def rower_exportsettings_view(request, userid=0): except KeyError: doset = True if not user_is_not_basic(r.user): # pragma: no cover - doset = False + if not user_is_coachee(r.user): + doset = False if not doset: before = getattr(r, attr) if before == value: @@ -411,6 +412,7 @@ def rower_exportsettings_view(request, userid=0): messages.error( request, 'Could not set '+attr+'. You need to create the connection first.') + r.save() messages.info(request, 'Settings saved') else: