mirror of
https://gitlab.com/hibou-io/hibou-odoo/suite.git
synced 2025-01-20 12:37:31 +02:00
40 lines
1.4 KiB
Python
Executable File
40 lines
1.4 KiB
Python
Executable File
from odoo import api, fields, models, _
|
|
from ..models.res_users import admin_auth_generate_login
|
|
|
|
|
|
class PortalWizard(models.TransientModel):
|
|
_inherit = 'portal.wizard'
|
|
|
|
def admin_auth_generate_login(self):
|
|
self.ensure_one()
|
|
self.user_ids.admin_auth_generate_login()
|
|
return {
|
|
"type": "ir.actions.act_window",
|
|
"res_model": self._name,
|
|
"views": [[False, "form"]],
|
|
"res_id": self.id,
|
|
"target": "new",
|
|
}
|
|
|
|
|
|
class PortalWizardUser(models.TransientModel):
|
|
_inherit = 'portal.wizard.user'
|
|
|
|
force_login_url = fields.Char(string='Force Login URL')
|
|
|
|
def admin_auth_generate_login(self):
|
|
ir_model_access = self.env['ir.model.access']
|
|
for row in self.filtered(lambda r: r.is_portal):
|
|
user = row.partner_id.user_ids[0] if row.partner_id.user_ids else None
|
|
if ir_model_access.check('res.partner', mode='unlink') and user:
|
|
row.force_login_url = admin_auth_generate_login(self.env, user)
|
|
self.filtered(lambda r: not r.is_portal).update({'force_login_url': ''})
|
|
return {
|
|
'name': _('Portal Access Management'),
|
|
'type': 'ir.actions.act_window',
|
|
'view_mode': 'form',
|
|
'res_model': 'portal.wizard',
|
|
'res_id': self.wizard_id.id,
|
|
'target': 'new',
|
|
}
|