Private
Public Access
1
0

passing tests - teams can be created

This commit is contained in:
Sander Roosendaal
2019-02-15 21:11:00 +01:00
parent 9bb7c3bef2
commit 948fbf76ee
7 changed files with 120 additions and 60 deletions

View File

@@ -928,6 +928,23 @@ def iscoachmember(user):
return result
def cancreateteam(user):
if user.is_anonymous():
return False
try:
r = Rower.objects.get(user=user)
except Rower.DoesNotExist:
r = Rower(user=user)
r.save()
if user.is_authenticated() and (r.rowerplan=='coach'):
return True
elif user.is_athenticated() and r.rowerplan in ['plan','pro']:
ts = Team.objects.filter(manager=user)
if len(otherteams) >= 1:
return False
# Check if a user can create planned sessions
def hasplannedsessions(user):
if not user.is_anonymous():

View File

@@ -254,6 +254,15 @@ def team_requestmembership_view(request,teamid,userid):
t = Team.objects.get(id=teamid)
except Team.DoesNotExist:
raise Http404("Team doesn't exist")
r = getrequestrower(request,userid=userid)
if t.manager.rower.rowerplan in ['plan','pro'] and r.rowerplan == 'basic':
messages.error(request,
"You have to be on a paid plan (Pro or higher) to join this team. As a basic user you can only join teams managed by users on the Coach plan.")
url = reverse('paidplans')
return HttpResponseRedirect(url)
res,text = teams.create_request(t,userid)
if res:
@@ -395,8 +404,19 @@ def team_edit_view(request,id=0):
'team':t,
})
@user_passes_test(iscoachmember,login_url="/rowers/paidplans",redirect_field_name=None)
#@user_passes_test(cancreateteam,login_url="/rowers/paidplans",redirect_field_name=None)
@login_required()
def team_create_view(request):
r = getrequestrower(request)
if r.rowerplan == 'basic':
if r.protrialexpires < timezone.now().date() and r.plantrialexpires < timezone.now().date():
messages.error(request,"You must upgrade to Pro or higher to create teams/training groups")
url = reverse('paidplans')
return HttpResponseRedirect(url)
if request.method == 'POST':
teamcreateform = TeamForm(request.POST)
if teamcreateform.is_valid():
@@ -408,6 +428,12 @@ def team_create_view(request):
viewing = cd['viewing']
res,message=teams.create_team(name,manager,private,notes,
viewing)
if not res:
messages.error(request,message)
url = reverse('paidplans')
return HttpResponseRedirect(url)
url = reverse('rower_teams_view')
response = HttpResponseRedirect(url)
return response
@@ -438,7 +464,7 @@ def team_create_view(request):
'breadcrumbs':breadcrumbs,
})
@user_passes_test(iscoachmember,login_url="/rowers/paidplans",redirect_field_name=None)
@login_required()
def team_deleteconfirm_view(request,id):
r = getrower(request.user)
try:
@@ -474,7 +500,7 @@ def team_deleteconfirm_view(request,id):
'active':'nav-teams',
})
@user_passes_test(iscoachmember,login_url="/rowers/paidplans",redirect_field_name=None)
@login_required()
def team_delete_view(request,id):
r = getrower(request.user)
try: