Private
Public Access
1
0

now working with crude confirmation page

This commit is contained in:
2024-01-19 16:14:29 +01:00
parent a7ea2d88d1
commit 07c9f18113
3 changed files with 45 additions and 7 deletions

View File

@@ -79,6 +79,15 @@
</a>
{% endif %}
{% endif %}
{% if not request.GET.selectworkouts %}
<span>
<a href="./?selectworkouts=true">Bulk Actions</a>
</span>
{% else %}
<span>
<a href="./">Close Bulk Actions</a>
</span>
{% endif %}
</span>
</li>
@@ -87,6 +96,7 @@
<li class="grid_4">
<form enctype="multipart/form-data" method="post">
<h3>Bulk Operation</h3>
<p>Please select workouts from the list to do a bulk operation on.</p>
<select name="selectworkouts_operation" id="selectworkouts_operation">
<option value="">--Please choose an option--</option>
<option value="remove">Remove</option>

View File

@@ -292,6 +292,9 @@ urlpatterns = [
views.agegrouprecordview, name='agegrouprecordview'),
re_path(r'^agegrouprecords/$',
views.agegrouprecordview, name='agegrouprecordview'),
re_path(r'^workouts/actions/$',
views.workouts_bulk_actions,
name='workouts_bulk_actions'),
re_path(r'^workouts/setrpe/$', views.workouts_setrpe_view,
name='workouts_setrpe_view'),
re_path(r'^workouts/setrpe/user/(?P<userid>\d+)/$', views.workouts_setrpe_view,

View File

@@ -2031,6 +2031,34 @@ def workouts_setrpe_view(request,userid=0):
})
# Workout bulk actions
@login_required()
def workouts_bulk_actions(request):
r = getrower(request.user)
action = request.session['action']
workoutids = request.session['ids']
workouts = []
try:
for encid in workoutids:
print(encid)
w = get_workout_by_opaqueid(request, encid)
if w.user == r:
workouts.append(w)
except KeyError:
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)
return render(request,'workout_bulk_actions.html',
{'action':action,
'workouts':workouts})
# List Workouts
@login_required()
def workouts_view(request, message='', successmessage='',
@@ -2049,14 +2077,11 @@ def workouts_view(request, message='', successmessage='',
query = None
if request.method == 'POST':
print(request.POST)
if 'selectworkouts' in request.POST:
if 'remove' in request.POST.get('selectworkouts_operation'):
remove_ids = request.POST.getlist('workoutid')
for id in remove_ids:
w = Workout.objects.get(id=encoder.decode_hex(id))
messages.info(request,'Removed workout '+str(id))
w.delete()
request.session['action']=request.POST['selectworkouts_operation']
request.session['ids'] = request.POST.getlist('workoutid')
url = reverse('workouts_bulk_actions')
return HttpResponseRedirect(url)
dateform = DateRangeForm(request.POST)
searchform = SearchForm(request.POST)
if dateform.is_valid(): # pragma: no cover