Private
Public Access
1
0

Merge branch 'develop' into feature/mapcompare

This commit is contained in:
Sander Roosendaal
2020-06-02 21:04:13 +02:00
9 changed files with 246 additions and 20 deletions

View File

@@ -1625,6 +1625,39 @@ def virtualevent_addboat_view(request,id=0):
"You have successfully registered for this race. Good luck!"
)
otherrecords = VirtualRaceResult.objects.filter(
race = race).exclude(userid = r.id)
for otherrecord in otherrecords:
otheruser = Rower.objects.get(id=otherrecord.userid)
othername = otheruser.user.first_name+' '+otheruser.user.last_name
registeredname = r.user.first_name+' '+r.user.last_name
if otherrecord.emailnotifications:
job = myqueue(
queue,
handle_sendemail_raceregistration,
otheruser.user.email, othername,
registeredname,
race.name,
race.id
)
followers = VirtualRaceFollower.objects.filter(race = race)
for follower in followers:
othername = ''
if follower.user:
othername = follower.user.first_name+' '+follower.user.last_name
registeredname = r.user.first_name+' '+r.user.last_name
email = follower.emailaddress
job = myqueue(
queue,
handle_sendemail_raceregistration,
email, othername,
registeredname,race.name,race.id,
)
url = reverse('virtualevent_view',
kwargs = {
'id':race.id
@@ -1804,7 +1837,12 @@ def virtualevent_register_view(request,id=0):
add_rower_race(r,race)
otherrecords = IndoorVirtualRaceResult.objects.filter(
# remove followers
myfollows = VirtualRaceFollower.objects.filter(user=r.user,race=race)
for f in myfollows:
f.delete()
otherrecords = VirtualRaceResult.objects.filter(
race = race).exclude(userid = r.id)
for otherrecord in otherrecords:
@@ -1821,6 +1859,22 @@ def virtualevent_register_view(request,id=0):
race.id
)
followers = VirtualRaceFollower.objects.filter(race = race)
for follower in followers:
othername = ''
if follower.user:
othername = follower.user.first_name+' '+follower.user.last_name
registeredname = r.user.first_name+' '+r.user.last_name
email = follower.emailaddress
job = myqueue(
queue,
handle_sendemail_raceregistration,
email, othername,
registeredname,race.name,race.id,
)
messages.info(
request,
@@ -2039,6 +2093,11 @@ def indoorvirtualevent_register_view(request,id=0):
add_rower_race(r,race)
# remove followers
myfollows = VirtualRaceFollower.objects.filter(user=r.user,race=race)
for f in myfollows:
f.delete()
otherrecords = IndoorVirtualRaceResult.objects.filter(
race = race).exclude(userid = r.id)
@@ -2056,6 +2115,22 @@ def indoorvirtualevent_register_view(request,id=0):
race.id
)
followers = VirtualRaceFollower.objects.filter(race = race)
for follower in followers:
othername = ''
if follower.user:
othername = follower.user.first_name+' '+follower.user.last_name
registeredname = r.user.first_name+' '+r.user.last_name
email = follower.emailaddress
job = myqueue(
queue,
handle_sendemail_raceregistration,
email, othername,
registeredname,race.name,race.id,
)
messages.info(
request,
@@ -2734,6 +2809,7 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0):
if not jobid:
messages.info(request,"Result submitted successfully.")
for otherrecord in otherrecords:
try:
otheruser = Rower.objects.get(id=otherrecord.userid)
@@ -2751,7 +2827,21 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0):
except Rower.DoesNotExist:
pass
followers = VirtualRaceFollower.objects.filter(race = race)
for follower in followers:
othername = ''
if follower.user:
othername = follower.user.first_name+' '+follower.user.last_name
registeredname = r.user.first_name+' '+r.user.last_name
email = follower.emailaddress
job = myqueue(
queue,
handle_sendemail_racesubmission,
email, othername,
registeredname,race.name,race.id,
)
# redirect to race page
@@ -2820,3 +2910,71 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0):
'rower':r,
'w_form':w_form,
})
def addfollower_view(request,id=0):
try:
race = VirtualRace.objects.get(id=id)
except VirtualRace.DoesNotExist:
raise Http404("Virtual Challenge does not exist")
if not request.user.is_anonymous:
follower = VirtualRaceFollower(
user=request.user,
race=race,
emailaddress = request.user.email
)
follower.save()
messages.info(request,"You will receive challenge notifications per email")
url = reverse(virtualevent_view,
kwargs={'id':id})
return HttpResponseRedirect(url)
# Anonymous
if request.method == 'POST':
form = FollowerForm(request.POST)
if form.is_valid():
email = form.cleaned_data['emailaddress']
follower = VirtualRaceFollower(
race=race,
emailaddress = email
)
follower.save()
messages.info(request,"You will receive challenge notifications per email")
url = reverse(virtualevent_view,
kwargs={'id':id})
return HttpResponseRedirect(url)
else:
form = FollowerForm()
breadcrumbs = [
{
'url':reverse('virtualevents_view'),
'name': 'Challenges'
},
{
'url':reverse('virtualevent_view',
kwargs={'id':race.id}
),
'name': race.name
},
{
'url': reverse(addfollower_view,
kwargs = {'id':race.id}
),
'name': 'Follow'
}
]
return render(request,'followerform.html',
{
'form':form,
'active':'nav-racing',
'breadcrumbs':breadcrumbs,
}
)

View File

@@ -116,6 +116,7 @@ from rowers.models import (
PlannedSessionComment,CoachRequest,CoachOffer,
VideoAnalysis,ShareKey,
StandardCollection,CourseStandard,
VirtualRaceFollower,
)
from rowers.models import (
RowerPowerForm,RowerForm,GraphImage,AdvancedWorkoutForm,
@@ -129,7 +130,8 @@ from rowers.models import (
VirtualRaceForm,VirtualRaceResultForm,RowerImportExportForm,
IndoorVirtualRaceResultForm,IndoorVirtualRaceResult,
IndoorVirtualRaceForm,PlannedSessionCommentForm,
Alert, Condition, StaticChartRowerForm
Alert, Condition, StaticChartRowerForm,
FollowerForm,
)
from rowers.models import (
FavoriteForm,BaseFavoriteFormSet,SiteAnnouncement,BasePlannedSessionFormSet,

View File

@@ -1542,7 +1542,7 @@ def virtualevent_mapcompare_view(request,id=0):
int(w.id): w.__str__() for w in workouts
}
script,div = leaflet_chart_compare(workoutids,
script,div = leaflet_chart_compare(race.course,workoutids,
labeldict=labeldict,
startenddict=startenddict)