Private
Public Access
1
0

TP fix maybe, and form to message racers

This commit is contained in:
Sander Roosendaal
2020-06-06 17:43:16 +02:00
parent 55ad7ce2d9
commit 5aa6d89891
10 changed files with 174 additions and 4 deletions

View File

@@ -172,6 +172,87 @@ def plannedsession_comment_view(request,id=0,userid=0):
'form':form,
})
@login_required
@permission_required('plannedsession.edit_session',fn=get_session_by_pk,raise_exception=True)
def plannedsession_message_view(request,id=0,userid=0):
r = getrequestplanrower(request,userid=userid)
ps = get_object_or_404(PlannedSession,pk=id)
userform = VirtualRaceAthleteForm(instance=ps)
if request.method == 'POST':
userform = VirtualRaceAthleteForm(request.POST,instance=ps)
if userform.is_valid():
subject = userform.cleaned_data['subject']
message = userform.cleaned_data['message']
rowers = userform.cleaned_data['rower']
for participant in rowers:
rowername = participant.user.first_name
fromemail = ps.manager.email
job = myqueue(
queue,
handle_send_template_email,
'virtualracemessage.html',
participant.user.email,
fromemail,
rowername,
subject,
message,
)
url = reverse('virtualevent_view',kwargs={'id':ps.id})
return HttpResponseRedirect(url)
if ps.sessiontype in ['race','indoorrace']:
breadcrumbs = [
{
'url':reverse('virtualevents_view'),
'name': 'Races'
},
{
'url': reverse('virtualevent_view',kwargs={'id':ps.id}),
'name': ps.name
},
{
'url':reverse('plannedsession_comment_view',kwargs={'id':ps.id}),
'name': 'Comments'
}
]
active = 'nav-racing'
else:
breadcrumbs = [
{
'url':reverse('plannedsessions_view'),
'name': 'Sessions'
},
{
'url': reverse('plannedsession_view',kwargs={'id':ps.id}),
'name': ps.name
},
{
'url':reverse('plannedsession_comment_view',kwargs={'id':ps.id}),
'name': 'Comments'
}
]
active = 'nav-plan'
return render(request,
'plannedsession_message.html',
{'plannedsession':ps,
'rower':r,
'breadcrumbs':breadcrumbs,
'active':active,
'userform':userform,
})
# Cloning sessions
@user_passes_test(can_plan,login_url="/rowers/paidplans/",
message="This functionality requires a Coach or Self-Coach plan",

View File

@@ -131,7 +131,7 @@ from rowers.models import (
IndoorVirtualRaceResultForm,IndoorVirtualRaceResult,
IndoorVirtualRaceForm,PlannedSessionCommentForm,
Alert, Condition, StaticChartRowerForm,
FollowerForm,
FollowerForm,VirtualRaceAthleteForm,
)
from rowers.models import (
FavoriteForm,BaseFavoriteFormSet,SiteAnnouncement,BasePlannedSessionFormSet,
@@ -198,6 +198,7 @@ from rowers.tasks import handle_makeplot,handle_otwsetpower,handle_sendemailtcx,
from rowers.tasks import (
handle_sendemail_unrecognized,handle_sendemailnewcomment,
handle_sendemailsummary,
handle_send_template_email,
handle_send_disqualification_email,
handle_send_withdraw_email,
handle_sendemailfile,