[drupal-devel] [task] usability: redirect to proper page after
drupal-devel at drupal.org
Wed Jan 26 21:44:44 UTC 2005
Component: base system
Assigned to: moshe weitzman
Reported by: moshe weitzman
Updated by: stefan nagtegaal
This is another great improvement when we look at usability! Moshe, you
did a terrific job on this..
After this patch is applied every submitted page drupal_goto()'s the
page you expect it to go..
This is really one of the best patches i'd seen and tested lately, so
++ for this patch in HEAD..
January 26, 2005 - 20:18 : moshe weitzman
Attachment: http://drupal.org/files/issues/drdest.patch (11.05 KB)
Here is a patch I've been wanting to finish for a while. This patch
assures that you end up on the proper page after you edit/delete a
node, comment, user, or url alias. This is true no matter if you go
through the usual interface or the admin interface. Further, if click
the 'edit' link from 3rd page of a custom sorted view (e.g.
admin/comment&from=100&sort=asc&order=Author) you still are returned to
the right page.
The technique used here is generally available for module developers.
I've minimally enhanced drupal_goto() so that it will redirect to the
url specified in a 'destination' querystring parameter if such
parameter exists. If it does not exist, we redirect just as today. No
changes are required to existing drupal_goto() calls. A new helper
function, drupal_get_destination() was added; it helps contruct the
'destination' string which is appended to add/edit links.
The only downside I can see to this patch is that a few URLs are less
pretty than before. These urls are only shown to admins. This could
only be avoided by having each admin page implement its own way of
passing a destination, or stashing the destination in the $_SESSION. We
recently tried storing referer in $_SESSION, and it was eventually
removed because of poor coordination when a user has multiple browser
In addition to the above,
- I cleaned up some 'destination' handling in user login code
- I assured that after adding a new taxo term, we arrive back on the
'Add' page. That restores prior behavior
More information about the drupal-devel