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 10:51:57 -0400 |
| commit | 57f16655cd5031ef04bf5e310c9e1d31eff912ce (patch) | |
| tree | 07a4d7b00dc2b292c02f5b5cddb9615bf549a091 | |
| parent | 3fa3de54152a6b7a67de05ff4ff6fb122c9246e2 (diff) | |
Added ModelAdmin._response_post_save() to avoid code duplication.
| -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): """ |
