diff --git a/rowers/middleware.py b/rowers/middleware.py index c1b968f2..7b9abb86 100644 --- a/rowers/middleware.py +++ b/rowers/middleware.py @@ -136,6 +136,8 @@ class RowerPlanMiddleWare(object): paymentprocessor='braintree') r.paidplan = basicplans[0] r.save() + # remove from Free Coach groups + # send email job = myqueue(queue, handle_sendemail_expired, diff --git a/rowers/models.py b/rowers/models.py index ec2f772e..f9d2ae9f 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -878,7 +878,17 @@ class Rower(models.Model): def clean_email(self): return self.user.email.lower() - + def save(self, *args, **kwargs): + try: + for group in self.coachinggroups.all(): + coach = Rower.objects.get(mycoachgroup=group) + if coach.rowerplan == 'freecoach': + self.coachinggroups.remove(group) + except ValueError: + pass + + super(Rower, self).save(*args, **kwargs) + class DeactivateUserForm(forms.ModelForm): class Meta: model = User diff --git a/rowers/templates/team.html b/rowers/templates/team.html index 59c0fc34..81873dee 100644 --- a/rowers/templates/team.html +++ b/rowers/templates/team.html @@ -54,6 +54,14 @@ {% if team.manager == user %}
Use the form to add a new user. You can either select a user from the list of your existing club members who are not on this team yet, or you can type the user's email address, which also works for users who have not registered to the site yet.
+ {% if team.manager.rower.rowerplan == 'freecoach' %} ++ As a Free Coach user, your team members can only be users on a paid + plan. You can also upgrade to a + Paid Coach Plan + which allows you to coach users on a free Rower Plan. +
+ {% endif %} {% if inviteform.errors %}Please correct the error{{ inviteform.errors|pluralize }} below. diff --git a/rowers/tests/testdata/testdata.csv.gz b/rowers/tests/testdata/testdata.csv.gz index 4f7fc75a..9941ccb4 100644 Binary files a/rowers/tests/testdata/testdata.csv.gz and b/rowers/tests/testdata/testdata.csv.gz differ