# -*- coding: utf-8 -*- from odoo import fields, models, api import uuid from werkzeug.urls import url_join class ResCompany(models.Model): _inherit = 'res.company' expense_kiosk_key = fields.Char( string="Expense Kiosk Key", default=lambda s: uuid.uuid4().hex, copy=False, groups='hr_expense.group_hr_expense_manager' ) expense_kiosk_url = fields.Char( string="Expense Kiosk URL", compute="_compute_expense_kiosk_url" ) @api.depends("expense_kiosk_key") def _compute_expense_kiosk_url(self): for company in self: base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url') company.expense_kiosk_url = url_join(base_url, '/hr_expense/kiosk/%s' % company.expense_kiosk_key) def action_regenerate_expense_kiosk_key(self): for company in self: company.expense_kiosk_key = uuid.uuid4().hex