diff --git a/billard/templates/billard/accountmodal.html b/billard/templates/billard/accountmodal.html index a38dedd..9ccd870 100644 --- a/billard/templates/billard/accountmodal.html +++ b/billard/templates/billard/accountmodal.html @@ -1,28 +1,34 @@ -{% if account %} +{% if accounts %} diff --git a/billard/urls.py b/billard/urls.py index c9fc1e4..b02463d 100644 --- a/billard/urls.py +++ b/billard/urls.py @@ -19,7 +19,7 @@ urlpatterns = [ # ex. /billard/1/account_modal/ url(r'^(?P[0-9]+)/account_modal/$', views.account_modal_view, name='account_modal'), # ex. /billard/1/account_modal/confirm/ - url(r'^(?P[0-9]+)/account_modal/(?P[0-9]+)/confirm/$', views.account_modal_confirm_view, + url(r'^(?P[0-9]+)/account_modal/(?P[0-9]+(,[0-9]+)*)/confirm/$', views.account_modal_confirm_view, name='account_modal_confirm'), # ex. /billard/api/v1/ (rest api) url(r'api/v1/', include(router.urls)), diff --git a/billard/views.py b/billard/views.py index ba7a6f1..e728437 100644 --- a/billard/views.py +++ b/billard/views.py @@ -81,22 +81,24 @@ def accounting_confirm(request, pk): def account_modal_view(request, loc_pk): try: uuids = Client.objects.filter(report_user=request.user).values_list('uuid') - account = Accounting.objects.filter(reporter_uuid__in=uuids).first + accounts = Accounting.objects.filter(reporter_uuid__in=uuids) # TODO: support multiple account objects except Client.DoesNotExist: - account = None + accounts = None context = { - 'account': account, + 'accounts': accounts, 'loc_pk': loc_pk, + 'pks': ','.join([str(account.pk) for account in accounts]), } return render(request, 'billard/accountmodal.html', context=context) @login_required -def account_modal_confirm_view(request, loc_pk, pk): - account = Accounting.objects.get(pk=pk) - account.reporter_uuid = None - account.save() +def account_modal_confirm_view(request, loc_pk, pks): + for pk in pks.split(','): + account = Accounting.objects.get(pk=pk) + account.reporter_uuid = None + account.save() return redirect('billard:location_detail', pk=loc_pk)