forked from Mapan/odoo17e
52 lines
2.5 KiB
Python
52 lines
2.5 KiB
Python
# coding: utf-8
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import fields, models, api
|
|
|
|
|
|
class ResConfigSettings(models.TransientModel):
|
|
_inherit = 'res.config.settings'
|
|
|
|
linkedin_use_own_account = fields.Boolean("Use your own LinkedIn Account",
|
|
config_parameter='social.linkedin_use_own_account',
|
|
help="""Check this if you want to use your personal LinkedIn Developer Account instead of the provided one.""")
|
|
linkedin_app_id = fields.Char("App ID", config_parameter='social.linkedin_app_id',
|
|
compute='_compute_linkedin_app_id', inverse='_inverse_linkedin_app_id')
|
|
linkedin_client_secret = fields.Char("App Secret", config_parameter='social.linkedin_client_secret',
|
|
compute='_compute_linkedin_client_secret', inverse='_inverse_linkedin_client_secret')
|
|
|
|
@api.onchange('linkedin_use_own_account')
|
|
def _onchange_linkedin_use_own_account(self):
|
|
if not self.linkedin_use_own_account:
|
|
self.linkedin_app_id = None
|
|
self.linkedin_client_secret = None
|
|
|
|
@api.depends('linkedin_use_own_account')
|
|
def _compute_linkedin_app_id(self):
|
|
user_is_manager = self.env.user.has_group('social.group_social_manager')
|
|
linkedin_app_id = self.env['ir.config_parameter'].sudo().get_param('social.linkedin_app_id')
|
|
for setting in self:
|
|
setting.linkedin_app_id = linkedin_app_id if user_is_manager else None
|
|
|
|
def _inverse_linkedin_app_id(self):
|
|
user_is_manager = self.env.user.has_group('social.group_social_manager')
|
|
for setting in self:
|
|
if user_is_manager:
|
|
self.env['ir.config_parameter'].sudo().set_param(
|
|
'social.linkedin_app_id', setting.linkedin_app_id)
|
|
|
|
@api.depends('linkedin_use_own_account')
|
|
def _compute_linkedin_client_secret(self):
|
|
user_is_manager = self.env.user.has_group('social.group_social_manager')
|
|
linkedin_client_secret = self.env['ir.config_parameter'].sudo().get_param('social.linkedin_client_secret')
|
|
for setting in self:
|
|
setting.linkedin_client_secret = linkedin_client_secret if user_is_manager else None
|
|
|
|
def _inverse_linkedin_client_secret(self):
|
|
user_is_manager = self.env.user.has_group('social.group_social_manager')
|
|
for setting in self:
|
|
if user_is_manager:
|
|
self.env['ir.config_parameter'].sudo().set_param(
|
|
'social.linkedin_client_secret',
|
|
setting.linkedin_client_secret)
|