#32514: A mixin for success messages when an object is deleted
--------------------------------------------+------------------------
               Reporter:  Willem Van Onsem  |          Owner:  nobody
                   Type:  New feature       |         Status:  new
              Component:  contrib.messages  |        Version:  dev
               Severity:  Normal            |       Keywords:
           Triage Stage:  Unreviewed        |      Has patch:  1
    Needs documentation:  0                 |    Needs tests:  0
Patch needs improvement:  0                 |  Easy pickings:  0
                  UI/UX:  0                 |
--------------------------------------------+------------------------
 A case that is not covered by the `SuccessMessageMixin` is to add a
 successmessage when the object is removed.

 It might be a good idea to create a mixin that will send a success message
 in case of a successful DELETE/POST request. This could look like:


 {{{
 diff --git a/django/contrib/messages/views.py
 b/django/contrib/messages/views.py
 index eaa1bee9d5..ac938f7845 100644
 --- a/django/contrib/messages/views.py
 +++ b/django/contrib/messages/views.py
 @@ -16,3 +16,21 @@ class SuccessMessageMixin:

      def get_success_message(self, cleaned_data):
          return self.success_message % cleaned_data
 +
 +
 +class SuccessDeleteMessageMixin:
 +    """
 +    Add a success message on a successful DELETE request (and sometimes
 POST request
 +    if this will make trigger delete).
 +    """
 +    success_message = ''
 +
 +    def delete(self, *args, **kwargs):
 +        response = super().delete(*args, **kwargs)
 +        success_message = self.get_success_message()
 +        if success_message:
 +            messages.success(self.request, success_message)
 +        return response
 +
 +    def get_success_message(self):
 +        return self.success_message
 }}}

-- 
Ticket URL: <https://code.djangoproject.com/ticket/32514>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/052.a5de5f275c21e1e892d145e1f73334bb%40djangoproject.com.

Reply via email to