def _get_api_key_name(cls, auth_api_key): for section in serv_config.sections(): if section.startswith("api_key_") and serv_config.has_option( section, "key"): if tools.consteq(auth_api_key, serv_config.get(section, "key")): return section return None
def _search_enabled(self, operator, value): enabled_provider_ids = [] for provider in self.search([]): provider_section_name = provider._get_provider_section_name() if serv_config.has_option(provider_section_name, 'enabled') \ and serv_config.get(provider_section_name, 'enabled'): enabled_provider_ids.append(provider.id) return [('id', 'in', enabled_provider_ids)]
def write(self, vals): for rec in self: key = vals.get('key') or rec.key if serv_config.has_option(SECTION, key): # enforce value from config file newvals = dict(vals, value=serv_config.get(SECTION, key)) else: newvals = vals super(IrConfigParameter, rec).write(newvals)
def write(self, vals): for rec in self: key = vals.get("key") or rec.key if serv_config.has_option(SECTION, key): # enforce value from config file newvals = dict(vals, value=serv_config.get(SECTION, key)) else: newvals = vals super().write(newvals) return True
def _compute_user_id(self): for rec in self: section = rec.auth_api_key_name login_name = serv_config.get(section, "user") user_model = self.env["res.users"] if serv_config.has_option(section, "allow_inactive_user"): allow_inactive_user = serv_config.getboolean( section, "allow_inactive_user") if allow_inactive_user: user_model = user_model.with_context(active_test=False) rec.user_id = user_model.search([("login", "=", login_name)])
def _retrieve_uid_from_api_key(self, api_key): if not self.env.user.has_group("base.group_system"): raise AccessError(_("User is not allowed")) for section in serv_config.sections(): if section.startswith("api_key_") and serv_config.has_option( section, "key"): if not consteq(api_key, serv_config.get(section, "key")): continue login_name = serv_config.get(section, "user") uid = self.env["res.users"].search([("login", "=", login_name) ]).id if not uid: raise ValidationError( _("No user found with login %s") % login_name) return uid return False
def _compute_server_env(self): for backend in self: for field_name in self._server_env_fields: section_name = '.'.join( (self._name.replace('.', '_'), backend.name)) try: value = serv_config.get(section_name, field_name) backend[field_name] = value except: _logger.exception( 'error trying to read field %s ' 'in section %s', field_name, section_name)
def _compute_server_env(self): for backend in self: for field_name in ('uri', 'verify_ssl', 'odoo_webhook_base_url'): section_name = '.'.join( (self._name.replace('.', '_'), backend.name)) try: value = serv_config.get(section_name, field_name) if field_name == 'verify_ssl' and value: value = is_true(value) setattr(backend, field_name, value) except: _logger.exception( 'error trying to read field %s ' 'in section %s', field_name, section_name)
def migrate(cr, version): _logger.info("Create auth_api.key records from odoo config") with odoo.api.Environment.manage(): env = odoo.api.Environment(cr, odoo.SUPERUSER_ID, {}) for section in serv_config.sections(): if section.startswith("api_key_") and serv_config.has_option( section, "key"): login_name = serv_config.get(section, "user") name = section.replace("api_key_", "") key = "<set from server environment>" user = env["res.users"].search([("login", "=", login_name)]) env["auth.api.key"].create({ "name": name, "key": key, "user_id": user.id }) _logger.info("API Key record created for %s", section)
def get_param(self, key, default=False): value = super(IrConfigParameter, self).get_param(key, default=None) if serv_config.has_option(SECTION, key): cvalue = serv_config.get(SECTION, key) if not cvalue: raise UserError(_("Key %s is empty in " "server_environment_file") % (key, )) if cvalue != value: # we write in db on first access; # should we have preloaded values in database at, # server startup, modules loading their parameters # from data files would break on unique key error. self.sudo().set_param(key, cvalue) value = cvalue if value is None: return default return value
def create(self, vals): key = vals.get('key') if serv_config.has_option(SECTION, key): # enforce value from config file vals = dict(vals, value=serv_config.get(SECTION, key)) return super(IrConfigParameter, self).create(vals)
def test_value_retrival(self): val = serv_config.get('external_service.ftp', 'user') self.assertEqual(val, 'toto')
def create(self, vals): key = vals.get("key") if serv_config.has_option(SECTION, key): # enforce value from config file vals = dict(vals, value=serv_config.get(SECTION, key)) return super().create(vals)