Files
odoo_source/addons/auth_signup/models/res_config.py
T

38 lines
1.9 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import api, fields, models
from odoo.tools.safe_eval import safe_eval
class BaseConfigSettings(models.TransientModel):
_inherit = 'base.config.settings'
auth_signup_reset_password = fields.Boolean(string='Enable password reset from Login page')
auth_signup_uninvited = fields.Boolean(string='Allow external users to sign up')
auth_signup_template_user_id = fields.Many2one('res.users', string='Template user for new users created through signup')
@api.model
def get_default_auth_signup_template_user_id(self, fields):
get_param = self.env['ir.config_parameter'].get_param
# we use safe_eval on the result, since the value of the parameter is a nonempty string
return {
'auth_signup_reset_password': safe_eval(get_param('auth_signup.reset_password', 'False')),
'auth_signup_uninvited': safe_eval(get_param('auth_signup.allow_uninvited', 'False')),
'auth_signup_template_user_id': safe_eval(get_param('auth_signup.template_user_id', 'False')),
}
@api.multi
def set_auth_signup_template_user_id(self):
self.ensure_one()
set_param = self.env['ir.config_parameter'].set_param
# we store the repr of the values, since the value of the parameter is a required string
set_param('auth_signup.reset_password', repr(self.auth_signup_reset_password))
set_param('auth_signup.allow_uninvited', repr(self.auth_signup_uninvited))
set_param('auth_signup.template_user_id', repr(self.auth_signup_template_user_id.id))
@api.multi
def open_template_user(self):
action = self.env.ref('base.action_res_users').read()[0]
action['res_id'] = self.env.ref('auth_signup.default_template_user').id
action['views'] = [[self.env.ref('base.view_users_form').id, 'form']]
return action