not sure if this works
This commit is contained in:
@@ -88,7 +88,7 @@ from rowers.models import (
|
||||
microcyclecheckdates,mesocyclecheckdates,macrocyclecheckdates,
|
||||
TrainingMesoCycleForm, TrainingMicroCycleForm,
|
||||
RaceLogo,RowerBillingAddressForm,PaidPlan,
|
||||
PlannedSessionComment,
|
||||
PlannedSessionComment,CoachRequest,CoachOffer,
|
||||
)
|
||||
from rowers.models import (
|
||||
RowerPowerForm,RowerForm,GraphImage,AdvancedWorkoutForm,
|
||||
|
||||
@@ -166,12 +166,35 @@ def rower_teams_view(request,message='',successmessage=''):
|
||||
|
||||
myteams, memberteams, otherteams = get_teams(request)
|
||||
teams.remove_expired_invites()
|
||||
|
||||
|
||||
invites = TeamInvite.objects.filter(user=request.user)
|
||||
requests = TeamRequest.objects.filter(user=request.user)
|
||||
myrequests = TeamRequest.objects.filter(team__in=myteams)
|
||||
myinvites = TeamInvite.objects.filter(team__in=myteams)
|
||||
|
||||
# user invites (as coach)
|
||||
mycoachoffers = CoachOffer.objects.filter(coach=r)
|
||||
# user is invited (by coach)
|
||||
coachoffers = CoachOffer.objects.filter(user=r.user)
|
||||
|
||||
# user requests a coach
|
||||
mycoachrequests = CoachRequest.objects.filter(user=r.user)
|
||||
# user is requested to coach
|
||||
coachrequests = CoachRequest.objects.filter(coach=r)
|
||||
|
||||
invitedathletes = [rekwest.user for rekwest in mycoachoffers]
|
||||
invitedcoaches = [rekwest.coach for rekwest in mycoachrequests]
|
||||
|
||||
coaches = rower_get_coaches(r)
|
||||
potentialcoaches = [t.manager for t in memberteams if t.manager not in coaches ]
|
||||
potentialcoaches = [c for c in potentialcoaches if c.rower not in invitedcoaches]
|
||||
coachees = teams.coach_getcoachees(r)
|
||||
|
||||
potentialathletes = Rower.objects.filter(
|
||||
team__in=myteams).exclude(
|
||||
user__in=invitedathletes).exclude(user=request.user)
|
||||
|
||||
|
||||
# clubsize = teams.count_invites(request.user)+teams.count_club_members(request.user)
|
||||
# max_clubsize = r.clubsize
|
||||
|
||||
@@ -184,6 +207,7 @@ def rower_teams_view(request,message='',successmessage=''):
|
||||
'name': 'Teams'
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
return render(request, 'teams.html',
|
||||
{
|
||||
@@ -198,6 +222,14 @@ def rower_teams_view(request,message='',successmessage=''):
|
||||
'myrequests':myrequests,
|
||||
'form':form,
|
||||
'myinvites':myinvites,
|
||||
'mycoachrequests':mycoachrequests,
|
||||
'mycoachoffers':mycoachoffers,
|
||||
'coachrequests':coachrequests,
|
||||
'coachoffers':coachoffers,
|
||||
'coaches':coaches,
|
||||
'potentialcoaches':potentialcoaches,
|
||||
'coachees':coachees,
|
||||
'potentialathletes':potentialathletes,
|
||||
})
|
||||
|
||||
@login_required()
|
||||
@@ -276,6 +308,71 @@ def team_requestmembership_view(request,teamid,userid):
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
@login_required()
|
||||
def request_coaching_view(request,coachid):
|
||||
r = getrequestrower(request)
|
||||
|
||||
coach = User.objects.get(id=coachid).rower
|
||||
|
||||
if coach.rowerplan == 'coach':
|
||||
res,text = teams.create_coaching_request(coach,request.user)
|
||||
if res:
|
||||
messages.info(request,text)
|
||||
else:
|
||||
messages.error(request,text)
|
||||
else:
|
||||
messages.error(request,'That person is not a coach')
|
||||
|
||||
url = reverse('rower_teams_view')
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
@user_passes_test(iscoachmember,login_url="/rowers/paidplans",redirect_field_name=None)
|
||||
def offer_coaching_view(request,userid):
|
||||
try:
|
||||
u = User.objects.get(id=userid)
|
||||
except User.DoesNotExist:
|
||||
raise Http404("This user doesn't exist")
|
||||
|
||||
coach = getrequestrower(request)
|
||||
|
||||
res,text = teams.create_coaching_invite(coach,u)
|
||||
|
||||
if res:
|
||||
message.info(request,text)
|
||||
else:
|
||||
messages.error(request,text)
|
||||
|
||||
url = reverse('rower_teams_view')
|
||||
|
||||
return HttpResponseRedirecet(url)
|
||||
|
||||
@login_required()
|
||||
def reject_revoke_coach_request(request,id=0):
|
||||
res, text = teams.reject_revoke_coach_request(request.user,id)
|
||||
|
||||
if res:
|
||||
messages.info(request,text)
|
||||
else:
|
||||
messages.error(request,text)
|
||||
|
||||
url = reverse('rower_teams_view')
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
@login_required()
|
||||
def reject_revoke_coach_offer(request,id=0):
|
||||
res, text = teams.reject_revoke_coach_offer(request.user,id)
|
||||
|
||||
if res:
|
||||
messages.info(request,text)
|
||||
else:
|
||||
messages.error(request,text)
|
||||
|
||||
url = reverse('rower_teams_view')
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
@login_required()
|
||||
def request_revoke_view(request,id=0):
|
||||
res,text = teams.revoke_request(request.user,id)
|
||||
@@ -559,3 +656,27 @@ def team_members_stats_view(request,id):
|
||||
})
|
||||
|
||||
return response
|
||||
|
||||
@login_required()
|
||||
def rower_accept_coachoffer_view(request,code=None):
|
||||
if code:
|
||||
res, text = teams.process_coachoffer_code(request.user,code)
|
||||
if res:
|
||||
message.info(request,text)
|
||||
else:
|
||||
messages.error(request,text)
|
||||
|
||||
url = reverse('rower_teams_view')
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
@login_required()
|
||||
def coach_accept_coachrequest_view(request,code=None):
|
||||
if code:
|
||||
res, text = teams.process_coachrequest_code(request.user.rower,code)
|
||||
if res:
|
||||
messages.info(request,text)
|
||||
else:
|
||||
messages.error(request,text)
|
||||
|
||||
url = reverse('rower_teams_view')
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
Reference in New Issue
Block a user