diff --git a/delivery_carrier_account/README.rst b/delivery_carrier_account/README.rst new file mode 100644 index 0000000000..3c065ef85e --- /dev/null +++ b/delivery_carrier_account/README.rst @@ -0,0 +1,80 @@ +======================== +Delivery Carrier Account +======================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:0d69cb8e7ac318fd52c43f0fdc96da42c0d04eb7030e1de965d4cc831ac513e9 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github + :target: https://github.com/OCA/delivery-carrier/tree/18.0/delivery_carrier_account + :alt: OCA/delivery-carrier +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/delivery-carrier-18-0/delivery-carrier-18-0-delivery_carrier_account + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/delivery-carrier&target_branch=18.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module add a class to configure all the carrier accounts as well as +a method to get the right account depending on the delivery method + +**Table of contents** + +.. contents:: + :local: + +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 to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Akretion + +Contributors +------------ + +- Florian da Costa +- `Heliconia Solutions Pvt. Ltd. `__ + + - Bhavesh Heliconia + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +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/delivery-carrier `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/delivery_carrier_account/__init__.py b/delivery_carrier_account/__init__.py new file mode 100644 index 0000000000..0650744f6b --- /dev/null +++ b/delivery_carrier_account/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/delivery_carrier_account/__manifest__.py b/delivery_carrier_account/__manifest__.py new file mode 100644 index 0000000000..aa90bc8a87 --- /dev/null +++ b/delivery_carrier_account/__manifest__.py @@ -0,0 +1,21 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +{ + "name": "Delivery Carrier Account", + "version": "18.0.1.0.0", + "author": "Akretion,Odoo Community Association (OCA)", + "maintainer": "Akretion", + "category": "Delivery", + "depends": [ + "stock_delivery", + ], + "website": "https://github.com/OCA/delivery-carrier", + "data": [ + "views/carrier_account.xml", + "views/delivery_carrier.xml", + "security/ir.model.access.csv", + "security/carrier_security.xml", + ], + "installable": True, + "auto_install": False, + "license": "AGPL-3", +} diff --git a/delivery_carrier_account/i18n/delivery_carrier_account.pot b/delivery_carrier_account/i18n/delivery_carrier_account.pot new file mode 100644 index 0000000000..7264ba03bf --- /dev/null +++ b/delivery_carrier_account/i18n/delivery_carrier_account.pot @@ -0,0 +1,105 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * delivery_carrier_account +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_delivery_carrier__carrier_account_id +msgid "Account" +msgstr "" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__account +msgid "Account Number" +msgstr "" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__password +msgid "Account Password" +msgstr "" + +#. module: delivery_carrier_account +#: model:ir.model,name:delivery_carrier_account.model_carrier_account +msgid "Base account datas" +msgstr "" + +#. module: delivery_carrier_account +#: model:ir.actions.act_window,name:delivery_carrier_account.action_carrier_account +#: model:ir.ui.menu,name:delivery_carrier_account.carrier_account_menu +msgid "Carrier Account" +msgstr "" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__company_id +msgid "Company" +msgstr "" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__create_uid +msgid "Created by" +msgstr "" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__create_date +msgid "Created on" +msgstr "" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__delivery_type +msgid "Delivery Type" +msgstr "" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__display_name +msgid "Display Name" +msgstr "" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__id +msgid "ID" +msgstr "" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__write_date +msgid "Last Updated on" +msgstr "" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__name +msgid "Name" +msgstr "" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__sequence +msgid "Sequence" +msgstr "" + +#. module: delivery_carrier_account +#: model:ir.model,name:delivery_carrier_account.model_delivery_carrier +msgid "Shipping Methods" +msgstr "" + +#. module: delivery_carrier_account +#: model:ir.model.fields,help:delivery_carrier_account.field_carrier_account__delivery_type +msgid "This field may be used to link an account to a carrier" +msgstr "" + +#. module: delivery_carrier_account +#: model:ir.model,name:delivery_carrier_account.model_stock_picking +msgid "Transfer" +msgstr "" diff --git a/delivery_carrier_account/i18n/es.po b/delivery_carrier_account/i18n/es.po new file mode 100644 index 0000000000..761c20a587 --- /dev/null +++ b/delivery_carrier_account/i18n/es.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * delivery_carrier_account +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-11-29 11:34+0000\n" +"Last-Translator: Javier Sanchez \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_delivery_carrier__carrier_account_id +msgid "Account" +msgstr "Cuenta" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__account +msgid "Account Number" +msgstr "Número de Cuenta" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__password +msgid "Account Password" +msgstr "Contraseña de la cuenta" + +#. module: delivery_carrier_account +#: model:ir.model,name:delivery_carrier_account.model_carrier_account +msgid "Base account datas" +msgstr "Datos de la cuenta base" + +#. module: delivery_carrier_account +#: model:ir.actions.act_window,name:delivery_carrier_account.action_carrier_account +#: model:ir.ui.menu,name:delivery_carrier_account.carrier_account_menu +msgid "Carrier Account" +msgstr "Cuenta del transportista" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__company_id +msgid "Company" +msgstr "Compañía" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__delivery_type +msgid "Delivery Type" +msgstr "Tipo de entrega" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__display_name +msgid "Display Name" +msgstr "Mostrar Nombre" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__id +msgid "ID" +msgstr "ID(identificación)" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__write_uid +msgid "Last Updated by" +msgstr "Actualizado por última vez por" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__name +msgid "Name" +msgstr "Nombre" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__sequence +msgid "Sequence" +msgstr "Secuencia" + +#. module: delivery_carrier_account +#: model:ir.model,name:delivery_carrier_account.model_delivery_carrier +msgid "Shipping Methods" +msgstr "Métodos de envío" + +#. module: delivery_carrier_account +#: model:ir.model.fields,help:delivery_carrier_account.field_carrier_account__delivery_type +msgid "This field may be used to link an account to a carrier" +msgstr "" +"Este campo puede utilizarse para vincular una cuenta a un transportista" + +#. module: delivery_carrier_account +#: model:ir.model,name:delivery_carrier_account.model_stock_picking +msgid "Transfer" +msgstr "Transferencia" + +#~ msgid "Last Modified on" +#~ msgstr "Modificado por última vez el" diff --git a/delivery_carrier_account/i18n/it.po b/delivery_carrier_account/i18n/it.po new file mode 100644 index 0000000000..139eade16a --- /dev/null +++ b/delivery_carrier_account/i18n/it.po @@ -0,0 +1,108 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * delivery_carrier_account +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-08-22 10:06+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_delivery_carrier__carrier_account_id +msgid "Account" +msgstr "Conto" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__account +msgid "Account Number" +msgstr "Numero conto" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__password +msgid "Account Password" +msgstr "Password dell'account" + +#. module: delivery_carrier_account +#: model:ir.model,name:delivery_carrier_account.model_carrier_account +msgid "Base account datas" +msgstr "Dati account base" + +#. module: delivery_carrier_account +#: model:ir.actions.act_window,name:delivery_carrier_account.action_carrier_account +#: model:ir.ui.menu,name:delivery_carrier_account.carrier_account_menu +msgid "Carrier Account" +msgstr "Account corriere" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__company_id +msgid "Company" +msgstr "Azienda" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__delivery_type +msgid "Delivery Type" +msgstr "Tipo consegna" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__id +msgid "ID" +msgstr "ID" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__name +msgid "Name" +msgstr "Nome" + +#. module: delivery_carrier_account +#: model:ir.model.fields,field_description:delivery_carrier_account.field_carrier_account__sequence +msgid "Sequence" +msgstr "Sequenza" + +#. module: delivery_carrier_account +#: model:ir.model,name:delivery_carrier_account.model_delivery_carrier +msgid "Shipping Methods" +msgstr "Metodi di spedizione" + +#. module: delivery_carrier_account +#: model:ir.model.fields,help:delivery_carrier_account.field_carrier_account__delivery_type +msgid "This field may be used to link an account to a carrier" +msgstr "Campo che può essere usato per collegare un account a un corriere" + +#. module: delivery_carrier_account +#: model:ir.model,name:delivery_carrier_account.model_stock_picking +msgid "Transfer" +msgstr "Trasferimento" diff --git a/delivery_carrier_account/models/__init__.py b/delivery_carrier_account/models/__init__.py new file mode 100644 index 0000000000..92005662bf --- /dev/null +++ b/delivery_carrier_account/models/__init__.py @@ -0,0 +1,3 @@ +from . import stock_picking +from . import carrier_account +from . import delivery_carrier diff --git a/delivery_carrier_account/models/carrier_account.py b/delivery_carrier_account/models/carrier_account.py new file mode 100644 index 0000000000..86916ced38 --- /dev/null +++ b/delivery_carrier_account/models/carrier_account.py @@ -0,0 +1,27 @@ +# Copyright 2014-2022 Florian da Costa Akretion . +# Copyright 2014 Camptocamp SA +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import api, fields, models + + +class CarrierAccount(models.Model): + _name = "carrier.account" + _description = "Base account datas" + _order = "sequence" + + @api.model + def _get_selection_delivery_type(self): + return self.env["delivery.carrier"].fields_get(allfields=["delivery_type"])[ + "delivery_type" + ]["selection"] + + name = fields.Char(required=True) + sequence = fields.Integer() + delivery_type = fields.Selection( + selection="_get_selection_delivery_type", + help="This field may be used to link an account to a carrier", + ) + account = fields.Char(string="Account Number", required=True) + password = fields.Char(string="Account Password", required=True) + company_id = fields.Many2one(comodel_name="res.company", string="Company") diff --git a/delivery_carrier_account/models/delivery_carrier.py b/delivery_carrier_account/models/delivery_carrier.py new file mode 100644 index 0000000000..3e9a18f375 --- /dev/null +++ b/delivery_carrier_account/models/delivery_carrier.py @@ -0,0 +1,15 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + + +from odoo import fields, models + + +class DeliveryCarrier(models.Model): + _inherit = "delivery.carrier" + + carrier_account_id = fields.Many2one( + "carrier.account", + string="Account", + company_dependent=True, + domain="[('delivery_type', '=', delivery_type)]", + ) diff --git a/delivery_carrier_account/models/stock_picking.py b/delivery_carrier_account/models/stock_picking.py new file mode 100644 index 0000000000..7cc10ff17d --- /dev/null +++ b/delivery_carrier_account/models/stock_picking.py @@ -0,0 +1,19 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + + +from odoo import models + + +class StockPicking(models.Model): + _inherit = "stock.picking" + + # All carrier module implementation should use this method in order to get the + # carrier account, instead of doing directly "picking.carrier_id.carrier_account_id" + # this way, it leaves the possibility to override globally (for all carriers) + # the way to get the carrier account. + # For instance, if a case requires to have multiple carrier account per delivery + # method, using a method leaves the possibility to implements the multiple + # account logic and make it work for all carrier modules installed. + def _get_carrier_account(self): + self.ensure_one() + return self.carrier_id.carrier_account_id diff --git a/delivery_carrier_account/pyproject.toml b/delivery_carrier_account/pyproject.toml new file mode 100644 index 0000000000..4231d0cccb --- /dev/null +++ b/delivery_carrier_account/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/delivery_carrier_account/readme/CONTRIBUTORS.md b/delivery_carrier_account/readme/CONTRIBUTORS.md new file mode 100644 index 0000000000..fea5238215 --- /dev/null +++ b/delivery_carrier_account/readme/CONTRIBUTORS.md @@ -0,0 +1,3 @@ +- Florian da Costa \<\> +- [Heliconia Solutions Pvt. Ltd.](https://www.heliconia.io) + - Bhavesh Heliconia diff --git a/delivery_carrier_account/readme/DESCRIPTION.md b/delivery_carrier_account/readme/DESCRIPTION.md new file mode 100644 index 0000000000..33e1ab9253 --- /dev/null +++ b/delivery_carrier_account/readme/DESCRIPTION.md @@ -0,0 +1,2 @@ +This module add a class to configure all the carrier accounts as well as +a method to get the right account depending on the delivery method diff --git a/delivery_carrier_account/security/carrier_security.xml b/delivery_carrier_account/security/carrier_security.xml new file mode 100644 index 0000000000..fbb78bd726 --- /dev/null +++ b/delivery_carrier_account/security/carrier_security.xml @@ -0,0 +1,12 @@ + + + + Carrier Account multi-company + + + ['|',('company_id','=',False),('company_id', 'in', company_ids)] + + + diff --git a/delivery_carrier_account/security/ir.model.access.csv b/delivery_carrier_account/security/ir.model.access.csv new file mode 100644 index 0000000000..9574a86127 --- /dev/null +++ b/delivery_carrier_account/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_read_carrier_account_inventory_user,carrier.account.inventory.user,model_carrier_account,stock.group_stock_user,1,0,0,0 +access_all_carrier_account_inventory_manager,carrier.account.inventory.manager,model_carrier_account,stock.group_stock_manager,1,1,1,1 diff --git a/delivery_carrier_account/static/description/icon.png b/delivery_carrier_account/static/description/icon.png new file mode 100644 index 0000000000..3a0328b516 Binary files /dev/null and b/delivery_carrier_account/static/description/icon.png differ diff --git a/delivery_carrier_account/static/description/index.html b/delivery_carrier_account/static/description/index.html new file mode 100644 index 0000000000..b5ac110192 --- /dev/null +++ b/delivery_carrier_account/static/description/index.html @@ -0,0 +1,428 @@ + + + + + +Delivery Carrier Account + + + +
+

Delivery Carrier Account

+ + +

Beta License: AGPL-3 OCA/delivery-carrier Translate me on Weblate Try me on Runboat

+

This module add a class to configure all the carrier accounts as well as +a method to get the right account depending on the delivery method

+

Table of contents

+ +
+

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 to smash it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Akretion
  • +
+
+
+

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/delivery-carrier project on GitHub.

+

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

+
+
+
+ + diff --git a/delivery_carrier_account/tests/__init__.py b/delivery_carrier_account/tests/__init__.py new file mode 100644 index 0000000000..fc33716b83 --- /dev/null +++ b/delivery_carrier_account/tests/__init__.py @@ -0,0 +1 @@ +from . import test_carrier_account diff --git a/delivery_carrier_account/tests/test_carrier_account.py b/delivery_carrier_account/tests/test_carrier_account.py new file mode 100644 index 0000000000..0b9fec10c3 --- /dev/null +++ b/delivery_carrier_account/tests/test_carrier_account.py @@ -0,0 +1,43 @@ +# Copyright 2020 Hunki Enterprises BV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo.tests.common import TransactionCase + + +class TestCarrierAccount(TransactionCase): + def test_get_carrier_account(self): + """Test finding the correct account for a picking""" + account = self.env["carrier.account"].create( + { + "name": "Account", + "account": "account", + "password": "password", + "delivery_type": "base_on_rule", + "sequence": 1, + } + ) + carrier = self.env.ref("delivery.delivery_carrier") + carrier.write({"carrier_account_id": account.id}) + pick = self.env["stock.picking"].new( + dict( + carrier_id=carrier.id, + company_id=self.env.user.company_id.id, + ) + ) + + picking_account = pick._get_carrier_account() + self.assertEqual(picking_account, account) + + def test_get_selection_delivery_type(self): + """Test that the delivery type selection is correctly fetched""" + carrier_account = self.env["carrier.account"].create( + { + "name": "Test Account", + "account": "test_account", + "password": "test_password", + "delivery_type": "base_on_rule", + "sequence": 1, + } + ) + selection = carrier_account._get_selection_delivery_type() + self.assertIn("base_on_rule", [item[0] for item in selection]) diff --git a/delivery_carrier_account/views/carrier_account.xml b/delivery_carrier_account/views/carrier_account.xml new file mode 100644 index 0000000000..54423d8a84 --- /dev/null +++ b/delivery_carrier_account/views/carrier_account.xml @@ -0,0 +1,44 @@ + + + + carrier.account + + + + + + + + + + + carrier.account + +
+ +
+

+ +

+
+ + + + + + +
+
+
+
+ + Carrier Account + carrier.account + list,form + + +
diff --git a/delivery_carrier_account/views/delivery_carrier.xml b/delivery_carrier_account/views/delivery_carrier.xml new file mode 100644 index 0000000000..254757633c --- /dev/null +++ b/delivery_carrier_account/views/delivery_carrier.xml @@ -0,0 +1,16 @@ + + + + delivery.carrier + + + + + + + +