From 5d05c356e069429fde4605fef0091922495d65d6 Mon Sep 17 00:00:00 2001 From: Thierry Ducrest Date: Fri, 23 Sep 2022 18:01:43 +0200 Subject: [PATCH 01/23] [MIG] rename account_invoice_base_invoicing_mode --- partner_invoicing_mode/README.rst | 103 ++++ partner_invoicing_mode/__init__.py | 1 + partner_invoicing_mode/__manifest__.py | 16 + .../data/queue_job_data.xml | 19 + partner_invoicing_mode/models/__init__.py | 4 + .../models/account_invoice.py | 11 + partner_invoicing_mode/models/queue_job.py | 35 ++ partner_invoicing_mode/models/res_partner.py | 21 + partner_invoicing_mode/models/sale_order.py | 10 + .../readme/CONTRIBUTORS.rst | 5 + partner_invoicing_mode/readme/CREDITS.rst | 3 + partner_invoicing_mode/readme/DESCRIPTION.rst | 9 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 458 ++++++++++++++++++ partner_invoicing_mode/views/res_partner.xml | 16 + 15 files changed, 711 insertions(+) create mode 100644 partner_invoicing_mode/README.rst create mode 100644 partner_invoicing_mode/__init__.py create mode 100644 partner_invoicing_mode/__manifest__.py create mode 100644 partner_invoicing_mode/data/queue_job_data.xml create mode 100644 partner_invoicing_mode/models/__init__.py create mode 100644 partner_invoicing_mode/models/account_invoice.py create mode 100644 partner_invoicing_mode/models/queue_job.py create mode 100644 partner_invoicing_mode/models/res_partner.py create mode 100644 partner_invoicing_mode/models/sale_order.py create mode 100644 partner_invoicing_mode/readme/CONTRIBUTORS.rst create mode 100644 partner_invoicing_mode/readme/CREDITS.rst create mode 100644 partner_invoicing_mode/readme/DESCRIPTION.rst create mode 100644 partner_invoicing_mode/static/description/icon.png create mode 100644 partner_invoicing_mode/static/description/index.html create mode 100644 partner_invoicing_mode/views/res_partner.xml diff --git a/partner_invoicing_mode/README.rst b/partner_invoicing_mode/README.rst new file mode 100644 index 00000000000..c817c52b768 --- /dev/null +++ b/partner_invoicing_mode/README.rst @@ -0,0 +1,103 @@ +=================================== +Account Invoice Base Invoicing Mode +=================================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! 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-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%2Faccount--invoicing-lightgray.png?logo=github + :target: https://github.com/OCA/account-invoicing/tree/14.0/account_invoice_base_invoicing_mode + :alt: OCA/account-invoicing +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/account-invoicing-14-0/account-invoicing-14-0-account_invoice_base_invoicing_mode + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/95/14.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This is a base module for implementing different invoicing mode for customers. +It adds a selection field `invoicing_mode` in the Accounting tab of the partner +with a default value (Odoo standard invoicing mode). +But it serves no purpose installed on its own. + +The following modules use it to install specific invoicing mode : + + * `account_invoice_mode_at_shipping` + * `account_invoice_mode_monthly` + +**Table of contents** + +.. contents:: + :local: + +Known issues / Roadmap +====================== + +On the version 13.0 PR it has been discussed to rename the modules like this: + + * account_invoice_base_invoicing_mode -> partner_invoicing_mode + * account_invoice_mode_monthly -> partner_invoicing_mode_monthly + * account_invoice_mode_at_shipping -> partner_invoicing_mode_at_shipping + +It would be great to do it, during the version 15.0 migration. + +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 +~~~~~~~ + +* Camptocamp + +Contributors +~~~~~~~~~~~~ + +* `Camptocamp `_: + + * Thierry Ducrest + +* Phuc (Tran Thanh) + +Other credits +~~~~~~~~~~~~~ + +The development of this module has been financially supported by: + +* Camptocamp + +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/account-invoicing `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/partner_invoicing_mode/__init__.py b/partner_invoicing_mode/__init__.py new file mode 100644 index 00000000000..0650744f6bc --- /dev/null +++ b/partner_invoicing_mode/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/partner_invoicing_mode/__manifest__.py b/partner_invoicing_mode/__manifest__.py new file mode 100644 index 00000000000..80637188749 --- /dev/null +++ b/partner_invoicing_mode/__manifest__.py @@ -0,0 +1,16 @@ +# Copyright 2020 Camptocamp +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +{ + "name": "Partner Invoicing Mode", + "version": "15.0.1.0.0", + "summary": "Base module for handling multiple partner invoicing mode", + "author": "Camptocamp, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/account-invoicing", + "license": "AGPL-3", + "category": "Accounting & Finance", + "depends": ["account", "queue_job", "sale"], + "data": [ + "data/queue_job_data.xml", + "views/res_partner.xml", + ], +} diff --git a/partner_invoicing_mode/data/queue_job_data.xml b/partner_invoicing_mode/data/queue_job_data.xml new file mode 100644 index 00000000000..5dd93d67bc5 --- /dev/null +++ b/partner_invoicing_mode/data/queue_job_data.xml @@ -0,0 +1,19 @@ + + + + + invoice_validation + + + + + + + _validate_invoice + + + + diff --git a/partner_invoicing_mode/models/__init__.py b/partner_invoicing_mode/models/__init__.py new file mode 100644 index 00000000000..fcce316ab83 --- /dev/null +++ b/partner_invoicing_mode/models/__init__.py @@ -0,0 +1,4 @@ +from . import account_invoice +from . import queue_job +from . import res_partner +from . import sale_order diff --git a/partner_invoicing_mode/models/account_invoice.py b/partner_invoicing_mode/models/account_invoice.py new file mode 100644 index 00000000000..16eb5fe34ef --- /dev/null +++ b/partner_invoicing_mode/models/account_invoice.py @@ -0,0 +1,11 @@ +# Copyright 2020 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import models + + +class AccountMove(models.Model): + _inherit = "account.move" + + def _validate_invoice(self): + return self.sudo().action_post() diff --git a/partner_invoicing_mode/models/queue_job.py b/partner_invoicing_mode/models/queue_job.py new file mode 100644 index 00000000000..2365261768d --- /dev/null +++ b/partner_invoicing_mode/models/queue_job.py @@ -0,0 +1,35 @@ +# Copyright 2020 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import _, models + + +class QueueJob(models.Model): + _inherit = "queue.job" + + def related_action_open_invoice(self): + """Open a form view with the invoice related to the job.""" + self.ensure_one() + model_name = self.model_name + records = self.env[model_name].browse(self.record_ids).exists() + if not records: + return None + action = { + "name": _("Related Record"), + "type": "ir.actions.act_window", + "view_type": "form", + "view_mode": "form", + "res_model": records._name, + } + if len(records) == 1: + action["res_id"] = records.id + else: + action.update( + { + "name": _("Related Records"), + "view_mode": "tree,form", + "view_id": "account.view_invoice_tree", + "domain": [("id", "in", records.ids)], + } + ) + return action diff --git a/partner_invoicing_mode/models/res_partner.py b/partner_invoicing_mode/models/res_partner.py new file mode 100644 index 00000000000..12daffd111e --- /dev/null +++ b/partner_invoicing_mode/models/res_partner.py @@ -0,0 +1,21 @@ +# Copyright 2020 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import api, fields, models + + +class ResPartner(models.Model): + _inherit = "res.partner" + + invoicing_mode = fields.Selection([("standard", "Standard")], default="standard") + one_invoice_per_order = fields.Boolean( + default=False, + help="Do not group sale order into one invoice.", + ) + + @api.model + def _commercial_fields(self): + return super()._commercial_fields() + [ + "invoicing_mode", + "one_invoice_per_order", + ] diff --git a/partner_invoicing_mode/models/sale_order.py b/partner_invoicing_mode/models/sale_order.py new file mode 100644 index 00000000000..aa0f5832296 --- /dev/null +++ b/partner_invoicing_mode/models/sale_order.py @@ -0,0 +1,10 @@ +# Copyright 2020 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import fields, models + + +class SaleOrder(models.Model): + _inherit = "sale.order" + + invoicing_mode = fields.Selection(related="partner_invoice_id.invoicing_mode") diff --git a/partner_invoicing_mode/readme/CONTRIBUTORS.rst b/partner_invoicing_mode/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000000..ecddfcde7f4 --- /dev/null +++ b/partner_invoicing_mode/readme/CONTRIBUTORS.rst @@ -0,0 +1,5 @@ +* `Camptocamp `_: + + * Thierry Ducrest + +* Phuc (Tran Thanh) diff --git a/partner_invoicing_mode/readme/CREDITS.rst b/partner_invoicing_mode/readme/CREDITS.rst new file mode 100644 index 00000000000..f5cc070c78e --- /dev/null +++ b/partner_invoicing_mode/readme/CREDITS.rst @@ -0,0 +1,3 @@ +The development of this module has been financially supported by: + +* Camptocamp diff --git a/partner_invoicing_mode/readme/DESCRIPTION.rst b/partner_invoicing_mode/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..24dc0dad880 --- /dev/null +++ b/partner_invoicing_mode/readme/DESCRIPTION.rst @@ -0,0 +1,9 @@ +This is a base module for implementing different invoicing mode for customers. +It adds a selection field `invoicing_mode` in the Accounting tab of the partner +with a default value (Odoo standard invoicing mode). +But it serves no purpose installed on its own. + +The following modules use it to install specific invoicing mode : + + * `partner_invoicing_mode_at_shipping` + * `partner_invoicing_mode_monthly` diff --git a/partner_invoicing_mode/static/description/icon.png b/partner_invoicing_mode/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/partner_invoicing_mode/static/description/index.html b/partner_invoicing_mode/static/description/index.html new file mode 100644 index 00000000000..1e5804f6e94 --- /dev/null +++ b/partner_invoicing_mode/static/description/index.html @@ -0,0 +1,458 @@ + + + + + + +Account Invoice Base Invoicing Mode + + + +
+

Account Invoice Base Invoicing Mode

+ + +

Beta License: AGPL-3 OCA/account-invoicing Translate me on Weblate Try me on Runbot

+

This is a base module for implementing different invoicing mode for customers. +It adds a selection field invoicing_mode in the Accounting tab of the partner +with a default value (Odoo standard invoicing mode). +But it serves no purpose installed on its own.

+

The following modules use it to install specific invoicing mode :

+
+
    +
  • account_invoice_mode_at_shipping
  • +
  • account_invoice_mode_monthly
  • +
+
+

Table of contents

+ +
+

Known issues / Roadmap

+

On the version 13.0 PR it has been discussed to rename the modules like this:

+
+
    +
  • account_invoice_base_invoicing_mode -> partner_invoicing_mode
  • +
  • account_invoice_mode_monthly -> partner_invoicing_mode_monthly
  • +
  • account_invoice_mode_at_shipping -> partner_invoicing_mode_at_shipping
  • +
+
+

It would be great to do it, during the version 15.0 migration.

+
+
+

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

+
    +
  • Camptocamp
  • +
+
+
+

Contributors

+ +
+
+

Other credits

+

The development of this module has been financially supported by:

+
    +
  • Camptocamp
  • +
+
+
+

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/account-invoicing project on GitHub.

+

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

+
+
+
+ + diff --git a/partner_invoicing_mode/views/res_partner.xml b/partner_invoicing_mode/views/res_partner.xml new file mode 100644 index 00000000000..dd5a9042004 --- /dev/null +++ b/partner_invoicing_mode/views/res_partner.xml @@ -0,0 +1,16 @@ + + + + view_partner_property_form_base_invoicing_mode + res.partner + + + + + + + + + + + From 8fb161d1d5ca2109c47116c62acf52702aae88a0 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Fri, 21 Apr 2023 00:44:03 +0000 Subject: [PATCH 02/23] [UPD] Update partner_invoicing_mode.pot --- .../i18n/partner_invoicing_mode.pot | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 partner_invoicing_mode/i18n/partner_invoicing_mode.pot diff --git a/partner_invoicing_mode/i18n/partner_invoicing_mode.pot b/partner_invoicing_mode/i18n/partner_invoicing_mode.pot new file mode 100644 index 00000000000..5dca68b34d2 --- /dev/null +++ b/partner_invoicing_mode/i18n/partner_invoicing_mode.pot @@ -0,0 +1,59 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_invoicing_mode +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.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: partner_invoicing_mode +#: model:ir.model,name:partner_invoicing_mode.model_res_partner +msgid "Contact" +msgstr "" + +#. module: partner_invoicing_mode +#: model:ir.model.fields,help:partner_invoicing_mode.field_res_partner__one_invoice_per_order +#: model:ir.model.fields,help:partner_invoicing_mode.field_res_users__one_invoice_per_order +msgid "Do not group sale order into one invoice." +msgstr "" + +#. module: partner_invoicing_mode +#: model:ir.model.fields,field_description:partner_invoicing_mode.field_res_partner__invoicing_mode +#: model:ir.model.fields,field_description:partner_invoicing_mode.field_res_users__invoicing_mode +#: model:ir.model.fields,field_description:partner_invoicing_mode.field_sale_order__invoicing_mode +#: model_terms:ir.ui.view,arch_db:partner_invoicing_mode.view_partner_property_form +msgid "Invoicing Mode" +msgstr "" + +#. module: partner_invoicing_mode +#: model:ir.model,name:partner_invoicing_mode.model_account_move +msgid "Journal Entry" +msgstr "" + +#. module: partner_invoicing_mode +#: model:ir.model.fields,field_description:partner_invoicing_mode.field_res_partner__one_invoice_per_order +#: model:ir.model.fields,field_description:partner_invoicing_mode.field_res_users__one_invoice_per_order +msgid "One Invoice Per Order" +msgstr "" + +#. module: partner_invoicing_mode +#: model:ir.model,name:partner_invoicing_mode.model_queue_job +msgid "Queue Job" +msgstr "" + +#. module: partner_invoicing_mode +#: model:ir.model,name:partner_invoicing_mode.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: partner_invoicing_mode +#: model:ir.model.fields.selection,name:partner_invoicing_mode.selection__res_partner__invoicing_mode__standard +msgid "Standard" +msgstr "" From e5e36c6b9e2d1f9bd2a4db241cde525f2cdc107f Mon Sep 17 00:00:00 2001 From: Stefan Rijnhart Date: Wed, 30 Nov 2022 16:32:16 +0100 Subject: [PATCH 03/23] [MIG] partner_invoicing_mode: Migration to 16.0 [UPD] Update partner_invoicing_mode.pot [UPD] README.rst partner_invoicing_mode 16.0.1.0.1 --- partner_invoicing_mode/README.rst | 31 ++++------- partner_invoicing_mode/__manifest__.py | 2 +- partner_invoicing_mode/models/queue_job.py | 28 ++-------- .../static/description/index.html | 53 +++++++------------ partner_invoicing_mode/tests/__init__.py | 1 + .../tests/test_invoice_mode.py | 23 ++++++++ 6 files changed, 59 insertions(+), 79 deletions(-) create mode 100644 partner_invoicing_mode/tests/__init__.py create mode 100644 partner_invoicing_mode/tests/test_invoice_mode.py diff --git a/partner_invoicing_mode/README.rst b/partner_invoicing_mode/README.rst index c817c52b768..0d8b6d92348 100644 --- a/partner_invoicing_mode/README.rst +++ b/partner_invoicing_mode/README.rst @@ -1,6 +1,6 @@ -=================================== -Account Invoice Base Invoicing Mode -=================================== +====================== +Partner Invoicing Mode +====================== .. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! @@ -14,13 +14,13 @@ Account Invoice Base Invoicing Mode :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Faccount--invoicing-lightgray.png?logo=github - :target: https://github.com/OCA/account-invoicing/tree/14.0/account_invoice_base_invoicing_mode + :target: https://github.com/OCA/account-invoicing/tree/16.0/partner_invoicing_mode :alt: OCA/account-invoicing .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/account-invoicing-14-0/account-invoicing-14-0-account_invoice_base_invoicing_mode + :target: https://translation.odoo-community.org/projects/account-invoicing-16-0/account-invoicing-16-0-partner_invoicing_mode :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/95/14.0 + :target: https://runbot.odoo-community.org/runbot/95/16.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -32,32 +32,21 @@ But it serves no purpose installed on its own. The following modules use it to install specific invoicing mode : - * `account_invoice_mode_at_shipping` - * `account_invoice_mode_monthly` + * `partner_invoicing_mode_at_shipping` + * `partner_invoicing_mode_monthly` **Table of contents** .. contents:: :local: -Known issues / Roadmap -====================== - -On the version 13.0 PR it has been discussed to rename the modules like this: - - * account_invoice_base_invoicing_mode -> partner_invoicing_mode - * account_invoice_mode_monthly -> partner_invoicing_mode_monthly - * account_invoice_mode_at_shipping -> partner_invoicing_mode_at_shipping - -It would be great to do it, during the version 15.0 migration. - 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 `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -98,6 +87,6 @@ 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/account-invoicing `_ project on GitHub. +This module is part of the `OCA/account-invoicing `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/partner_invoicing_mode/__manifest__.py b/partner_invoicing_mode/__manifest__.py index 80637188749..5361c299161 100644 --- a/partner_invoicing_mode/__manifest__.py +++ b/partner_invoicing_mode/__manifest__.py @@ -2,7 +2,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { "name": "Partner Invoicing Mode", - "version": "15.0.1.0.0", + "version": "16.0.1.0.1", "summary": "Base module for handling multiple partner invoicing mode", "author": "Camptocamp, Odoo Community Association (OCA)", "website": "https://github.com/OCA/account-invoicing", diff --git a/partner_invoicing_mode/models/queue_job.py b/partner_invoicing_mode/models/queue_job.py index 2365261768d..0a05d499f29 100644 --- a/partner_invoicing_mode/models/queue_job.py +++ b/partner_invoicing_mode/models/queue_job.py @@ -1,7 +1,7 @@ # Copyright 2020 Camptocamp SA # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) -from odoo import _, models +from odoo import models class QueueJob(models.Model): @@ -9,27 +9,7 @@ class QueueJob(models.Model): def related_action_open_invoice(self): """Open a form view with the invoice related to the job.""" - self.ensure_one() - model_name = self.model_name - records = self.env[model_name].browse(self.record_ids).exists() - if not records: - return None - action = { - "name": _("Related Record"), - "type": "ir.actions.act_window", - "view_type": "form", - "view_mode": "form", - "res_model": records._name, - } - if len(records) == 1: - action["res_id"] = records.id - else: - action.update( - { - "name": _("Related Records"), - "view_mode": "tree,form", - "view_id": "account.view_invoice_tree", - "domain": [("id", "in", records.ids)], - } - ) + action = self.related_action_open_record() + if len(self.records.exists()) > 1: + action["view_id"] = self.env.ref("account.view_out_invoice_tree").id return action diff --git a/partner_invoicing_mode/static/description/index.html b/partner_invoicing_mode/static/description/index.html index 1e5804f6e94..22e6236cf9d 100644 --- a/partner_invoicing_mode/static/description/index.html +++ b/partner_invoicing_mode/static/description/index.html @@ -4,7 +4,7 @@ -Account Invoice Base Invoicing Mode +Partner Invoicing Mode -
-

Account Invoice Base Invoicing Mode

+
+

Partner Invoicing Mode

-

Beta License: AGPL-3 OCA/account-invoicing Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/account-invoicing Translate me on Weblate Try me on Runbot

This is a base module for implementing different invoicing mode for customers. It adds a selection field invoicing_mode in the Accounting tab of the partner with a default value (Odoo standard invoicing mode). @@ -375,54 +375,41 @@

Account Invoice Base Invoicing Mode

The following modules use it to install specific invoicing mode :

    -
  • account_invoice_mode_at_shipping
  • -
  • account_invoice_mode_monthly
  • +
  • partner_invoicing_mode_at_shipping
  • +
  • partner_invoicing_mode_monthly

Table of contents

-
-

Known issues / Roadmap

-

On the version 13.0 PR it has been discussed to rename the modules like this:

-
-
    -
  • account_invoice_base_invoicing_mode -> partner_invoicing_mode
  • -
  • account_invoice_mode_monthly -> partner_invoicing_mode_monthly
  • -
  • account_invoice_mode_at_shipping -> partner_invoicing_mode_at_shipping
  • -
-
-

It would be great to do it, during the version 15.0 migration.

-
-

Bug Tracker

+

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.

+feedback.

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

-

Credits

+

Credits

-

Authors

+

Authors

  • Camptocamp
-

Other credits

+

Other credits

The development of this module has been financially supported by:

  • Camptocamp
-

Maintainers

+

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/account-invoicing project on GitHub.

+

This module is part of the OCA/account-invoicing project on GitHub.

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

diff --git a/partner_invoicing_mode/tests/__init__.py b/partner_invoicing_mode/tests/__init__.py new file mode 100644 index 00000000000..b7042127326 --- /dev/null +++ b/partner_invoicing_mode/tests/__init__.py @@ -0,0 +1 @@ +from . import test_invoice_mode diff --git a/partner_invoicing_mode/tests/test_invoice_mode.py b/partner_invoicing_mode/tests/test_invoice_mode.py new file mode 100644 index 00000000000..d4292df2868 --- /dev/null +++ b/partner_invoicing_mode/tests/test_invoice_mode.py @@ -0,0 +1,23 @@ +# Copyright 2022 Opener B.V. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo.tests.common import TransactionCase + + +class TestInvoiceModeAtShipping(TransactionCase): + def test_invoice_job_related_action(self): + """Dedicated invoice view is present in queue job's multi invoice action""" + invoice1 = self.env.ref("account.1_demo_invoice_1").copy() + invoice2 = self.env.ref("account.1_demo_invoice_1").copy() + job_single = self.env["queue.job"].search( + [("uuid", "=", invoice1.with_delay()._validate_invoice().uuid)] + ) + action_single = job_single.open_related_action() + self.assertFalse(action_single.get("view_id")) + job_multi = self.env["queue.job"].search( + [("uuid", "=", (invoice1 + invoice2).with_delay()._validate_invoice().uuid)] + ) + action_multi = job_multi.open_related_action() + self.assertEqual( + action_multi["view_id"], self.env.ref("account.view_out_invoice_tree").id + ) From eada5050b38c2112f8b1c6e7b30a2eb1c9486a65 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Sat, 29 Jul 2023 08:40:50 +0000 Subject: [PATCH 04/23] Added translation using Weblate (Spanish) Translated using Weblate (Spanish) Currently translated at 100.0% (8 of 8 strings) Translation: account-invoicing-16.0/account-invoicing-16.0-partner_invoicing_mode Translate-URL: https://translation.odoo-community.org/projects/account-invoicing-16-0/account-invoicing-16-0-partner_invoicing_mode/es/ [UPD] README.rst --- partner_invoicing_mode/README.rst | 15 +++-- partner_invoicing_mode/i18n/es.po | 62 +++++++++++++++++++ .../static/description/index.html | 38 ++++++------ 3 files changed, 91 insertions(+), 24 deletions(-) create mode 100644 partner_invoicing_mode/i18n/es.po diff --git a/partner_invoicing_mode/README.rst b/partner_invoicing_mode/README.rst index 0d8b6d92348..0767a0739d8 100644 --- a/partner_invoicing_mode/README.rst +++ b/partner_invoicing_mode/README.rst @@ -2,10 +2,13 @@ Partner Invoicing Mode ====================== -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:fc19d648846007f947108671be97eabe981807c0dcdb6f4190a0f534d5a66316 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -19,11 +22,11 @@ Partner Invoicing Mode .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/account-invoicing-16-0/account-invoicing-16-0-partner_invoicing_mode :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/95/16.0 - :alt: Try me on Runbot +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/account-invoicing&target_branch=16.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| This is a base module for implementing different invoicing mode for customers. It adds a selection field `invoicing_mode` in the Accounting tab of the partner @@ -45,7 +48,7 @@ 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 +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. diff --git a/partner_invoicing_mode/i18n/es.po b/partner_invoicing_mode/i18n/es.po new file mode 100644 index 00000000000..e417cbfbfbb --- /dev/null +++ b/partner_invoicing_mode/i18n/es.po @@ -0,0 +1,62 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_invoicing_mode +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-07-29 10:09+0000\n" +"Last-Translator: Ivorra78 \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: partner_invoicing_mode +#: model:ir.model,name:partner_invoicing_mode.model_res_partner +msgid "Contact" +msgstr "Contacto" + +#. module: partner_invoicing_mode +#: model:ir.model.fields,help:partner_invoicing_mode.field_res_partner__one_invoice_per_order +#: model:ir.model.fields,help:partner_invoicing_mode.field_res_users__one_invoice_per_order +msgid "Do not group sale order into one invoice." +msgstr "No agrupar los pedidos de venta en una factura." + +#. module: partner_invoicing_mode +#: model:ir.model.fields,field_description:partner_invoicing_mode.field_res_partner__invoicing_mode +#: model:ir.model.fields,field_description:partner_invoicing_mode.field_res_users__invoicing_mode +#: model:ir.model.fields,field_description:partner_invoicing_mode.field_sale_order__invoicing_mode +#: model_terms:ir.ui.view,arch_db:partner_invoicing_mode.view_partner_property_form +msgid "Invoicing Mode" +msgstr "Modo de facturación" + +#. module: partner_invoicing_mode +#: model:ir.model,name:partner_invoicing_mode.model_account_move +msgid "Journal Entry" +msgstr "Entrada diaria" + +#. module: partner_invoicing_mode +#: model:ir.model.fields,field_description:partner_invoicing_mode.field_res_partner__one_invoice_per_order +#: model:ir.model.fields,field_description:partner_invoicing_mode.field_res_users__one_invoice_per_order +msgid "One Invoice Per Order" +msgstr "Una factura por pedido" + +#. module: partner_invoicing_mode +#: model:ir.model,name:partner_invoicing_mode.model_queue_job +msgid "Queue Job" +msgstr "Cola de trabajo" + +#. module: partner_invoicing_mode +#: model:ir.model,name:partner_invoicing_mode.model_sale_order +msgid "Sales Order" +msgstr "Órdenes de venta" + +#. module: partner_invoicing_mode +#: model:ir.model.fields.selection,name:partner_invoicing_mode.selection__res_partner__invoicing_mode__standard +msgid "Standard" +msgstr "Estándar" diff --git a/partner_invoicing_mode/static/description/index.html b/partner_invoicing_mode/static/description/index.html index 22e6236cf9d..5e65f4b3ba7 100644 --- a/partner_invoicing_mode/static/description/index.html +++ b/partner_invoicing_mode/static/description/index.html @@ -1,20 +1,20 @@ - + - + Partner Invoicing Mode