From 478b6f2fa03c15360e3e1a1d73f1ca04596e5c1a Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Wed, 15 Feb 2017 12:58:38 +0100 Subject: [PATCH] added set private/public to workout edit form --- rowers/templates/workout_form.html | 11 ++++- rowers/urls.py | 2 + rowers/views.py | 64 ++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 1 deletion(-) diff --git a/rowers/templates/workout_form.html b/rowers/templates/workout_form.html index 1c085c73..356a245a 100644 --- a/rowers/templates/workout_form.html +++ b/rowers/templates/workout_form.html @@ -69,7 +69,16 @@ {{ form.as_table }} {% csrf_token %} -
+
+ {% if workout.privacy == 'visible' %} + Set Private + Only you can see this workout + {% else %} + Make Public + Make this workout visible to your teams and followers + {% endif %} +
+
diff --git a/rowers/urls.py b/rowers/urls.py index 8b4a1137..37ec074b 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -157,6 +157,8 @@ urlpatterns = [ url(r'^workout/(?P\d+)/edit/c/(?P.+.*)$',views.workout_edit_view), url(r'^workout/(?P\d+)/edit/s/(?P.+.*)$',views.workout_edit_view), url(r'^workout/(?P\d+)/edit$',views.workout_edit_view), + url(r'^workout/(?P\d+)/setprivate$',views.workout_setprivate_view), + url(r'^workout/(?P\d+)/makepublic$',views.workout_makepublic_view), url(r'^workout/(?P\d+)/advanced/c/(?P.+.*)$',views.workout_advanced_view), url(r'^workout/(?P\d+)/advanced/s/(?P.+.*)$',views.workout_advanced_view), url(r'^workout/(?P\d+)/geeky$',views.workout_geeky_view), diff --git a/rowers/views.py b/rowers/views.py index ed51a361..88d9fa30 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -1884,7 +1884,71 @@ def workout_recalcsummary_view(request,id=0): }) return HttpResponseRedirect(url) + +@login_required() +def workout_makepublic_view(request,id, + message='', + successmessage=''): + try: + row = Workout.objects.get(id=id) + except Workout.DoesNotExist: + raise Http404("Workout doesn't exist") + if (checkworkoutuser(request.user,row)==False): + message = "You are not allowed to edit this workout" + url = reverse(workouts_view,args=[str(message)]) + + return HttpResponseRedirect(url) + + row.privacy = 'visible' + row.save() + rr = Rower.objects.get(user=request.user) + + teams = rr.team.all() + for team in teams: + row.team.add(team) + + + message = "Workout set to public. Your followers and team members will see it" + + url = reverse(workout_edit_view, + kwargs = { + 'id':str(id), + 'successmessage':str(message), + }) + return HttpResponseRedirect(url) + +@login_required() +def workout_setprivate_view(request,id, + message='', + successmessage=''): + try: + row = Workout.objects.get(id=id) + except Workout.DoesNotExist: + raise Http404("Workout doesn't exist") + + if (checkworkoutuser(request.user,row)==False): + message = "You are not allowed to edit this workout" + url = reverse(workouts_view,args=[str(message)]) + + return HttpResponseRedirect(url) + + row.privacy = 'private' + row.save() + + for team in row.team.all(): + row.team.remove(team) + + message = "Workout set to private. Only you will see it" + + url = reverse(workout_edit_view, + kwargs = { + 'id':str(id), + 'successmessage':str(message), + }) + return HttpResponseRedirect(url) + + # List Workouts @login_required() def workouts_view(request,message='',successmessage='',