[drupal-devel] [task] usability: redirect to proper page after
edit/delete operations
moshe weitzman
drupal-devel at drupal.org
Wed Feb 9 18:11:05 UTC 2005
Project: Drupal
Version: cvs
Component: base system
Category: tasks
Priority: normal
Assigned to: moshe weitzman
Reported by: moshe weitzman
Updated by: moshe weitzman
-Status: fixed
+Status: patch
Attachment: http://drupal.org/files/issues/drdest_0.patch (2.03 KB)
Here is a patch for node.module since thta hunk failed last time. Note
that I've removed the 'delete' link since it doesn't work and is mostly
obsolete with the 'mass delete' feature.
I've also added smart destination andling to the 'url alias delete'
feature.
moshe weitzman
Previous comments:
------------------------------------------------------------------------
January 26, 2005 - 14: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
windows open.
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
------------------------------------------------------------------------
January 26, 2005 - 16:44 : 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 27, 2005 - 01:12 : Dries
The code looks good, the functionality is handy but I'd like to hear
other people's thoughts on this.
------------------------------------------------------------------------
January 27, 2005 - 02:19 : chx
great one. +1
------------------------------------------------------------------------
January 27, 2005 - 09:05 : Bèr Kessels
It never really bothered /me/ that I was redirected to odd places, since
I have a drupal-sitemap printed in my head ;). However, asking some
clients, learned me that this patch would be greatly appreciated.
+1 from me.
One question though (not criticism!) why did you choose to do the
testing inside druopal_goto as
<?php
if ($destination = $_REQUEST['destination'] ? $_REQUEST['destination']
: $_REQUEST['edit']['destination']) {
?>
Seems odd to me to have a one-line-if inside another if.
------------------------------------------------------------------------
January 27, 2005 - 09:18 : Dries
Berkes: that line is a odd, indeed.
Actually, I'm not convinced that embedding this logic in drupal_goto()
is appropriate. Personally, I'd rather have us write:
<?php
drupal_goto($_REQUEST['destiation']);
?>
I'd like to believe it is more transparant.
------------------------------------------------------------------------
February 1, 2005 - 14:46 : Dries
Committed to HEAD. Thanks.
--
View: http://drupal.org/node/16246
Edit: http://drupal.org/project/comments/add/16246
More information about the drupal-devel
mailing list