45 lines
1.7 KiB
Python
45 lines
1.7 KiB
Python
|
# -*- coding:utf-8 -*-
|
||
|
#############################################################################
|
||
|
#
|
||
|
# Cybrosys Technologies Pvt. Ltd.
|
||
|
#
|
||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
|
||
|
# Author: Sruthi Pavithran (odoo@cybrosys.com)
|
||
|
#
|
||
|
# You can modify it under the terms of the GNU LESSER
|
||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3.
|
||
|
#
|
||
|
# This program is distributed in the hope that it will be useful,
|
||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
|
||
|
#
|
||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
|
||
|
# (LGPL v3) along with this program.
|
||
|
# If not, see <http://www.gnu.org/licenses/>.
|
||
|
#
|
||
|
#############################################################################
|
||
|
import uuid
|
||
|
from odoo import fields, models
|
||
|
|
||
|
|
||
|
class ResUsers(models.Model):
|
||
|
"""This class is used to inherit users and add api key generation"""
|
||
|
_inherit = 'res.users'
|
||
|
|
||
|
api_key = fields.Char(string="API Key", readonly=True,
|
||
|
help="Api key for connecting with the "
|
||
|
"Database.The key will be "
|
||
|
"generated when authenticating "
|
||
|
"rest api.")
|
||
|
|
||
|
def generate_api(self, username):
|
||
|
"""This function is used to generate api-key for each user"""
|
||
|
users = self.env['res.users'].sudo().search([('login', '=', username)])
|
||
|
if not users.api_key:
|
||
|
users.api_key = str(uuid.uuid4())
|
||
|
key = users.api_key
|
||
|
else:
|
||
|
key = users.api_key
|
||
|
return key
|