Currently, trac honours referer only when user was presented with login form and enters her username/password; if the user was sent to login page while already being logged in, she is not redirected back, but rather redirected to front page.
This makes it difficult to create user-friendly links to private trac pages (e.g. new ticket or ticket view), that would ask user login beforehands.
This is fixed easily:
diff -u -r accountmanagerplugin-orig/0.11/acct_mgr/web_ui.py accountmanagerplugin/0.11/acct_mgr/web_ui.py
--- accountmanagerplugin-orig/0.11/acct_mgr/web_ui.py 2010-02-26 02:13:14.000000000 +0300
+++ accountmanagerplugin/0.11/acct_mgr/web_ui.py 2010-09-15 19:42:05.000000000 +0400
@@ -473,7 +473,7 @@
# overrides
def _do_login(self, req):
if not req.remote_user:
- req.redirect(self.env.abs_href())
+ self._redirect_back(req)
res = auth.LoginModule._do_login(self, req)
if req.args.get('rememberme', '0') == '1':
# Set the session to expire in 30 days (and not when to browser is