Skip to content

Commit af1bda1

Browse files
authored
Fix form validation success url (#221)
* Fix redirect of FormValidationMixin to be compliant to standard django: If return class property success_url if exists, if not return value from classes get_success_url method. If that doesn't exist return value from models get_absolute_url method. * Fix success url to work with all constellations
1 parent 640c614 commit af1bda1

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

Diff for: bootstrap_modal_forms/mixins.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,12 @@ class FormValidationMixin:
7777
"""
7878
Generic View Mixin which saves object and redirects to success_url if request is not ajax request. Otherwise response 204 No content is returned.
7979
"""
80-
80+
81+
def get_success_url(self):
82+
if self.success_url:
83+
return self.success_url
84+
return super().get_success_url()
85+
8186
def form_valid(self, form):
8287
isAjaxRequest = is_ajax(self.request.META)
8388
asyncUpdate = self.request.POST.get('asyncUpdate') == 'True'
@@ -86,7 +91,7 @@ def form_valid(self, form):
8691
if asyncUpdate:
8792
form.save()
8893
return HttpResponse(status=204)
89-
94+
9095
form.save()
9196
messages.success(self.request, self.success_message)
9297
return HttpResponseRedirect(self.get_success_url())

0 commit comments

Comments
 (0)