From 5b5b55c8c7bbe475749e80ca4bbeda5fd64b9a7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20D=C3=ADaz?= Date: Thu, 20 Jun 2019 18:20:31 +0200 Subject: [PATCH] [MIG] base_external_system: Migration to 12.0 --- base_external_system/README.rst | 89 ++-- base_external_system/__manifest__.py | 7 +- .../i18n/base_external_system.pot | 216 ++++---- base_external_system/readme/CONFIGURE.rst | 1 + base_external_system/readme/CONTRIBUTORS.rst | 2 + base_external_system/readme/DESCRIPTION.rst | 7 + base_external_system/readme/USAGE.rst | 32 ++ .../static/description/index.html | 465 ++++++++++++++++++ .../views/external_system_view.xml | 3 + 9 files changed, 679 insertions(+), 143 deletions(-) create mode 100644 base_external_system/readme/CONFIGURE.rst create mode 100644 base_external_system/readme/CONTRIBUTORS.rst create mode 100644 base_external_system/readme/DESCRIPTION.rst create mode 100644 base_external_system/readme/USAGE.rst create mode 100644 base_external_system/static/description/index.html diff --git a/base_external_system/README.rst b/base_external_system/README.rst index 174de9fd..6874e904 100755 --- a/base_external_system/README.rst +++ b/base_external_system/README.rst @@ -1,10 +1,29 @@ -.. image:: https://img.shields.io/badge/license-LGPL--3-blue.svg - :target: http://www.gnu.org/licenses/lgpl.html - :alt: License: LGPL-3 +==================== +Base External System +==================== -====================== -Base - External System -====================== +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github + :target: https://github.com/OCA/server-backend/tree/12.0/base_external_system + :alt: OCA/server-backend +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-backend-12-0/server-backend-12-0-base_external_system + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/253/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| This module provides an interface/adapter mechanism for the definition of remote systems. @@ -14,15 +33,25 @@ 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. -Implementation -============== +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +Configure external systems in Settings => Technical => External Systems + +Usage +===== The credentials for systems are stored in the ``external.system`` model, and are to be configured by the user. This model is the unified interface for the underlying adapters. Using the Interface -------------------- +~~~~~~~~~~~~~~~~~~~ Given an ``external.system`` singleton called ``external_system``, you would do the following to get the underlying system client: @@ -41,7 +70,7 @@ the file system interface in `OCA/server-tools/external_file_location `_. Creating an Adapter -------------------- +~~~~~~~~~~~~~~~~~~~ Modules looking to add an external system adapter should inherit the ``external.system.adapter`` model and override the following methods: @@ -50,47 +79,43 @@ Modules looking to add an external system adapter should inherit the * ``external_destroy_client``: Destroy the connection, if applicable. Does not need to be defined if the connection destroys itself. -Configuration -============= - -Configure external systems in Settings => Technical => External Systems - -.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas - :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/149/11.0 - Bug Tracker =========== -Bugs are tracked on `GitHub Issues -`_. In case of trouble, please -check there if your issue has already been reported. If you spotted it first, -help us smash it by providing detailed and welcomed feedback. +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. Credits ======= -Images ------- +Authors +~~~~~~~ -* Odoo Community Association: `Icon `_. +* LasLabs Contributors ------------- +~~~~~~~~~~~~ * Dave Lasley +* Alexandre Díaz -Maintainer ----------- +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. .. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association :target: https://odoo-community.org -This module is maintained by the OCA. - OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -To contribute to this module, please visit https://odoo-community.org. +This module is part of the `OCA/server-backend `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/base_external_system/__manifest__.py b/base_external_system/__manifest__.py index b1bcf852..7e10c32c 100644 --- a/base_external_system/__manifest__.py +++ b/base_external_system/__manifest__.py @@ -4,10 +4,11 @@ { "name": "Base External System", "summary": "Data models allowing for connection to external systems.", - "version": "11.0.1.0.0", + "version": "12.0.1.0.0", "category": "Base", - "website": "https://laslabs.com/", - "author": "LasLabs, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/server-backend", + "author": "LasLabs, " + "Odoo Community Association (OCA)", "license": "LGPL-3", "application": False, "installable": True, diff --git a/base_external_system/i18n/base_external_system.pot b/base_external_system/i18n/base_external_system.pot index d448cb46..774c41d3 100644 --- a/base_external_system/i18n/base_external_system.pot +++ b/base_external_system/i18n/base_external_system.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 11.0\n" +"Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: <>\n" "Language-Team: \n" @@ -14,16 +14,16 @@ msgstr "" "Plural-Forms: \n" #. module: base_external_system -#: model:ir.model.fields,help:base_external_system.field_external_system_adapter_company_ids -#: model:ir.model.fields,help:base_external_system.field_external_system_company_ids -#: model:ir.model.fields,help:base_external_system.field_external_system_os_company_ids +#: model:ir.model.fields,help:base_external_system.field_external_system__company_ids +#: model:ir.model.fields,help:base_external_system.field_external_system_adapter__company_ids +#: model:ir.model.fields,help:base_external_system.field_external_system_os__company_ids msgid "Access to this system is restricted to these companies." msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_company_ids -#: model:ir.model.fields,field_description:base_external_system.field_external_system_company_ids -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_company_ids +#: model:ir.model.fields,field_description:base_external_system.field_external_system__company_ids +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__company_ids +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__company_ids msgid "Companies" msgstr "" @@ -33,29 +33,29 @@ msgid "Connection name must be unique." msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_create_uid -#: model:ir.model.fields,field_description:base_external_system.field_external_system_create_uid -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_create_uid +#: model:ir.model.fields,field_description:base_external_system.field_external_system__create_uid +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__create_uid +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__create_uid msgid "Created by" msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_create_date -#: model:ir.model.fields,field_description:base_external_system.field_external_system_create_date -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_create_date +#: model:ir.model.fields,field_description:base_external_system.field_external_system__create_date +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__create_date +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__create_date msgid "Created on" msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_display_name -#: model:ir.model.fields,field_description:base_external_system.field_external_system_display_name -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_display_name +#: model:ir.model.fields,field_description:base_external_system.field_external_system__display_name +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__display_name +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__display_name msgid "Display Name" msgstr "" #. module: base_external_system #: model:ir.model,name:base_external_system.model_external_system -#: model:ir.ui.view,arch_db:base_external_system.external_system_view_form +#: model_terms:ir.ui.view,arch_db:base_external_system.external_system_view_form msgid "External System" msgstr "" @@ -72,15 +72,15 @@ msgstr "" #. module: base_external_system #: model:ir.actions.act_window,name:base_external_system.external_system_action #: model:ir.ui.menu,name:base_external_system.menu_external_system -#: model:ir.ui.view,arch_db:base_external_system.external_system_view_search -#: model:ir.ui.view,arch_db:base_external_system.external_system_view_tree +#: model_terms:ir.ui.view,arch_db:base_external_system.external_system_view_search +#: model_terms:ir.ui.view,arch_db:base_external_system.external_system_view_tree msgid "External Systems" msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_fingerprint -#: model:ir.model.fields,field_description:base_external_system.field_external_system_fingerprint -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_fingerprint +#: model:ir.model.fields,field_description:base_external_system.field_external_system__fingerprint +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__fingerprint +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__fingerprint msgid "Fingerprint" msgstr "" @@ -91,137 +91,137 @@ msgid "Fingerprint cannot be empty when Ignore Fingerprint is not checked." msgstr "" #. module: base_external_system -#: model:ir.ui.view,arch_db:base_external_system.external_system_view_search +#: model_terms:ir.ui.view,arch_db:base_external_system.external_system_view_search msgid "Group By" msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_host -#: model:ir.model.fields,field_description:base_external_system.field_external_system_host -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_host -#: model:ir.ui.view,arch_db:base_external_system.external_system_view_search +#: model:ir.model.fields,field_description:base_external_system.field_external_system__host +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__host +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__host +#: model_terms:ir.ui.view,arch_db:base_external_system.external_system_view_search msgid "Host" msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_id -#: model:ir.model.fields,field_description:base_external_system.field_external_system_id -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_id +#: model:ir.model.fields,field_description:base_external_system.field_external_system__id +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__id +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__id msgid "ID" msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_ignore_fingerprint -#: model:ir.model.fields,field_description:base_external_system.field_external_system_ignore_fingerprint -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_ignore_fingerprint +#: model:ir.model.fields,field_description:base_external_system.field_external_system__ignore_fingerprint +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__ignore_fingerprint +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__ignore_fingerprint msgid "Ignore Fingerprint" msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_interface -#: model:ir.model.fields,field_description:base_external_system.field_external_system_interface -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_interface +#: model:ir.model.fields,field_description:base_external_system.field_external_system__interface +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__interface +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__interface msgid "Interface" msgstr "" #. module: base_external_system -#: model:ir.ui.view,arch_db:base_external_system.external_system_view_form +#: model_terms:ir.ui.view,arch_db:base_external_system.external_system_view_form msgid "Keys" msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system___last_update -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter___last_update -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os___last_update +#: model:ir.model.fields,field_description:base_external_system.field_external_system____last_update +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter____last_update +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os____last_update msgid "Last Modified on" msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_write_uid -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_write_uid -#: model:ir.model.fields,field_description:base_external_system.field_external_system_write_uid +#: model:ir.model.fields,field_description:base_external_system.field_external_system__write_uid +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__write_uid +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__write_uid msgid "Last Updated by" msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_write_date -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_write_date -#: model:ir.model.fields,field_description:base_external_system.field_external_system_write_date +#: model:ir.model.fields,field_description:base_external_system.field_external_system__write_date +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__write_date +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__write_date msgid "Last Updated on" msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_name -#: model:ir.model.fields,field_description:base_external_system.field_external_system_name -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_name +#: model:ir.model.fields,field_description:base_external_system.field_external_system__name +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__name +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__name msgid "Name" msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_password -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_password -#: model:ir.model.fields,field_description:base_external_system.field_external_system_password +#: model:ir.model.fields,field_description:base_external_system.field_external_system__password +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__password +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__password msgid "Password" msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_port -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_port -#: model:ir.model.fields,field_description:base_external_system.field_external_system_port -#: model:ir.ui.view,arch_db:base_external_system.external_system_view_search +#: model:ir.model.fields,field_description:base_external_system.field_external_system__port +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__port +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__port +#: model_terms:ir.ui.view,arch_db:base_external_system.external_system_view_search msgid "Port" msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_private_key -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_private_key -#: model:ir.model.fields,field_description:base_external_system.field_external_system_private_key +#: model:ir.model.fields,field_description:base_external_system.field_external_system__private_key +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__private_key +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__private_key msgid "Private Key" msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_private_key_password -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_private_key_password -#: model:ir.model.fields,field_description:base_external_system.field_external_system_private_key_password +#: model:ir.model.fields,field_description:base_external_system.field_external_system__private_key_password +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__private_key_password +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__private_key_password msgid "Private Key Password" msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_remote_path -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_remote_path -#: model:ir.model.fields,field_description:base_external_system.field_external_system_remote_path +#: model:ir.model.fields,field_description:base_external_system.field_external_system__remote_path +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__remote_path +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__remote_path msgid "Remote Path" msgstr "" #. module: base_external_system -#: model:ir.model.fields,help:base_external_system.field_external_system_adapter_remote_path -#: model:ir.model.fields,help:base_external_system.field_external_system_os_remote_path -#: model:ir.model.fields,help:base_external_system.field_external_system_remote_path +#: model:ir.model.fields,help:base_external_system.field_external_system__remote_path +#: model:ir.model.fields,help:base_external_system.field_external_system_adapter__remote_path +#: model:ir.model.fields,help:base_external_system.field_external_system_os__remote_path msgid "Restrict to this directory path on the remote, if applicable." msgstr "" #. module: base_external_system -#: model:ir.model.fields,help:base_external_system.field_external_system_adapter_ignore_fingerprint -#: model:ir.model.fields,help:base_external_system.field_external_system_ignore_fingerprint -#: model:ir.model.fields,help:base_external_system.field_external_system_os_ignore_fingerprint +#: model:ir.model.fields,help:base_external_system.field_external_system__ignore_fingerprint +#: model:ir.model.fields,help:base_external_system.field_external_system_adapter__ignore_fingerprint +#: model:ir.model.fields,help:base_external_system.field_external_system_os__ignore_fingerprint msgid "Set this to `True` in order to ignore an invalid/unknown fingerprint from the system." msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_system_id -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_system_id +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__system_id +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__system_id msgid "System" msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_system_type -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_system_type -#: model:ir.model.fields,field_description:base_external_system.field_external_system_system_type +#: model:ir.model.fields,field_description:base_external_system.field_external_system__system_type +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__system_type +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__system_type msgid "System Type" msgstr "" #. module: base_external_system -#: model:ir.ui.view,arch_db:base_external_system.external_system_view_form +#: model_terms:ir.ui.view,arch_db:base_external_system.external_system_view_form msgid "Test Connection" msgstr "" @@ -232,73 +232,73 @@ msgid "The connection was a success." msgstr "" #. module: base_external_system -#: model:ir.model.fields,help:base_external_system.field_external_system_adapter_name -#: model:ir.model.fields,help:base_external_system.field_external_system_name -#: model:ir.model.fields,help:base_external_system.field_external_system_os_name +#: model:ir.model.fields,help:base_external_system.field_external_system__name +#: model:ir.model.fields,help:base_external_system.field_external_system_adapter__name +#: model:ir.model.fields,help:base_external_system.field_external_system_os__name msgid "This is the canonical (humanized) name for the system." msgstr "" #. module: base_external_system -#: model:ir.model.fields,help:base_external_system.field_external_system_adapter_host -#: model:ir.model.fields,help:base_external_system.field_external_system_host -#: model:ir.model.fields,help:base_external_system.field_external_system_os_host +#: model:ir.model.fields,help:base_external_system.field_external_system__host +#: model:ir.model.fields,help:base_external_system.field_external_system_adapter__host +#: model:ir.model.fields,help:base_external_system.field_external_system_os__host msgid "This is the domain or IP address that the system can be reached at." msgstr "" #. module: base_external_system -#: model:ir.model.fields,help:base_external_system.field_external_system_adapter_fingerprint -#: model:ir.model.fields,help:base_external_system.field_external_system_fingerprint -#: model:ir.model.fields,help:base_external_system.field_external_system_os_fingerprint +#: model:ir.model.fields,help:base_external_system.field_external_system__fingerprint +#: model:ir.model.fields,help:base_external_system.field_external_system_adapter__fingerprint +#: model:ir.model.fields,help:base_external_system.field_external_system_os__fingerprint msgid "This is the fingerprint that is advertised by this system in order to validate its identity." msgstr "" #. module: base_external_system -#: model:ir.model.fields,help:base_external_system.field_external_system_adapter_interface -#: model:ir.model.fields,help:base_external_system.field_external_system_interface -#: model:ir.model.fields,help:base_external_system.field_external_system_os_interface +#: model:ir.model.fields,help:base_external_system.field_external_system__interface +#: model:ir.model.fields,help:base_external_system.field_external_system_adapter__interface +#: model:ir.model.fields,help:base_external_system.field_external_system_os__interface msgid "This is the interface that this system represents. It is created automatically upon creation of the external system." msgstr "" #. module: base_external_system -#: model:ir.model.fields,help:base_external_system.field_external_system_adapter_password -#: model:ir.model.fields,help:base_external_system.field_external_system_os_password -#: model:ir.model.fields,help:base_external_system.field_external_system_password +#: model:ir.model.fields,help:base_external_system.field_external_system__password +#: model:ir.model.fields,help:base_external_system.field_external_system_adapter__password +#: model:ir.model.fields,help:base_external_system.field_external_system_os__password msgid "This is the password that is used for authenticating to this system, if applicable." msgstr "" #. module: base_external_system -#: model:ir.model.fields,help:base_external_system.field_external_system_adapter_private_key_password -#: model:ir.model.fields,help:base_external_system.field_external_system_os_private_key_password -#: model:ir.model.fields,help:base_external_system.field_external_system_private_key_password +#: model:ir.model.fields,help:base_external_system.field_external_system__private_key_password +#: model:ir.model.fields,help:base_external_system.field_external_system_adapter__private_key_password +#: model:ir.model.fields,help:base_external_system.field_external_system_os__private_key_password msgid "This is the password to unlock the private key that was provided for this sytem." msgstr "" #. module: base_external_system -#: model:ir.model.fields,help:base_external_system.field_external_system_adapter_port -#: model:ir.model.fields,help:base_external_system.field_external_system_os_port -#: model:ir.model.fields,help:base_external_system.field_external_system_port +#: model:ir.model.fields,help:base_external_system.field_external_system__port +#: model:ir.model.fields,help:base_external_system.field_external_system_adapter__port +#: model:ir.model.fields,help:base_external_system.field_external_system_os__port msgid "This is the port number that the system is listening on." msgstr "" #. module: base_external_system -#: model:ir.model.fields,help:base_external_system.field_external_system_adapter_private_key -#: model:ir.model.fields,help:base_external_system.field_external_system_os_private_key -#: model:ir.model.fields,help:base_external_system.field_external_system_private_key +#: model:ir.model.fields,help:base_external_system.field_external_system__private_key +#: model:ir.model.fields,help:base_external_system.field_external_system_adapter__private_key +#: model:ir.model.fields,help:base_external_system.field_external_system_os__private_key msgid "This is the private key that is used for authenticating to this system, if applicable." msgstr "" #. module: base_external_system -#: model:ir.model.fields,help:base_external_system.field_external_system_adapter_username -#: model:ir.model.fields,help:base_external_system.field_external_system_os_username -#: model:ir.model.fields,help:base_external_system.field_external_system_username +#: model:ir.model.fields,help:base_external_system.field_external_system__username +#: model:ir.model.fields,help:base_external_system.field_external_system_adapter__username +#: model:ir.model.fields,help:base_external_system.field_external_system_os__username msgid "This is the username that is used for authenticating to this system, if applicable." msgstr "" #. module: base_external_system -#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter_username -#: model:ir.model.fields,field_description:base_external_system.field_external_system_os_username -#: model:ir.model.fields,field_description:base_external_system.field_external_system_username -#: model:ir.ui.view,arch_db:base_external_system.external_system_view_search +#: model:ir.model.fields,field_description:base_external_system.field_external_system__username +#: model:ir.model.fields,field_description:base_external_system.field_external_system_adapter__username +#: model:ir.model.fields,field_description:base_external_system.field_external_system_os__username +#: model_terms:ir.ui.view,arch_db:base_external_system.external_system_view_search msgid "Username" msgstr "" diff --git a/base_external_system/readme/CONFIGURE.rst b/base_external_system/readme/CONFIGURE.rst new file mode 100644 index 00000000..0efcd867 --- /dev/null +++ b/base_external_system/readme/CONFIGURE.rst @@ -0,0 +1 @@ +Configure external systems in Settings => Technical => External Systems diff --git a/base_external_system/readme/CONTRIBUTORS.rst b/base_external_system/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..2a95bd4b --- /dev/null +++ b/base_external_system/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Dave Lasley +* Alexandre Díaz diff --git a/base_external_system/readme/DESCRIPTION.rst b/base_external_system/readme/DESCRIPTION.rst new file mode 100644 index 00000000..c06b0818 --- /dev/null +++ b/base_external_system/readme/DESCRIPTION.rst @@ -0,0 +1,7 @@ +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. diff --git a/base_external_system/readme/USAGE.rst b/base_external_system/readme/USAGE.rst new file mode 100644 index 00000000..7f358b53 --- /dev/null +++ b/base_external_system/readme/USAGE.rst @@ -0,0 +1,32 @@ +The credentials for systems are stored in the ``external.system`` model, and are to +be configured by the user. This model is the unified interface for the underlying +adapters. + +Using the Interface +~~~~~~~~~~~~~~~~~~~ + +Given an ``external.system`` singleton called ``external_system``, you would do the +following to get the underlying system client: + +.. code-block:: python + + with external_system.client() as client: + client.do_something() + +The client will be destroyed once the context has completed. Destruction takes place +in the adapter's ``external_destroy_client`` method. + +The only unified aspect of this interface is the client connection itself. Other more +opinionated interface/adapter mechanisms can be implemented in other modules, such as +the file system interface in `OCA/server-tools/external_file_location +`_. + +Creating an Adapter +~~~~~~~~~~~~~~~~~~~ + +Modules looking to add an external system adapter should inherit the +``external.system.adapter`` model and override the following methods: + +* ``external_get_client``: Returns a usable client for the system +* ``external_destroy_client``: Destroy the connection, if applicable. Does not need + to be defined if the connection destroys itself. diff --git a/base_external_system/static/description/index.html b/base_external_system/static/description/index.html new file mode 100644 index 00000000..4bada30a --- /dev/null +++ b/base_external_system/static/description/index.html @@ -0,0 +1,465 @@ + + + + + + +Base External System + + + +
+

Base External System

+ + +

Beta License: LGPL-3 OCA/server-backend Translate me on Weblate Try me on Runbot

+

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.

+

Table of contents

+ +
+

Configuration

+

Configure external systems in Settings => Technical => External Systems

+
+
+

Usage

+

The credentials for systems are stored in the external.system model, and are to +be configured by the user. This model is the unified interface for the underlying +adapters.

+
+

Using the Interface

+

Given an external.system singleton called external_system, you would do the +following to get the underlying system client:

+
+with external_system.client() as client:
+    client.do_something()
+
+

The client will be destroyed once the context has completed. Destruction takes place +in the adapter’s external_destroy_client method.

+

The only unified aspect of this interface is the client connection itself. Other more +opinionated interface/adapter mechanisms can be implemented in other modules, such as +the file system interface in OCA/server-tools/external_file_location.

+
+
+

Creating an Adapter

+

Modules looking to add an external system adapter should inherit the +external.system.adapter model and override the following methods:

+
    +
  • external_get_client: Returns a usable client for the system
  • +
  • external_destroy_client: Destroy the connection, if applicable. Does not need +to be defined if the connection destroys itself.
  • +
+
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • LasLabs
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/server-backend project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/base_external_system/views/external_system_view.xml b/base_external_system/views/external_system_view.xml index e1ed17cb..809bc4f4 100755 --- a/base_external_system/views/external_system_view.xml +++ b/base_external_system/views/external_system_view.xml @@ -77,12 +77,15 @@