summaryrefslogtreecommitdiff
path: root/addons/auth_signup/res_users.py
diff options
context:
space:
mode:
authorFabien Meghazi <fme@openerp.com>2014-03-11 21:53:37 +0100
committerFabien Meghazi <fme@openerp.com>2014-03-11 21:53:37 +0100
commit9684f077358091c0eccf30abb2dfecd83fb0eb4a (patch)
tree782bf2a78004fb867e2aa3415c7d712934eeaa82 /addons/auth_signup/res_users.py
parent233665197b56ea18d2e4511531a3c23b8a110380 (diff)
[FIX] signup_url_for_action(), use `redirect` url parameter and bring back `action` in fragment
bzr revid: fme@openerp.com-20140311205337-9vasnqx5cudbk3f3
Diffstat (limited to 'addons/auth_signup/res_users.py')
-rw-r--r--addons/auth_signup/res_users.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/addons/auth_signup/res_users.py b/addons/auth_signup/res_users.py
index e91af657cc2..32aa22b2744 100644
--- a/addons/auth_signup/res_users.py
+++ b/addons/auth_signup/res_users.py
@@ -20,8 +20,8 @@
##############################################################################
from datetime import datetime, timedelta
import random
-from urllib import urlencode
from urlparse import urljoin
+import werkzeug
from openerp.addons.base.ir.ir_mail_server import MailDeliveryException
from openerp.osv import osv, fields
@@ -53,7 +53,7 @@ class res_partner(osv.Model):
(not partner.signup_expiration or dt <= partner.signup_expiration)
return res
- def _get_signup_url_for_action(self, cr, uid, ids, action='login', view_type=None, menu_id=None, res_id=None, model=None, context=None):
+ def _get_signup_url_for_action(self, cr, uid, ids, action=None, view_type=None, menu_id=None, res_id=None, model=None, context=None):
""" generate a signup url for the given partner ids and action, possibly overriding
the url state components (menu_id, id, view_type) """
if context is None:
@@ -80,6 +80,8 @@ class res_partner(osv.Model):
continue # no signup token, no user, thus no signup url!
fragment = dict()
+ if action:
+ fragment['action'] = action
if view_type:
fragment['view_type'] = view_type
if menu_id:
@@ -89,7 +91,10 @@ class res_partner(osv.Model):
if res_id:
fragment['id'] = res_id
- res[partner.id] = urljoin(base_url, "/web/login?%s#%s" % (urlencode(query), urlencode(fragment)))
+ if fragment:
+ query['redirect'] = '/web#' + werkzeug.url_encode(fragment)
+
+ res[partner.id] = urljoin(base_url, "/web/login?%s" % werkzeug.url_encode(query))
return res