Repository
OCA/server-backend · module folder · Try on Runboat
Module version
1.0.0
Category
Base
Folder size
0.08 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/server-backend
Last tracking update
2026-08-11 17:15:20
Authors
Odoo Community Association (OCA), Therp BV, LasLabs
Maintainers
Odoo Community Association (OCA), Therp BV, LasLabs
Committers
Ronald Portier, Weblate, OCA-git-bot, oca-ci, Andrii9090-tecnativa
Odoo dependencies
odoo/odoo:
Python dependencies
None
System dependencies
None
Required by
None
Description
This module provides an interface/adapter mechanism for the definition
of remote systems.

Note that this module stores everything in plain text. In the interest
of security, it is recommended you use another module (such as keychain
or red_october to encrypt things like the password and private key).
This is not done here in order to not force a specific security method.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
external_system_view_form external.system.view.form external.system form New
external_system_view_list external.system.view.list external.system list New
external_system_view_search external.system.view.search external.system search New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (3)

New fields (14)
  • company_ids Many2many → res.company
    comodel_name='res.company' default=<expr> help='Access to this system is restricted to these companies.' required=True string='Companies'
  • fingerprint Text
    help='This is the fingerprint that is advertised by this system in order to validate its identity.'
  • host Char
    help='This is the domain or IP address that the system can be reached at.'
  • ignore_fingerprint Boolean
    default=True help='Set this to `True` in order to ignore an invalid/unknown fingerprint from the system.'
  • name Char
    help='This is the canonical (humanized) name for the system.' required=True
  • password Char
    help='This is the password that is used for authenticating to this system, if applicable.'
  • port Integer
    help='This is the port number that the system is listening on.'
  • private_key Text
    help='This is the private key that is used for authenticating to this system, if applicable.'
  • private_key_password Text
    help='This is the password to unlock the private key that was provided for this sytem.'
  • private_key_thumbprint Text
    help='The thumbprint generated by AAD when you upload your public cert'
  • remote_path Char
    help='Restrict to this directory path on the remote, if applicable.'
  • scheme Char
    help='This is the protocol used to communicate with the system.'
  • system_type Selection
    required=True selection=<expr>
  • username Char
    help='This is the username that is used for authenticating to this system, if applicable.'
Public methods (3)
  • action_test_connection(self)
    Test the connection to the external system. Any unexpected exception will be transformed into a ValidationError. A ValidationError will also be raised if no client is returned.
  • check_fingerprint_ignore_fingerprint(self)
    @api.constrains('fingerprint', 'ignore_fingerprint')
    Do not allow a blank fingerprint if not set to ignore.
  • client(self)
    @contextmanager
    Client object usable as a context manager to include destruction. Yields the result from ``external_get_client``, then calls ``external_destroy_client`` to cleanup the client. Yields: mixed: An object representing the client connection to the remote system.

New fields (0)

No new fields.

Public methods (3)
  • external_destroy_client(self, client)
    @api.model
    Perform any logic necessary to destroy the client connection. Args: client (mixed): The client that was returned by ``external_get_client``.
  • external_get_client(self)
    @api.model
    Return a usable client representing the remote system.
  • get_system(self)
    Get system from environment.

New fields (0)

No new fields.

Public methods (5)
  • del_previous_dir(self)
    Get system from environment.
  • external_destroy_client(self, client)
    @api.model
    Perform any logic necessary to destroy the client connection.
  • external_get_client(self)
    @api.model
    Return a usable client representing the remote system.
  • get_previous_dir(self)
    Get previous_dir from adapter_memory.
  • set_previous_dir(self, value)
    Store previous_dir in adapter_memor.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…