better use of forms in bulk actions
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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 <a href="/rowers/workouts/setrpe">here</a> to update them. \
|
||||
You can switch off this warning in <a href="/rowers/me/edit">settings</a>.')
|
||||
|
||||
actionform = WorkoutBulkActions()
|
||||
|
||||
return render(request, 'list_workouts.html',
|
||||
{'workouts': workouts,
|
||||
'active': 'nav-workouts',
|
||||
'rower': r,
|
||||
'actionform': actionform,
|
||||
'searchform': searchform,
|
||||
'breadcrumbs': breadcrumbs,
|
||||
'dateform': dateform,
|
||||
|
||||
Reference in New Issue
Block a user