#6903: Go back to old change_list view after hitting save
-------------------------------+------------------------------------
     Reporter:  jarrow         |                    Owner:  oinopion
         Type:  New feature    |                   Status:  assigned
    Component:  contrib.admin  |                  Version:  master
     Severity:  Normal         |               Resolution:
     Keywords:  admin          |             Triage Stage:  Accepted
    Has patch:  1              |      Needs documentation:  0
  Needs tests:  0              |  Patch needs improvement:  1
Easy pickings:  0              |                    UI/UX:  1
-------------------------------+------------------------------------
Changes (by loic84):

 * needs_better_patch:  0 => 1


Comment:

 I looked further into it, I pass on the delete link as there is no easy
 way to POST to the delete URL because `submit_line.html` is included
 within a form, and you can't have a form within a form. Fixing it requires
 a refactor too big to be within the scope of this ticket.

 That said, the patch and the tests only cover the basic scenarios:
 - `change_list > add_view > save`
 - `change_list > change_view > save`
 - `change_list > delete_view > save`

 You are out of luck if you do:
 - `change_list > change_view  (Save and continue editing) > change_view >
 save`
 - `change_list > change_view (Save and add another) > add_view > save`

 The reason we lose track of filters is that `_continue`, `_saveasnew` and
 `_addanother` rely on `HttpResponseRedirect` so we have to use the
 querystring for such cases.

 At this point I agree with @empty, I'd vote to use querystring everywhere,
 the URL is not that ugly and if anything, it gives some context of where
 you came from. If you want to keep the pretty URLs where possible, just
 append the querystring to these `HttpResponseRedirect` and allow
 `_changelist_filters` to come from either POST or GET.

-- 
Ticket URL: <https://code.djangoproject.com/ticket/6903#comment:85>
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 django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/064.2dc0a238bace35e5ee0829ec7ba13f2c%40djangoproject.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to