22# @author Florian Mounier <florian.mounier@akretion.com>
33# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
44
5+ from urllib .parse import urlencode
6+
57import requests
68
79from odoo import api , fields , models
@@ -98,7 +100,7 @@ def _request(self, method, url, headers=None, data=None):
98100 response .raise_for_status ()
99101 return response .json ()
100102
101- def _get_cross_connect_url (self , redirect_url = None ):
103+ def _get_cross_connect_url (self , ** params ):
102104 self .ensure_one ()
103105 groups = self .env .user .groups_id & self .group_ids
104106 if not groups :
@@ -115,16 +117,18 @@ def _get_cross_connect_url(self, redirect_url=None):
115117 "lang" : self .env .user .lang ,
116118 "groups" : [group .cross_connect_server_group_id for group in groups ],
117119 }
118- if redirect_url :
119- data ["redirect_url" ] = redirect_url
120120
121121 response = self ._request ("POST" , "/access" , data = data )
122122 client_id = response .get ("client_id" )
123123 token = response .get ("token" )
124124 if not token :
125125 raise UserError (self .env ._ ("Missing token" ))
126126
127- return self ._absolute_url_for (f"login/{ client_id } /{ token } " )
127+ url = f"login/{ client_id } /{ token } "
128+ if params :
129+ url += "?" + urlencode (params )
130+
131+ return self ._absolute_url_for (url )
128132
129133 def _sync_groups (self ):
130134 self .ensure_one ()
0 commit comments