summaryrefslogtreecommitdiff
path: root/addons/share
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2010-11-22 13:53:34 +0100
committerXavier Morel <xmo@openerp.com>2010-11-22 13:53:34 +0100
commite581a46baeaca8d6f8d68df0dad51a630c8a99fb (patch)
treeec16613b038e65d82ef3a6a655bcd1a9e7861015 /addons/share
parent0ad1fbaefbc8e962597ba65f460becb05924424a (diff)
[FIX] share: send correct share_root_url to server action, add dbname to share_root_url so user can actually be logged in if server has multiple dbs
bzr revid: xmo@openerp.com-20101122125334-w0cpt1p4s471q1wb
Diffstat (limited to 'addons/share')
-rw-r--r--addons/share/web/controllers.py8
-rw-r--r--addons/share/wizard/share_wizard.py12
2 files changed, 15 insertions, 5 deletions
diff --git a/addons/share/web/controllers.py b/addons/share/web/controllers.py
index b97c86799e2..de44d0ecac3 100644
--- a/addons/share/web/controllers.py
+++ b/addons/share/web/controllers.py
@@ -1,3 +1,5 @@
+import urlparse
+
from openobject.tools import expose, ast
from openerp.controllers import actions
from openerp.utils import rpc
@@ -26,7 +28,11 @@ class ShareWizardController(openerp.controllers.SecuredController):
action_id = action_id[0]
share_model = 'share.wizard'
- share_root_url = cherrypy.request.base
+
+ scheme, netloc, _, _, _ = urlparse.urlsplit(cherrypy.request.base)
+ share_root_url = urlparse.urlunsplit((
+ scheme, netloc, '/openerp/login',
+ 'db=%(dbname)s&user=%(login)s&password=%(password)s', ''))
share_wiz_id = rpc.RPCProxy('ir.ui.menu').search(
[('name','=', 'Share Wizard')])
diff --git a/addons/share/wizard/share_wizard.py b/addons/share/wizard/share_wizard.py
index 152bc55969b..9795ac78d32 100644
--- a/addons/share/wizard/share_wizard.py
+++ b/addons/share/wizard/share_wizard.py
@@ -290,7 +290,9 @@ class share_create(osv.osv_memory):
user_obj = self.pool.get('res.users')
result_obj = self.pool.get('share.wizard.result.line')
share_root_url = wizard_data.share_root_url
- format_url = '%(login)s' in share_root_url and '%(password)s' in share_root_url
+ format_url = '%(login)s' in share_root_url\
+ and '%(password)s' in share_root_url\
+ and '%(dbname)s' in share_root_url
existing_passwd_str = _('*usual password*')
if wizard_data.user_type == 'new':
for email in wizard_data.new_users.split('\n'):
@@ -298,7 +300,8 @@ class share_create(osv.osv_memory):
password = user_obj.read(cr, 1, user_id[0], ['password'])['password']
share_url = share_root_url % \
{'login': email,
- 'password': password} if format_url else share_root_url
+ 'password': password,
+ 'dbname': cr.dbname} if format_url else share_root_url
result_obj.create(cr, uid, {
'share_wizard_id': wizard_data.id,
'login': email,
@@ -309,8 +312,9 @@ class share_create(osv.osv_memory):
# existing users
for user in wizard_data.user_ids:
share_url = share_root_url % \
- {'login': email,
- 'password': ''} if format_url else share_root_url
+ {'login': email,
+ 'password': '',
+ 'dbame': cr.dbname} if format_url else share_root_url
result_obj.create(cr, uid, {
'share_wizard_id': wizard_data.id,
'login': user.user_id.login,