Please select workouts from the list to do a bulk operation on.
-
- -
-
- Edit and confirm the action you want to perform on the following workouts:
-
- {% for workout in workouts %}
- {{ workout }}
- {% endfor %}
-
- Action: {{ action }}
-
-
- -
-
-
diff --git a/rowers/views/statements.py b/rowers/views/statements.py
index 5c07b20e..d2690946 100644
--- a/rowers/views/statements.py
+++ b/rowers/views/statements.py
@@ -96,6 +96,7 @@ from django.http import (
)
from django.contrib.auth import authenticate, login, logout
from rowers.forms import (
+ WorkoutBulkActions,
ForceCurveOptionsForm, HistoForm, TeamMessageForm,
LoginForm, DocumentsForm, UploadOptionsForm, ImageForm, CourseForm,
CourseConfirmForm, ResampleForm,
diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py
index 924d6ed0..dfa8f823 100644
--- a/rowers/views/workoutviews.py
+++ b/rowers/views/workoutviews.py
@@ -2040,7 +2040,6 @@ def workouts_bulk_actions(request):
workouts = []
try:
for encid in workoutids:
- print(encid)
w = get_workout_by_opaqueid(request, encid)
if w.user == r:
workouts.append(w)
@@ -2048,15 +2047,30 @@ def workouts_bulk_actions(request):
pass
if request.method == 'POST':
- if action == 'remove':
- for w in workouts:
- messages.info(request,'Removed workout '+str(encoder.encode_hex(w.id)))
- w.delete()
- url = reverse('workouts_view')
- return HttpResponseRedirect(url)
+ actionform = WorkoutBulkActions(request.POST)
+ form = WorkoutMultipleCompareForm(request.POST)
+ if form.is_valid() and actionform.is_valid():
+ workouts = form.cleaned_data['workouts']
+ action = actionform.cleaned_data['action']
+ if action == 'remove':
+ for w in workouts:
+ messages.info(request,'Removed workout '+str(encoder.encode_hex(w.id)))
+ w.delete()
+ url = reverse('workouts_view')
+ return HttpResponseRedirect(url)
+
+ else:
+ actionform = WorkoutBulkActions()
+ actionform.fields["action"].initial = action
+ form = WorkoutMultipleCompareForm()
+ form.fields["workouts"].queryset = Workout.objects.filter(id__in=[w.id for w in workouts])
+ form.fields["workouts"].initial = workouts
+
return render(request,'workout_bulk_actions.html',
{'action':action,
+ 'actionform':actionform,
+ 'form':form,
'workouts':workouts})
# List Workouts
@@ -2078,7 +2092,7 @@ def workouts_view(request, message='', successmessage='',
if request.method == 'POST':
if 'selectworkouts' in request.POST:
- request.session['action']=request.POST['selectworkouts_operation']
+ request.session['action']=request.POST['action']
request.session['ids'] = request.POST.getlist('workoutid')
url = reverse('workouts_bulk_actions')
return HttpResponseRedirect(url)
@@ -2261,10 +2275,13 @@ def workouts_view(request, message='', successmessage='',
Click