removing some remnants of coach and plan
This commit is contained in:
@@ -281,7 +281,7 @@ def update_subscription(rower, data, method='up'):
|
||||
_ = credits.upgrade(amount_int, rower)
|
||||
rower.planexpires = result.subscription.billing_period_end_date
|
||||
rower.teamplanexpires = result.subscription.billing_period_end_date
|
||||
rower.clubsize = plan.clubsize
|
||||
rower.clubsize = 10
|
||||
rower.paymenttype = plan.paymenttype
|
||||
rower.rowerplan = plan.shortname
|
||||
rower.subscription_id = result.subscription.id
|
||||
@@ -293,19 +293,18 @@ def update_subscription(rower, data, method='up'):
|
||||
l=rower.user.last_name,
|
||||
)
|
||||
|
||||
if rower.paidplan != 'coach':
|
||||
try:
|
||||
coachgroup = rower.mycoachgroup
|
||||
except CoachingGroup.DoesNotExist: # pragma: no cover
|
||||
coachgroup = CoachingGroup()
|
||||
coachgroup.save()
|
||||
rower.mycoachgroup = coachgroup
|
||||
rower.save()
|
||||
try:
|
||||
coachgroup = rower.mycoachgroup
|
||||
except CoachingGroup.DoesNotExist: # pragma: no cover
|
||||
coachgroup = CoachingGroup()
|
||||
coachgroup.save()
|
||||
rower.mycoachgroup = coachgroup
|
||||
rower.save()
|
||||
|
||||
athletes = Rower.objects.filter(
|
||||
coachinggroups__in=[rower.mycoachgroup]).distinct()
|
||||
for athlete in athletes: # pragma: no cover
|
||||
athlete.coachinggroups.remove(rower.mycoachgroup)
|
||||
athletes = Rower.objects.filter(
|
||||
coachinggroups__in=[rower.mycoachgroup]).distinct()
|
||||
for athlete in athletes: # pragma: no cover
|
||||
athlete.coachinggroups.remove(rower.mycoachgroup)
|
||||
|
||||
if method == 'up':
|
||||
transactions = result.subscription.transactions
|
||||
|
||||
@@ -891,7 +891,7 @@ class PaidPlan(models.Model):
|
||||
|
||||
active = models.BooleanField(default=True)
|
||||
|
||||
clubsize = models.IntegerField(default=0)
|
||||
clubsize = models.IntegerField(default=10)
|
||||
|
||||
def __str__(self):
|
||||
return '{name} - {shortname} at {price:.2f} EURO ({paymenttype} payment)'.format(
|
||||
@@ -1034,7 +1034,7 @@ class Rower(models.Model):
|
||||
|
||||
planexpires = models.DateField(default=current_day)
|
||||
teamplanexpires = models.DateField(default=current_day)
|
||||
clubsize = models.IntegerField(default=0)
|
||||
clubsize = models.IntegerField(default=10)
|
||||
protrialexpires = models.DateField(default=datetime.date(1970, 1, 1))
|
||||
plantrialexpires = models.DateField(default=datetime.date(1970, 1, 1))
|
||||
coachtrialexpires = models.DateField(default=datetime.date(1970, 1, 1))
|
||||
@@ -1427,12 +1427,6 @@ def check_teams_on_change(sender, **kwargs):
|
||||
m2m_changed.connect(check_teams_on_change, sender=Rower.team.through)
|
||||
|
||||
|
||||
# @receiver(models.signals.post_save,sender=Rower)
|
||||
# def auto_delete_teams_on_change(sender, instance, **kwargs):
|
||||
# if instance.rowerplan != 'coach':
|
||||
# teams = Team.objects.filter(manager=instance.user)
|
||||
# for team in teams:
|
||||
# team.delete()
|
||||
|
||||
favchartlabelsx = axlabels.copy()
|
||||
favchartlabelsy1 = axlabels.copy()
|
||||
@@ -5186,7 +5180,7 @@ class AccountRowerForm(ModelForm):
|
||||
def __init__(self, *args, **kwargs):
|
||||
|
||||
super(AccountRowerForm, self).__init__(*args, **kwargs)
|
||||
if 'coach' not in self.instance.rowerplan:
|
||||
if 'pro' not in self.instance.rowerplan:
|
||||
self.fields.pop('offercoaching')
|
||||
|
||||
try:
|
||||
|
||||
@@ -214,8 +214,12 @@ def summaryfromsplitdata(splitdata, data, filename, sep='|', workouttype='rower'
|
||||
except (ZeroDivisionError, OverflowError): # pragma: no cover
|
||||
restpace = 0.
|
||||
|
||||
velo = totaldist/totaltime
|
||||
avgpower = 2.8*velo**(3.0)
|
||||
try:
|
||||
velo = totaldist/totaltime
|
||||
avgpower = 2.8*velo**(3.0)
|
||||
except (ZeroDivisionError, OverflowError): # pragma: no cover
|
||||
velo = 0
|
||||
avgpower = 0
|
||||
if workouttype in ['bike', 'bikeerg']: # pragma: no cover
|
||||
velo = velo/2.
|
||||
avgpower = 2.8*velo**(3.0)
|
||||
|
||||
@@ -50,26 +50,3 @@ class SimpleViewTest(TestCase):
|
||||
expected_url='/rowers/list-workouts/',
|
||||
status_code=302,target_status_code=200)
|
||||
|
||||
def test_start_plantrial(self):
|
||||
login = self.c.login(username=self.u.username, password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
url = '/rowers/startplantrial/'
|
||||
|
||||
response = self.c.get(url,follow=True)
|
||||
|
||||
self.assertRedirects(response,
|
||||
expected_url='/rowers/list-workouts/',
|
||||
status_code=302,target_status_code=200)
|
||||
|
||||
def test_start_coachtrial(self):
|
||||
login = self.c.login(username=self.u.username, password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
url = '/rowers/startcoachtrial/'
|
||||
|
||||
response = self.c.get(url,follow=True)
|
||||
|
||||
self.assertRedirects(response,
|
||||
expected_url='/rowers/list-workouts/',
|
||||
status_code=302,target_status_code=200)
|
||||
|
||||
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
Binary file not shown.
@@ -846,10 +846,6 @@ urlpatterns = [
|
||||
re_path(r'^purchasecheckouts/$', views.purchase_checkouts_view,
|
||||
name='purchase_checkouts_view'),
|
||||
re_path(r'^starttrial/$', views.start_trial_view, name='start_trial_view'),
|
||||
re_path(r'^startplantrial/$', views.start_plantrial_view,
|
||||
name='start_plantrial_view'),
|
||||
re_path(r'^startcoachtrial/$', views.start_coachtrial_view,
|
||||
name='start_coachtrial_view'),
|
||||
re_path(r'^legal', TemplateView.as_view(
|
||||
template_name='legal.html'), name='legal'),
|
||||
re_path(r'^register/$', views.rower_register_view,
|
||||
|
||||
@@ -68,7 +68,7 @@ def plannedsessions_coach_icsemail_view(request, userid=0):
|
||||
startdate, enddate = get_dates_timeperiod(request)
|
||||
startdate = startdate.date()
|
||||
enddate = enddate.date()
|
||||
if 'coach' in request.user.rower.rowerplan:
|
||||
if 'pro' in request.user.rower.rowerplan:
|
||||
sps = get_sessions_manager(request.user, teamid=0,
|
||||
enddate=enddate,
|
||||
startdate=startdate)
|
||||
@@ -82,7 +82,7 @@ def plannedsessions_coach_icsemail_view(request, userid=0):
|
||||
rowers = []
|
||||
|
||||
for ps in sps: # pragma: no cover
|
||||
if 'coach' in request.user.rower.rowerplan:
|
||||
if 'pro' in request.user.rower.rowerplan:
|
||||
rowers += ps.rower.all().exclude(rowerplan='freecoach')
|
||||
else:
|
||||
rowers += ps.rower.filter(
|
||||
|
||||
@@ -1392,9 +1392,9 @@ def iscoachmember(user):
|
||||
r.save()
|
||||
|
||||
if user.is_authenticated:
|
||||
if 'coach' in r.rowerplan:
|
||||
if 'pro' in r.rowerplan:
|
||||
return True
|
||||
elif r.coachtrialexpires >= timezone.now().date():
|
||||
elif r.protrialexpires >= timezone.now().date():
|
||||
return True
|
||||
|
||||
|
||||
|
||||
@@ -21,9 +21,6 @@ def team_view(request, team_id=0, userid=0):
|
||||
|
||||
t = get_object_or_404(Team, pk=team_id)
|
||||
|
||||
# if r.rowerplan == 'basic' and t.manager.rower.rowerplan != 'coach':
|
||||
# raise PermissionDenied("You need to be on a Paid Plan to see or join this team")
|
||||
|
||||
q = User.objects.filter(rower__isnull=False, rower__team__in=myteams).distinct(
|
||||
).exclude(rower__team__name=t.name)
|
||||
mygroups = [request.user.rower.mycoachgroup]
|
||||
@@ -176,7 +173,7 @@ def get_teams(request):
|
||||
rower=r).exclude(manager=request.user).order_by('name')
|
||||
|
||||
if user_is_basic(request.user):
|
||||
otherteams = otherteams.filter(manager__rower__rowerplan='coach')
|
||||
otherteams = otherteams.filter(manager__rower__rowerplan='pro')
|
||||
|
||||
return myteams, memberteams, otherteams
|
||||
|
||||
@@ -224,7 +221,7 @@ def rower_teams_view(request): # pragma: no cover
|
||||
coaches = teams.rower_get_coaches(r)
|
||||
|
||||
potentialcoaches = [
|
||||
t.manager for t in memberteams if t.manager not in coaches and 'coach' in t.manager.rower.rowerplan]
|
||||
t.manager for t in memberteams if t.manager not in coaches and 'pro' in t.manager.rower.rowerplan]
|
||||
offercoaches = [
|
||||
r.user for r in Rower.objects.all().exclude(user=request.user) if r.can_coach()
|
||||
]
|
||||
|
||||
@@ -27,7 +27,7 @@ def deactivate_user(request):
|
||||
r.paidplan = None
|
||||
r.teamplanexpires = timezone.now()
|
||||
r.planexpires = timezone.now()
|
||||
r.clubsize = 0
|
||||
r.clubsize = 10
|
||||
r.rowerplan = 'basic'
|
||||
r.save()
|
||||
|
||||
@@ -142,40 +142,6 @@ def survey(request): # pragma: no cover
|
||||
|
||||
return render(request, 'survey.html', context)
|
||||
|
||||
@login_required()
|
||||
def start_coachtrial_view(request):
|
||||
r = getrower(request.user)
|
||||
|
||||
if not can_start_coachtrial(request.user): # pragma: no cover
|
||||
messages.error(request, 'You do not qualify for a coach trial')
|
||||
url = '/rowers/paidplans'
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
r.coachtrialexpires = timezone.now()+datetime.timedelta(13)
|
||||
r.clubsize = 2
|
||||
r.save()
|
||||
|
||||
url = reverse('workouts_view')
|
||||
|
||||
messages.info(request, 'We have started your 14 day coach trial period')
|
||||
|
||||
subject2 = "User started Coach Trial"
|
||||
message2 = "User Started Coach Trial.\n"
|
||||
message2 += request.user.email + "\n"
|
||||
message2 += "User name: "+request.user.username
|
||||
|
||||
send_mail(subject2, message2,
|
||||
'Rowsandall Server <info@rowsandall.com>',
|
||||
['roosendaalsander@gmail.com'])
|
||||
|
||||
send_template_email('Rowsandall <info@rowsandall.com>',
|
||||
[r.user.email],
|
||||
'Welcome to the Rowsandall Coach Trial',
|
||||
'coachtrialwelcome.html',
|
||||
{'first_name': r.user.first_name,
|
||||
'last_name': r.user.last_name})
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
@login_required()
|
||||
def start_trial_view(request):
|
||||
@@ -212,40 +178,6 @@ def start_trial_view(request):
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
|
||||
@login_required()
|
||||
def start_plantrial_view(request):
|
||||
r = getrower(request.user)
|
||||
|
||||
if not can_start_plantrial(request.user): # pragma: no cover
|
||||
messages.error(request, 'You do not qualify for a trial')
|
||||
url = '/rowers/paidplans'
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
r.plantrialexpires = timezone.now()+datetime.timedelta(13)
|
||||
r.protrialexpires = timezone.now()+datetime.timedelta(13)
|
||||
r.save()
|
||||
|
||||
url = reverse('workouts_view')
|
||||
|
||||
messages.info(request, 'We have started your 14 day trial period')
|
||||
|
||||
subject2 = "User started Plan Trial"
|
||||
message2 = "User Started Plan Trial.\n"
|
||||
message2 += request.user.email + "\n"
|
||||
message2 += "User name: "+request.user.username
|
||||
|
||||
send_mail(subject2, message2,
|
||||
'Rowsandall Server <info@rowsandall.com>',
|
||||
['roosendaalsander@gmail.com'])
|
||||
|
||||
send_template_email('Rowsandall <info@rowsandall.com>',
|
||||
[r.user.email],
|
||||
'Welcome to the Rowsandall Self-Coach Trial',
|
||||
'plantrialwelcome.html',
|
||||
{'first_name': r.user.first_name,
|
||||
'last_name': r.user.last_name})
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
@login_required()
|
||||
def user_messages_delete_all(request, userid=0):
|
||||
|
||||
Reference in New Issue
Block a user