Skip to content

Commit fe8ced6

Browse files
committed
Fix redirect url
1 parent 84fb59d commit fe8ced6

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

tally_ho/apps/tally/views/workflow.py

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,8 @@ def dispatch(self, request, *args, **kwargs):
129129
if 'recall_result_form_pk' not in request.session:
130130
messages.error(request, _("No result form selected for recall."))
131131
return redirect(
132-
'audit_dashboard',
133-
tally_id=self.kwargs.get('tally_id'),
134-
tab='recalls')
132+
self.get_success_url(tally_id=self.kwargs.get('tally_id')))
133+
135134
return super().dispatch(request, *args, **kwargs)
136135

137136
def get_context_data(self, **kwargs):
@@ -174,14 +173,16 @@ def form_valid(self, form):
174173
form.instance.requester = self.request.user.userprofile
175174
form.instance.request_type = RequestType.RECALL_FROM_ARCHIVE
176175

177-
response = super().form_valid(form)
176+
self.object = form.save()
177+
178178
messages.success(
179179
self.request,
180180
_("Recall request created successfully for barcode {}").format(
181181
result_form.barcode))
182182
# Clean up session
183183
del self.request.session['recall_result_form_pk']
184-
return response
184+
# Return the redirect directly
185+
return redirect(self.get_success_url(tally_id=tally_id))
185186

186187
def get_success_url(self, **kwargs):
187188
return reverse(self.success_url_name, kwargs=kwargs) + '?tab=recalls'
@@ -237,6 +238,7 @@ class RecallRequestDetailView(LoginRequiredMixin,
237238
template_name = 'workflow/recall_request_detail.html'
238239
context_object_name = 'request'
239240
pk_url_kwarg = 'request_pk'
241+
success_url_name = 'audit_dashboard'
240242

241243
def get_queryset(self):
242244
# Ensure we only get recall requests for the correct tally
@@ -272,7 +274,7 @@ def post(self, request, *args, **kwargs):
272274
messages.warning(
273275
request, _("This request has already been actioned."))
274276
return redirect(
275-
'audit_dashboard', tally_id=tally_id, tab='recalls')
277+
self.get_success_url(tally_id=tally_id))
276278

277279
form = self.get_form()
278280
if form.is_valid():
@@ -286,9 +288,7 @@ def post(self, request, *args, **kwargs):
286288
_(str("Form is no longer in ARCHIVED state."
287289
" Cannot approve recall.")))
288290
return redirect(
289-
'audit_dashboard',
290-
tally_id=tally_id,
291-
tab='recalls')
291+
self.get_success_url(tally_id=tally_id))
292292

293293
workflow_request.status = RequestStatus.APPROVED
294294
# Move form back to Audit
@@ -325,12 +325,14 @@ def post(self, request, *args, **kwargs):
325325
workflow_request.resolved_date = timezone.now()
326326
workflow_request.save()
327327

328-
return redirect(reverse(
329-
'audit_dashboard',
330-
kwargs={'tally_id': tally_id}) + '?tab=recalls')
328+
return redirect(
329+
self.get_success_url(tally_id=tally_id))
331330
else:
332331
return self.form_invalid(form)
333332

334333
def form_invalid(self, form):
335334
messages.error(self.request, _("Please correct the errors below."))
336335
return super().form_invalid(form)
336+
337+
def get_success_url(self, **kwargs):
338+
return reverse(self.success_url_name, kwargs=kwargs) + '?tab=recalls'

0 commit comments

Comments
 (0)