diff options
| author | Jon Dufresne <jon.dufresne@gmail.com> | 2018-08-12 07:23:03 -0700 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2018-08-17 11:04:33 -0400 |
| commit | 91d281c021dc4626966d210c4f7c05eb4ffe5688 (patch) | |
| tree | 67b1f092b16cd9f6b74ccb10f38b9ee01eae7376 | |
| parent | f5fbff0b4e87973e903c6cc63a4fb6bb682c52c0 (diff) | |
[2.1.x] Added ModelAdmin._response_post_save() to avoid code duplication.
Backport of 57f16655cd5031ef04bf5e310c9e1d31eff912ce from master
| -rw-r--r-- | django/contrib/admin/options.py | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py index a8baf87d46..d1071ebb2a 100644 --- a/django/contrib/admin/options.py +++ b/django/contrib/admin/options.py @@ -1322,11 +1322,7 @@ class ModelAdmin(BaseModelAdmin): self.message_user(request, msg, messages.SUCCESS) return self.response_post_save_change(request, obj) - def response_post_save_add(self, request, obj): - """ - Figure out where to redirect after the 'Save' button has been pressed - when adding a new object. - """ + def _response_post_save(self, request, obj): opts = self.model._meta if self.has_change_permission(request, None): post_url = reverse('admin:%s_%s_changelist' % @@ -1339,23 +1335,19 @@ class ModelAdmin(BaseModelAdmin): current_app=self.admin_site.name) return HttpResponseRedirect(post_url) + def response_post_save_add(self, request, obj): + """ + Figure out where to redirect after the 'Save' button has been pressed + when adding a new object. + """ + return self._response_post_save(request, obj) + def response_post_save_change(self, request, obj): """ Figure out where to redirect after the 'Save' button has been pressed when editing an existing object. """ - opts = self.model._meta - - if self.has_change_permission(request, None): - post_url = reverse('admin:%s_%s_changelist' % - (opts.app_label, opts.model_name), - current_app=self.admin_site.name) - preserved_filters = self.get_preserved_filters(request) - post_url = add_preserved_filters({'preserved_filters': preserved_filters, 'opts': opts}, post_url) - else: - post_url = reverse('admin:index', - current_app=self.admin_site.name) - return HttpResponseRedirect(post_url) + return self._response_post_save(request, obj) def response_action(self, request, queryset): """ |
