diff --git a/rowers/templates/virtualevent.html b/rowers/templates/virtualevent.html
index 338d1805..07dae4e3 100644
--- a/rowers/templates/virtualevent.html
+++ b/rowers/templates/virtualevent.html
@@ -160,6 +160,7 @@
Time |
Distance |
Details |
+ |
@@ -182,6 +183,15 @@
Details |
+
+ {% if race.manager == request.user %}
+
+ Disqualify
+
+ {% else %}
+
+ {% endif %}
+ |
{% endfor %}
{% for result in dns %}
diff --git a/rowers/urls.py b/rowers/urls.py
index eeea79e5..8fcd905a 100644
--- a/rowers/urls.py
+++ b/rowers/urls.py
@@ -154,6 +154,8 @@ urlpatterns = [
url(r'^virtualevent/(?P\d+)/withdraw$',views.virtualevent_withdraw_view),
url(r'^virtualevent/(?P\d+)/submit$',
views.virtualevent_submit_result_view),
+ url(r'^virtualevent/(?P\d+)/disqualify/(?P\d+)/',
+ views.virtualevent_disqualify_view),
url(r'^list-workouts/$',views.workouts_view),
url(r'^list-courses/$',views.courses_view),
url(r'^courses/upload$',views.course_upload_view),
diff --git a/rowers/views.py b/rowers/views.py
index 3ddb7653..2b048024 100644
--- a/rowers/views.py
+++ b/rowers/views.py
@@ -15832,6 +15832,46 @@ def virtualevents_view(request):
}
)
+@login_required()
+def virtualevent_disqualify_view(request,raceid=0,recordid=0):
+
+ r = getrower(request.user)
+
+ # datum moet voor race evaluation date zijn (ook in template controleren)
+
+
+ try:
+ race = VirtualRace.objects.get(id=raceid)
+ except VirtualRace.DoesNotExist:
+ raise Http404("Virtual Race does not exist")
+
+ if r.user != race.manager:
+ raise PermissionDenied("Access denied")
+
+ if race.sessiontype == 'race':
+ recordobj = VirtualRaceResult
+ else:
+ recordobj = IndoorVirtualRaceResult
+
+ if timezone.now() > race.evaluation_closure:
+ try:
+ record = recordobj.objects.get(id=recordid)
+
+
+ messages.info(request,"We have invalidated the result for: "+str(record))
+
+ record.coursecompleted = False
+ record.save()
+ print record.coursecompleted
+ except recordobj.DoesNotExist:
+ messages.error(request,"We couldn't find the record")
+ else:
+ messages.error(request,"The evaluation is already closed and the results are official")
+
+ url = reverse(virtualevent_view,kwargs={'id':raceid})
+
+ return HttpResponseRedirect(url)
+
def virtualevent_view(request,id=0):
results = []
@@ -15948,6 +15988,7 @@ def virtualevent_view(request,id=0):
results = resultobj.objects.filter(
race=race,
workoutid__isnull=False,
+ coursecompleted=True,
).order_by("duration","-distance")
if results: