From 15fe7fe641f0a3a02c8bf8fb8ffe8c0a0459aaf7 Mon Sep 17 00:00:00 2001 From: David Beal Date: Mon, 13 May 2019 19:12:58 +0200 Subject: [PATCH] ADD module carrier_environment --- carrier_environment/__init__.py | 1 + carrier_environment/__manifest__.py | 16 ++++++++++ carrier_environment/models/__init__.py | 1 + carrier_environment/models/carrier_account.py | 28 +++++++++++++++++ carrier_environment/readme/CONFIGURE.rst | 30 +++++++++++++++++++ carrier_environment/readme/CONTRIBUTORS.rst | 2 ++ carrier_environment/readme/DESCRIPTION.rst | 3 ++ carrier_environment/readme/USAGE.rst | 3 ++ oca_dependencies.txt | 1 + 9 files changed, 85 insertions(+) create mode 100644 carrier_environment/__init__.py create mode 100644 carrier_environment/__manifest__.py create mode 100644 carrier_environment/models/__init__.py create mode 100644 carrier_environment/models/carrier_account.py create mode 100644 carrier_environment/readme/CONFIGURE.rst create mode 100644 carrier_environment/readme/CONTRIBUTORS.rst create mode 100644 carrier_environment/readme/DESCRIPTION.rst create mode 100644 carrier_environment/readme/USAGE.rst create mode 100644 oca_dependencies.txt diff --git a/carrier_environment/__init__.py b/carrier_environment/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/carrier_environment/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/carrier_environment/__manifest__.py b/carrier_environment/__manifest__.py new file mode 100644 index 0000000..3418bd0 --- /dev/null +++ b/carrier_environment/__manifest__.py @@ -0,0 +1,16 @@ +# Copyright 2019 David BEAL @ Akretion +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + 'name': 'Carrier configuration with server_environment', + 'version': '12.0.1.0.0', + 'category': 'Tools', + 'summary': 'Configure carriers with server_environment_files', + 'author': "Akretion, Camptocamp, Odoo Community Association (OCA)", + 'license': 'AGPL-3', + 'website': 'https://github.com/OCA/server-env', + 'depends': [ + 'server_environment', + 'base_delivery_carrier_label', + ], +} diff --git a/carrier_environment/models/__init__.py b/carrier_environment/models/__init__.py new file mode 100644 index 0000000..2553ae3 --- /dev/null +++ b/carrier_environment/models/__init__.py @@ -0,0 +1 @@ +from . import carrier_account diff --git a/carrier_environment/models/carrier_account.py b/carrier_environment/models/carrier_account.py new file mode 100644 index 0000000..4889cbd --- /dev/null +++ b/carrier_environment/models/carrier_account.py @@ -0,0 +1,28 @@ +# Copyright 2019 David BEAL @ Akretion +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import api, models + + +class CarrierAccount(models.Model): + _name = "carrier.account" + _inherit = ["carrier.account", "server.env.mixin"] + + @property + def _server_env_fields(self): + carrier_fields = super()._server_env_fields + carrier_fields.update({ + "name": {}, + "account": {}, + "password": {}, + "file_format": {}, + }) + return carrier_fields + + @api.model + def _server_env_global_section_name(self): + """Name of the global section in the configuration files + + Can be customized in your model + """ + return 'carrier_account' diff --git a/carrier_environment/readme/CONFIGURE.rst b/carrier_environment/readme/CONFIGURE.rst new file mode 100644 index 0000000..dac6425 --- /dev/null +++ b/carrier_environment/readme/CONFIGURE.rst @@ -0,0 +1,30 @@ +With this module installed, the delivery carrier are +configured in the `server_environment_files` module (which is a module +you should provide, see the documentation of `server_environment` for +more information). + +In the configuration file of each environment, you may first use the +section `[carrier_account]`. + +Then for each server, you can define additional values or override the +default values with a section named `[carrier_account.resource_name]` where "resource_name" is the name of the server. + +Example of config file :: + + + [carrier_account] + # here is the default format + file_format = 'ZPL' + + + [carrier_account.mycarrier] + name = mycarrier + account = 587 + password = 123promenons-nous-dans-les-bois456cueillir-des-saucisses + + + [carrier_account.mycarrier2] + name = mycarrier2 + account = 666 + password = wazaaaaa + file_format = PDF diff --git a/carrier_environment/readme/CONTRIBUTORS.rst b/carrier_environment/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..088d720 --- /dev/null +++ b/carrier_environment/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* David Béal +* Guewen Baconnier diff --git a/carrier_environment/readme/DESCRIPTION.rst b/carrier_environment/readme/DESCRIPTION.rst new file mode 100644 index 0000000..8d64302 --- /dev/null +++ b/carrier_environment/readme/DESCRIPTION.rst @@ -0,0 +1,3 @@ +This module allows to configure carrier informations +using the `server_environment` mechanism: you can then have different +servers for the production and the test environment. diff --git a/carrier_environment/readme/USAGE.rst b/carrier_environment/readme/USAGE.rst new file mode 100644 index 0000000..7ace055 --- /dev/null +++ b/carrier_environment/readme/USAGE.rst @@ -0,0 +1,3 @@ +Once configured, Odoo will read the carrier values from the +configuration file related to each environment defined in the main +Odoo file or in carrier.account model. diff --git a/oca_dependencies.txt b/oca_dependencies.txt new file mode 100644 index 0000000..46d2346 --- /dev/null +++ b/oca_dependencies.txt @@ -0,0 +1 @@ +delivery-carrier https://github.com/Timo17100-c2c/delivery-carrier 12.0-mig-base_delivery_carrier_label