You can organize fastest challenges and register but submission does not work yet
This commit is contained in:
@@ -2706,6 +2706,153 @@ def indoorvirtualevent_create_view(request):
|
||||
|
||||
})
|
||||
|
||||
@login_required()
|
||||
def fastestvirtualevent_create_view(request):
|
||||
r = getrower(request.user)
|
||||
|
||||
if request.method == 'POST':
|
||||
racecreateform = IndoorVirtualRaceForm(request.POST)
|
||||
if racecreateform.is_valid():
|
||||
cd = racecreateform.cleaned_data
|
||||
startdate = cd['startdate']
|
||||
start_time = cd['start_time']
|
||||
enddate = cd['enddate']
|
||||
end_time = cd['end_time']
|
||||
comment = cd['comment']
|
||||
sessionunit = cd['sessionunit']
|
||||
sessionvalue = cd['sessionvalue']
|
||||
name = cd['name']
|
||||
registration_form = cd['registration_form']
|
||||
registration_closure = cd['registration_closure']
|
||||
evaluation_closure = cd['evaluation_closure']
|
||||
contact_phone = cd['contact_phone']
|
||||
contact_email = cd['contact_email']
|
||||
coursestandards = cd['coursestandards']
|
||||
|
||||
# correct times
|
||||
|
||||
timezone_str = cd['timezone']
|
||||
|
||||
startdatetime = datetime.datetime.combine(startdate,start_time)
|
||||
enddatetime = datetime.datetime.combine(enddate,end_time)
|
||||
|
||||
|
||||
startdatetime = pytz.timezone(timezone_str).localize(
|
||||
startdatetime
|
||||
)
|
||||
enddatetime = pytz.timezone(timezone_str).localize(
|
||||
enddatetime
|
||||
)
|
||||
evaluation_closure = pytz.timezone(timezone_str).localize(
|
||||
evaluation_closure.replace(tzinfo=None)
|
||||
)
|
||||
|
||||
if registration_form == 'manual':
|
||||
try:
|
||||
registration_closure = pytz.timezone(
|
||||
timezone_str
|
||||
).localize(
|
||||
registration_closure.replace(tzinfo=None)
|
||||
)
|
||||
except AttributeError:
|
||||
registration_closure = startdatetime
|
||||
elif registration_form == 'windowstart':
|
||||
registration_closure = startdatetime
|
||||
elif registration_form == 'windowend':
|
||||
registration_closure = enddatetime
|
||||
else:
|
||||
registration_closure = evaluation_closure
|
||||
|
||||
if sessionunit == 'min':
|
||||
sessionmode = 'time'
|
||||
sessiontype = 'fastest_time'
|
||||
else:
|
||||
sessionmode = 'distance'
|
||||
sessiontype = 'fastest_distance'
|
||||
|
||||
|
||||
vs = VirtualRace(
|
||||
name=name,
|
||||
startdate=startdate,
|
||||
preferreddate = startdate,
|
||||
start_time = start_time,
|
||||
enddate=enddate,
|
||||
end_time=end_time,
|
||||
comment=comment,
|
||||
sessiontype = sessiontype,
|
||||
sessionunit = sessionunit,
|
||||
sessionmode = sessionmode,
|
||||
sessionvalue = sessionvalue,
|
||||
course=None,
|
||||
timezone=timezone_str,
|
||||
coursestandards=coursestandards,
|
||||
evaluation_closure=evaluation_closure,
|
||||
registration_closure=registration_closure,
|
||||
contact_phone=contact_phone,
|
||||
contact_email=contact_email,
|
||||
country = 'Indoor',
|
||||
manager=request.user,
|
||||
)
|
||||
|
||||
vs.save()
|
||||
|
||||
# create Site Announcement & Tweet
|
||||
if settings.DEBUG or settings.TESTING:
|
||||
dotweet = False
|
||||
elif 'dev' in settings.SITE_URL:
|
||||
dotweet = False
|
||||
else:
|
||||
dotweet = True
|
||||
|
||||
announcementshort = "New Virtual Challenge on rowsandall.com: {name}".format(
|
||||
name = name,
|
||||
)
|
||||
|
||||
announcement = announcementshort + " {siteurl}/rowers/virtualevent/{raceid}/".format(
|
||||
siteurl = SITE_URL,
|
||||
raceid = vs.id
|
||||
)
|
||||
|
||||
|
||||
if len(announcement)>250:
|
||||
announcement = announcementshort
|
||||
|
||||
sa = SiteAnnouncement(
|
||||
announcement = announcement,
|
||||
dotweet = dotweet
|
||||
)
|
||||
|
||||
sa.save()
|
||||
|
||||
url = reverse('virtualevents_view')
|
||||
return HttpResponseRedirect(url)
|
||||
else:
|
||||
|
||||
racecreateform = IndoorVirtualRaceForm(timezone=r.defaulttimezone)
|
||||
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url':reverse('virtualevents_view'),
|
||||
'name': 'Challenges'
|
||||
},
|
||||
{
|
||||
'url':reverse('indoorvirtualevent_create_view',
|
||||
),
|
||||
'name': 'New Indoor Virtual Regatta'
|
||||
},
|
||||
]
|
||||
|
||||
return render(request,'fastestvirtualeventcreate.html',
|
||||
{
|
||||
'form':racecreateform,
|
||||
'breadcrumbs':breadcrumbs,
|
||||
'rower':r,
|
||||
'active':'nav-racing',
|
||||
|
||||
})
|
||||
|
||||
|
||||
@login_required()
|
||||
def virtualevent_create_view(request):
|
||||
r = getrower(request.user)
|
||||
|
||||
Reference in New Issue
Block a user