diff --git a/rowers/templates/plannedsessionview.html b/rowers/templates/plannedsessionview.html index 662063eb..dc96de68 100644 --- a/rowers/templates/plannedsessionview.html +++ b/rowers/templates/plannedsessionview.html @@ -88,7 +88,10 @@ {{ workout.distance }}m - {{ workout.duration |durationprint:"%H:%M:%S.%f" }} + {{ workout.duration |durationprint:"%H:%M:%S.%f" }} + + Detach + {% endfor %} diff --git a/rowers/urls.py b/rowers/urls.py index 8b00c5fb..c46a3ae1 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -492,6 +492,8 @@ urlpatterns = [ url(r'^sessions/(?P\d+)/edit/user/(?P\d+)/$',views.plannedsession_edit_view), url(r'^sessions/(?P\d+)/clone/user/(?P\d+)/$',views.plannedsession_clone_view), url(r'^sessions/(?P\d+)/clone/$',views.plannedsession_clone_view), + url(r'^sessions/(?P\d+)/detach/(?P\d+)/user/(?P\d+)/$',views.plannedsession_detach_view), + url(r'^sessions/(?P\d+)/detach/(?P\d+)/$',views.plannedsession_detach_view), url(r'^sessions/(?P\d+)/$',views.plannedsession_view, name='plannedsession_view'), url(r'^sessions/(?P\d+)/user/(?P\d+)/$',views.plannedsession_view, diff --git a/rowers/views.py b/rowers/views.py index 4530f252..e288989c 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -15410,6 +15410,26 @@ def plannedsession_edit_view(request,id=0,userid=0): }) +@login_required() +def plannedsession_detach_view(request,id=0,psid=0): + + r = getrequestrower(request) + + try: + ps = PlannedSession.objects.get(id=psid) + except PlannedSession.DoesNotExist: + raise Http404("Planned Session does not exist") + + w = get_workout(id) + + if (checkworkoutuser(request.user,w)==False): + return HttpResponseForbidden("Permission Error") + + remove_workout_plannedsession(w,ps) + + url = reverse(plannedsession_view,kwargs={'id':psid}) + + return HttpResponseRedirect(url) @login_required() def plannedsession_view(request,id=0,userid=0):