[FIX] auth_signup pass on the state

bzr revid: al@openerp.com-20121011000534-w3wa7m3mh1znylde
This commit is contained in:
Antony Lesuisse 2012-10-11 02:05:34 +02:00
parent b1b8447a6b
commit 462eccb10d
3 changed files with 7 additions and 10 deletions

View File

@ -42,7 +42,7 @@ class Controller(openerp.addons.web.http.Controller):
return user_info
@openerp.addons.web.http.httprequest
def signup(self, req, dbname, token, name, login, password):
def signup(self, req, dbname, token, name, login, password, state=''):
""" sign up a user (new or existing), and log it in """
url = '/'
registry = RegistryManager.get(dbname)
@ -52,7 +52,7 @@ class Controller(openerp.addons.web.http.Controller):
values = {'name': name, 'login': login, 'password': password}
credentials = res_users.signup(cr, openerp.SUPERUSER_ID, values, token)
cr.commit()
return login_and_redirect(req, *credentials)
return login_and_redirect(req, *credentials, redirect_url='/#%s'%state)
except Exception as e:
# signup error
_logger.exception('error when signup')

View File

@ -18,6 +18,10 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
import random
import time
import urllib
import urlparse
import openerp
from openerp.osv import osv, fields
@ -25,11 +29,6 @@ from openerp import SUPERUSER_ID
from openerp.tools.misc import DEFAULT_SERVER_DATETIME_FORMAT
from openerp.tools.safe_eval import safe_eval
import time
import random
import urllib
import urlparse
def random_token():
# the token has an entropy of about 120 bits (6 bits/char * 20 chars)
chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
@ -38,7 +37,6 @@ def random_token():
def now():
return time.strftime(DEFAULT_SERVER_DATETIME_FORMAT)
class res_partner(osv.Model):
_inherit = 'res.partner'
@ -132,8 +130,6 @@ class res_partner(osv.Model):
res['email'] = partner.email or ''
return res
class res_users(osv.Model):
_inherit = 'res.users'

View File

@ -90,6 +90,7 @@ openerp.auth_signup = function(instance) {
name: name,
login: login,
password: password,
state: $.param(this.params)
};
var url = "/auth_signup/signup?" + $.param(params);
window.location = url;