From 43b03e6be900f78b4f2d1693ad72aac6a19eb8ee Mon Sep 17 00:00:00 2001 From: scampbell Date: Sat, 20 Jul 2019 13:38:56 -0700 Subject: [PATCH 01/55] [ADD] sale_brand --- sale_brand/README.rst | 21 ++++ sale_brand/__init__.py | 4 + sale_brand/__manifest__.py | 23 ++++ sale_brand/models/__init__.py | 4 + sale_brand/models/sale_order.py | 21 ++++ sale_brand/readme/CONFIGURE.rst | 2 + sale_brand/readme/CONTRIBUTORS.rst | 3 + sale_brand/readme/CREDITS.rst | 1 + sale_brand/readme/DESCRIPTION.rst | 4 + sale_brand/readme/USAGE.rst | 8 ++ sale_brand/static/description/icon.png | Bin 0 -> 9455 bytes sale_brand/views/report_template.xml | 144 +++++++++++++++++++++++++ sale_brand/views/sale_views.xml | 17 +++ 13 files changed, 252 insertions(+) create mode 100644 sale_brand/README.rst create mode 100644 sale_brand/__init__.py create mode 100644 sale_brand/__manifest__.py create mode 100644 sale_brand/models/__init__.py create mode 100644 sale_brand/models/sale_order.py create mode 100644 sale_brand/readme/CONFIGURE.rst create mode 100644 sale_brand/readme/CONTRIBUTORS.rst create mode 100644 sale_brand/readme/CREDITS.rst create mode 100644 sale_brand/readme/DESCRIPTION.rst create mode 100644 sale_brand/readme/USAGE.rst create mode 100644 sale_brand/static/description/icon.png create mode 100644 sale_brand/views/report_template.xml create mode 100644 sale_brand/views/sale_views.xml diff --git a/sale_brand/README.rst b/sale_brand/README.rst new file mode 100644 index 000000000..21cd7854d --- /dev/null +++ b/sale_brand/README.rst @@ -0,0 +1,21 @@ +**This file is going to be generated by oca-gen-addon-readme.** + +*Manual changes will be overwritten.* + +Please provide content in the ``readme`` directory: + +* **DESCRIPTION.rst** (required) +* INSTALL.rst (optional) +* CONFIGURE.rst (optional) +* **USAGE.rst** (optional, highly recommended) +* DEVELOP.rst (optional) +* ROADMAP.rst (optional) +* HISTORY.rst (optional, recommended) +* **CONTRIBUTORS.rst** (optional, highly recommended) +* CREDITS.rst (optional) + +Content of this README will also be drawn from the addon manifest, +from keys such as name, authors, maintainers, development_status, +and license. + +A good, one sentence summary in the manifest is also highly recommended. diff --git a/sale_brand/__init__.py b/sale_brand/__init__.py new file mode 100644 index 000000000..33c2f06ef --- /dev/null +++ b/sale_brand/__init__.py @@ -0,0 +1,4 @@ +# Copyright (C) 2019 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import models diff --git a/sale_brand/__manifest__.py b/sale_brand/__manifest__.py new file mode 100644 index 000000000..e80564e03 --- /dev/null +++ b/sale_brand/__manifest__.py @@ -0,0 +1,23 @@ +# Copyright (C) 2019 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Sale Brand", + "summary": "Send branded sales orders", + "version": "12.0.1.0.0", + "category": "Sales Management", + "website": "https://github.com/OCA/sale-workflow", + "author": "Open Source Integrators, Odoo Community Association (OCA)", + "license": "AGPL-3", + "depends": [ + 'account_brand', + 'sale', + ], + "data": [ + "views/sale_views.xml", + "views/report_template.xml", + ], + "installable": True, + "development_status": "Beta", + "maintainers": ["osi-scampbell"], +} diff --git a/sale_brand/models/__init__.py b/sale_brand/models/__init__.py new file mode 100644 index 000000000..cc07d44a4 --- /dev/null +++ b/sale_brand/models/__init__.py @@ -0,0 +1,4 @@ +# Copyright (C) 2019 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import sale_order diff --git a/sale_brand/models/sale_order.py b/sale_brand/models/sale_order.py new file mode 100644 index 000000000..437faae9d --- /dev/null +++ b/sale_brand/models/sale_order.py @@ -0,0 +1,21 @@ +# Copyright (C) 2019 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class SaleOrder(models.Model): + _inherit = 'sale.order' + + brand_id = fields.Many2one( + 'res.partner', string='Brand', domain="[('type', '=', 'brand')]", + help="Brand to use for this sale") + + @api.multi + def _prepare_invoice(self): + for order in self: + invoice_vals = super(SaleOrder, order)._prepare_invoice() + invoice_vals.update({ + 'brand_id': order.brand_id.id, + }) + return invoice_vals diff --git a/sale_brand/readme/CONFIGURE.rst b/sale_brand/readme/CONFIGURE.rst new file mode 100644 index 000000000..a20e2200f --- /dev/null +++ b/sale_brand/readme/CONFIGURE.rst @@ -0,0 +1,2 @@ +To configure this module, please refer to the documentation of +`partner_brand `_. diff --git a/sale_brand/readme/CONTRIBUTORS.rst b/sale_brand/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..d9fb6931c --- /dev/null +++ b/sale_brand/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* Raphael Lee +* Steve Campbell +* Maxime Chambreuil diff --git a/sale_brand/readme/CREDITS.rst b/sale_brand/readme/CREDITS.rst new file mode 100644 index 000000000..dab2345c9 --- /dev/null +++ b/sale_brand/readme/CREDITS.rst @@ -0,0 +1 @@ +* Open Source Integrators diff --git a/sale_brand/readme/DESCRIPTION.rst b/sale_brand/readme/DESCRIPTION.rst new file mode 100644 index 000000000..16941ec37 --- /dev/null +++ b/sale_brand/readme/DESCRIPTION.rst @@ -0,0 +1,4 @@ +This module allows you to send branded quotations and sales orders to your +customers. +It adds a brand field on the quotation and propagate the value on +the invoices. diff --git a/sale_brand/readme/USAGE.rst b/sale_brand/readme/USAGE.rst new file mode 100644 index 000000000..a55741b5e --- /dev/null +++ b/sale_brand/readme/USAGE.rst @@ -0,0 +1,8 @@ +To use this module, you need to: + +#. Go to Sales > Quotations +#. Select or create a quotation +#. Enter the information and the brand +#. Print the PDF report. It includes the information of the brand. +#. Confirm the quotation and generate an invoice +#. Print the PDF report. It includes the information of the brand. diff --git a/sale_brand/static/description/icon.png b/sale_brand/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/sale_brand/views/report_template.xml b/sale_brand/views/report_template.xml new file mode 100644 index 000000000..7b936aa36 --- /dev/null +++ b/sale_brand/views/report_template.xml @@ -0,0 +1,144 @@ + + + + + + + diff --git a/sale_brand/views/sale_views.xml b/sale_brand/views/sale_views.xml new file mode 100644 index 000000000..c7c5931d0 --- /dev/null +++ b/sale_brand/views/sale_views.xml @@ -0,0 +1,17 @@ + + + + + + sale.order.form.brand + sale.order + + + + + + + + + From 366758eb6a7b426febe4df8e518a3bf4c3168596 Mon Sep 17 00:00:00 2001 From: Maxime Chambreuil Date: Sat, 20 Jul 2019 20:05:07 -0500 Subject: [PATCH 02/55] [DEL] sale_brand: More report to partner_brand --- sale_brand/README.rst | 120 +++++- sale_brand/__manifest__.py | 1 - sale_brand/i18n/sale_brand.pot | 30 ++ sale_brand/i18n/zh_CN.po | 32 ++ sale_brand/static/description/index.html | 452 +++++++++++++++++++++++ sale_brand/views/report_template.xml | 144 -------- 6 files changed, 618 insertions(+), 161 deletions(-) create mode 100644 sale_brand/i18n/sale_brand.pot create mode 100644 sale_brand/i18n/zh_CN.po create mode 100644 sale_brand/static/description/index.html delete mode 100644 sale_brand/views/report_template.xml diff --git a/sale_brand/README.rst b/sale_brand/README.rst index 21cd7854d..361de3efe 100644 --- a/sale_brand/README.rst +++ b/sale_brand/README.rst @@ -1,21 +1,109 @@ -**This file is going to be generated by oca-gen-addon-readme.** +========== +Sale Brand +========== -*Manual changes will be overwritten.* +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -Please provide content in the ``readme`` directory: +.. |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%2Fbrand-lightgray.png?logo=github + :target: https://github.com/OCA/brand/tree/12.0/sale_brand + :alt: OCA/brand +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/brand-12-0/brand-12-0-sale_brand + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/284/12.0 + :alt: Try me on Runbot -* **DESCRIPTION.rst** (required) -* INSTALL.rst (optional) -* CONFIGURE.rst (optional) -* **USAGE.rst** (optional, highly recommended) -* DEVELOP.rst (optional) -* ROADMAP.rst (optional) -* HISTORY.rst (optional, recommended) -* **CONTRIBUTORS.rst** (optional, highly recommended) -* CREDITS.rst (optional) +|badge1| |badge2| |badge3| |badge4| |badge5| -Content of this README will also be drawn from the addon manifest, -from keys such as name, authors, maintainers, development_status, -and license. +This module allows you to send branded quotations and sales orders to your +customers. +It adds a brand field on the quotation and propagate the value on +the invoices. -A good, one sentence summary in the manifest is also highly recommended. +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +To configure this module, please refer to the documentation of +`partner_brand `_. + +Usage +===== + +To use this module, you need to: + +#. Go to Sales > Quotations +#. Select or create a quotation +#. Enter the information and the brand +#. Print the PDF report. It includes the information of the brand. +#. Confirm the quotation and generate an invoice +#. Print the PDF report. It includes the information of the brand. + +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 +~~~~~~~ + +* Open Source Integrators + +Contributors +~~~~~~~~~~~~ + +* Raphael Lee +* Steve Campbell +* Maxime Chambreuil + +Other credits +~~~~~~~~~~~~~ + +* Open Source Integrators + +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. + +.. |maintainer-osi-scampbell| image:: https://github.com/osi-scampbell.png?size=40px + :target: https://github.com/osi-scampbell + :alt: osi-scampbell + +Current `maintainer `__: + +|maintainer-osi-scampbell| + +This module is part of the `OCA/brand `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/sale_brand/__manifest__.py b/sale_brand/__manifest__.py index e80564e03..a36e3a0fc 100644 --- a/sale_brand/__manifest__.py +++ b/sale_brand/__manifest__.py @@ -15,7 +15,6 @@ ], "data": [ "views/sale_views.xml", - "views/report_template.xml", ], "installable": True, "development_status": "Beta", diff --git a/sale_brand/i18n/sale_brand.pot b/sale_brand/i18n/sale_brand.pot new file mode 100644 index 000000000..5d371ee7c --- /dev/null +++ b/sale_brand/i18n/sale_brand.pot @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_brand +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.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: sale_brand +#: model:ir.model.fields,field_description:sale_brand.field_sale_order__brand_id +msgid "Brand" +msgstr "" + +#. module: sale_brand +#: model:ir.model.fields,help:sale_brand.field_sale_order__brand_id +msgid "Brand to use for this sale" +msgstr "" + +#. module: sale_brand +#: model:ir.model,name:sale_brand.model_sale_order +msgid "Sale Order" +msgstr "" + diff --git a/sale_brand/i18n/zh_CN.po b/sale_brand/i18n/zh_CN.po new file mode 100644 index 000000000..8e3fcb229 --- /dev/null +++ b/sale_brand/i18n/zh_CN.po @@ -0,0 +1,32 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_brand +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-09-01 09:03+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\n" +"Language-Team: none\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 3.8\n" + +#. module: sale_brand +#: model:ir.model.fields,field_description:sale_brand.field_sale_order__brand_id +msgid "Brand" +msgstr "品牌" + +#. module: sale_brand +#: model:ir.model.fields,help:sale_brand.field_sale_order__brand_id +msgid "Brand to use for this sale" +msgstr "品牌用于此次销售" + +#. module: sale_brand +#: model:ir.model,name:sale_brand.model_sale_order +msgid "Sale Order" +msgstr "销售订单" diff --git a/sale_brand/static/description/index.html b/sale_brand/static/description/index.html new file mode 100644 index 000000000..8c94aa7c2 --- /dev/null +++ b/sale_brand/static/description/index.html @@ -0,0 +1,452 @@ + + + + + + +Sale Brand + + + +
+

Sale Brand

+ + +

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

+

This module allows you to send branded quotations and sales orders to your +customers. +It adds a brand field on the quotation and propagate the value on +the invoices.

+

Table of contents

+ +
+

Configuration

+

To configure this module, please refer to the documentation of +partner_brand.

+
+
+

Usage

+

To use this module, you need to:

+
    +
  1. Go to Sales > Quotations
  2. +
  3. Select or create a quotation
  4. +
  5. Enter the information and the brand
  6. +
  7. Print the PDF report. It includes the information of the brand.
  8. +
  9. Confirm the quotation and generate an invoice
  10. +
  11. Print the PDF report. It includes the information of the brand.
  12. +
+
+
+

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

+
    +
  • Open Source Integrators
  • +
+
+ +
+

Other credits

+ +
+
+

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.

+

Current maintainer:

+

osi-scampbell

+

This module is part of the OCA/brand project on GitHub.

+

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

+
+
+
+ + diff --git a/sale_brand/views/report_template.xml b/sale_brand/views/report_template.xml deleted file mode 100644 index 7b936aa36..000000000 --- a/sale_brand/views/report_template.xml +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - From cd3e6bd0539bd8d37596b7839888c02527f04e30 Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Fri, 16 Aug 2019 13:57:40 +0200 Subject: [PATCH 03/55] [12.0][IMP] - dedicated model for partner model in sale_brand module --- sale_brand/__manifest__.py | 2 +- .../migrations/12.0.2.0.0/post-migration.py | 15 +++++++++++++++ .../migrations/12.0.2.0.0/pre-migration.py | 16 ++++++++++++++++ sale_brand/models/sale_order.py | 2 +- 4 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 sale_brand/migrations/12.0.2.0.0/post-migration.py create mode 100644 sale_brand/migrations/12.0.2.0.0/pre-migration.py diff --git a/sale_brand/__manifest__.py b/sale_brand/__manifest__.py index a36e3a0fc..8104336c7 100644 --- a/sale_brand/__manifest__.py +++ b/sale_brand/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Sale Brand", "summary": "Send branded sales orders", - "version": "12.0.1.0.0", + "version": "12.0.2.0.0", "category": "Sales Management", "website": "https://github.com/OCA/sale-workflow", "author": "Open Source Integrators, Odoo Community Association (OCA)", diff --git a/sale_brand/migrations/12.0.2.0.0/post-migration.py b/sale_brand/migrations/12.0.2.0.0/post-migration.py new file mode 100644 index 000000000..242f93c85 --- /dev/null +++ b/sale_brand/migrations/12.0.2.0.0/post-migration.py @@ -0,0 +1,15 @@ +# Copyright 2019 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import logging + +_logger = logging.getLogger(__name__) + + +def migrate(cr, version): + _logger.info("Move sale brand to res.brand model") + cr.execute(""" + UPDATE sale_order SET brand_id = brand.id + FROM res_brand brand + WHERE brand.partner_id=brand_id_tmp""") + cr.execute("""ALTER TABLE sale_order DROP COLUMN brand_id_tmp""") diff --git a/sale_brand/migrations/12.0.2.0.0/pre-migration.py b/sale_brand/migrations/12.0.2.0.0/pre-migration.py new file mode 100644 index 000000000..63d48fc69 --- /dev/null +++ b/sale_brand/migrations/12.0.2.0.0/pre-migration.py @@ -0,0 +1,16 @@ +# Copyright 2019 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import logging + +_logger = logging.getLogger(__name__) + + +def migrate(cr, version): + _logger.info("Move sale brand to res.brand model") + cr.execute( + """ALTER TABLE sale_order + ADD COLUMN brand_id_tmp INTEGER""" + ) + cr.execute("""UPDATE sale_order SET brand_id_tmp = brand_id""") + cr.execute("""ALTER TABLE sale_order DROP COLUMN brand_id""") diff --git a/sale_brand/models/sale_order.py b/sale_brand/models/sale_order.py index 437faae9d..a379d261f 100644 --- a/sale_brand/models/sale_order.py +++ b/sale_brand/models/sale_order.py @@ -8,7 +8,7 @@ class SaleOrder(models.Model): _inherit = 'sale.order' brand_id = fields.Many2one( - 'res.partner', string='Brand', domain="[('type', '=', 'brand')]", + 'res.brand', string='Brand', help="Brand to use for this sale") @api.multi From 2a6dd91e1d5fc6b405e53336bd6ff1ae90f74e53 Mon Sep 17 00:00:00 2001 From: Xavier Brochard Date: Fri, 25 Oct 2019 08:54:31 +0200 Subject: [PATCH 04/55] Fix URL was on OCA/partner-contact, switch to OCA/brand --- sale_brand/README.rst | 2 +- sale_brand/readme/CONFIGURE.rst | 2 +- sale_brand/static/description/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sale_brand/README.rst b/sale_brand/README.rst index 361de3efe..a629e8b83 100644 --- a/sale_brand/README.rst +++ b/sale_brand/README.rst @@ -39,7 +39,7 @@ Configuration ============= To configure this module, please refer to the documentation of -`partner_brand `_. +`partner_brand `_. Usage ===== diff --git a/sale_brand/readme/CONFIGURE.rst b/sale_brand/readme/CONFIGURE.rst index a20e2200f..bdf04f5e5 100644 --- a/sale_brand/readme/CONFIGURE.rst +++ b/sale_brand/readme/CONFIGURE.rst @@ -1,2 +1,2 @@ To configure this module, please refer to the documentation of -`partner_brand `_. +`partner_brand `_. diff --git a/sale_brand/static/description/index.html b/sale_brand/static/description/index.html index 8c94aa7c2..13508c855 100644 --- a/sale_brand/static/description/index.html +++ b/sale_brand/static/description/index.html @@ -390,7 +390,7 @@

Sale Brand

Configuration

To configure this module, please refer to the documentation of -partner_brand.

+partner_brand.

Usage

From c93221c3df41a496102ce7589ec6d00ff84a463c Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Thu, 31 Oct 2019 18:05:59 +0100 Subject: [PATCH 05/55] [12.0][REF] - Use brand mixin in branded sale orders definition --- sale_brand/__manifest__.py | 3 ++- sale_brand/i18n/hr.po | 33 +++++++++++++++++++++++++++++++++ sale_brand/i18n/sale_brand.pot | 10 ---------- sale_brand/models/sale_order.py | 9 +++------ 4 files changed, 38 insertions(+), 17 deletions(-) create mode 100644 sale_brand/i18n/hr.po diff --git a/sale_brand/__manifest__.py b/sale_brand/__manifest__.py index 8104336c7..46b2cf8dd 100644 --- a/sale_brand/__manifest__.py +++ b/sale_brand/__manifest__.py @@ -10,8 +10,9 @@ "author": "Open Source Integrators, Odoo Community Association (OCA)", "license": "AGPL-3", "depends": [ - 'account_brand', 'sale', + 'brand', + 'account_brand', ], "data": [ "views/sale_views.xml", diff --git a/sale_brand/i18n/hr.po b/sale_brand/i18n/hr.po new file mode 100644 index 000000000..40a05b61e --- /dev/null +++ b/sale_brand/i18n/hr.po @@ -0,0 +1,33 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_brand +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-11-13 15:34+0000\n" +"Last-Translator: Bole \n" +"Language-Team: none\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" +"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 3.8\n" + +#. module: sale_brand +#: model:ir.model.fields,field_description:sale_brand.field_sale_order__brand_id +msgid "Brand" +msgstr "Brand" + +#. module: sale_brand +#: model:ir.model.fields,help:sale_brand.field_sale_order__brand_id +msgid "Brand to use for this sale" +msgstr "Za ovu prodaju koristiti brand" + +#. module: sale_brand +#: model:ir.model,name:sale_brand.model_sale_order +msgid "Sale Order" +msgstr "Ponuda" diff --git a/sale_brand/i18n/sale_brand.pot b/sale_brand/i18n/sale_brand.pot index 5d371ee7c..234602f4c 100644 --- a/sale_brand/i18n/sale_brand.pot +++ b/sale_brand/i18n/sale_brand.pot @@ -13,16 +13,6 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" -#. module: sale_brand -#: model:ir.model.fields,field_description:sale_brand.field_sale_order__brand_id -msgid "Brand" -msgstr "" - -#. module: sale_brand -#: model:ir.model.fields,help:sale_brand.field_sale_order__brand_id -msgid "Brand to use for this sale" -msgstr "" - #. module: sale_brand #: model:ir.model,name:sale_brand.model_sale_order msgid "Sale Order" diff --git a/sale_brand/models/sale_order.py b/sale_brand/models/sale_order.py index a379d261f..693a71992 100644 --- a/sale_brand/models/sale_order.py +++ b/sale_brand/models/sale_order.py @@ -1,15 +1,12 @@ # Copyright (C) 2019 Open Source Integrators # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import api, fields, models +from odoo import api, models class SaleOrder(models.Model): - _inherit = 'sale.order' - - brand_id = fields.Many2one( - 'res.brand', string='Brand', - help="Brand to use for this sale") + _name = 'sale.order' + _inherit = ['sale.order', 'res.brand.mixin'] @api.multi def _prepare_invoice(self): From 5d22648e130b74c608e7bd2c005674246ead4c8f Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 15 Nov 2019 16:58:20 +0000 Subject: [PATCH 06/55] sale_brand 12.0.2.1.0 --- sale_brand/__manifest__.py | 2 +- sale_brand/i18n/hr.po | 22 +++++++++------------- sale_brand/i18n/zh_CN.po | 18 +++++++----------- 3 files changed, 17 insertions(+), 25 deletions(-) diff --git a/sale_brand/__manifest__.py b/sale_brand/__manifest__.py index 46b2cf8dd..7835fd272 100644 --- a/sale_brand/__manifest__.py +++ b/sale_brand/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Sale Brand", "summary": "Send branded sales orders", - "version": "12.0.2.0.0", + "version": "12.0.2.1.0", "category": "Sales Management", "website": "https://github.com/OCA/sale-workflow", "author": "Open Source Integrators, Odoo Community Association (OCA)", diff --git a/sale_brand/i18n/hr.po b/sale_brand/i18n/hr.po index 40a05b61e..30686568d 100644 --- a/sale_brand/i18n/hr.po +++ b/sale_brand/i18n/hr.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * sale_brand +# * sale_brand # msgid "" msgstr "" @@ -13,21 +13,17 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" -"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 3.8\n" -#. module: sale_brand -#: model:ir.model.fields,field_description:sale_brand.field_sale_order__brand_id -msgid "Brand" -msgstr "Brand" - -#. module: sale_brand -#: model:ir.model.fields,help:sale_brand.field_sale_order__brand_id -msgid "Brand to use for this sale" -msgstr "Za ovu prodaju koristiti brand" - #. module: sale_brand #: model:ir.model,name:sale_brand.model_sale_order msgid "Sale Order" msgstr "Ponuda" + +#~ msgid "Brand" +#~ msgstr "Brand" + +#~ msgid "Brand to use for this sale" +#~ msgstr "Za ovu prodaju koristiti brand" diff --git a/sale_brand/i18n/zh_CN.po b/sale_brand/i18n/zh_CN.po index 8e3fcb229..2d85e0d0e 100644 --- a/sale_brand/i18n/zh_CN.po +++ b/sale_brand/i18n/zh_CN.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * sale_brand +# * sale_brand # msgid "" msgstr "" @@ -16,17 +16,13 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 3.8\n" -#. module: sale_brand -#: model:ir.model.fields,field_description:sale_brand.field_sale_order__brand_id -msgid "Brand" -msgstr "品牌" - -#. module: sale_brand -#: model:ir.model.fields,help:sale_brand.field_sale_order__brand_id -msgid "Brand to use for this sale" -msgstr "品牌用于此次销售" - #. module: sale_brand #: model:ir.model,name:sale_brand.model_sale_order msgid "Sale Order" msgstr "销售订单" + +#~ msgid "Brand" +#~ msgstr "品牌" + +#~ msgid "Brand to use for this sale" +#~ msgstr "品牌用于此次销售" From e1878c7d02a6aea7d791b83d266acfba3b3d5595 Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Wed, 14 Aug 2019 17:39:14 +0200 Subject: [PATCH 07/55] [FIX] - set brand for down payment invoices --- sale_brand/__init__.py | 1 + sale_brand/wizard/__init__.py | 1 + sale_brand/wizard/sale_make_invoice_advance.py | 15 +++++++++++++++ 3 files changed, 17 insertions(+) create mode 100644 sale_brand/wizard/__init__.py create mode 100644 sale_brand/wizard/sale_make_invoice_advance.py diff --git a/sale_brand/__init__.py b/sale_brand/__init__.py index 33c2f06ef..a5b63e4aa 100644 --- a/sale_brand/__init__.py +++ b/sale_brand/__init__.py @@ -2,3 +2,4 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from . import models +from . import wizard diff --git a/sale_brand/wizard/__init__.py b/sale_brand/wizard/__init__.py new file mode 100644 index 000000000..fca48c3d0 --- /dev/null +++ b/sale_brand/wizard/__init__.py @@ -0,0 +1 @@ +from . import sale_make_invoice_advance diff --git a/sale_brand/wizard/sale_make_invoice_advance.py b/sale_brand/wizard/sale_make_invoice_advance.py new file mode 100644 index 000000000..9a0cae4e5 --- /dev/null +++ b/sale_brand/wizard/sale_make_invoice_advance.py @@ -0,0 +1,15 @@ +# Copyright 2019 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, models + + +class SaleAdvancePaymentInv(models.TransientModel): + _inherit = "sale.advance.payment.inv" + + @api.multi + def _create_invoice(self, order, so_line, amount): + invoice = super()._create_invoice(order, so_line, amount) + invoice.brand_id = order.brand_id + invoice._onchange_partner_id() + return invoice From dab75570936116d4e4243d1bffb94a3795f35d0c Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Fri, 16 Aug 2019 11:41:34 +0200 Subject: [PATCH 08/55] [ADD] - Add unit tests --- sale_brand/__init__.py | 1 + sale_brand/i18n/sale_brand.pot | 5 +++++ sale_brand/tests/__init__.py | 1 + sale_brand/tests/test_sale_order.py | 35 +++++++++++++++++++++++++++++ 4 files changed, 42 insertions(+) create mode 100644 sale_brand/tests/__init__.py create mode 100644 sale_brand/tests/test_sale_order.py diff --git a/sale_brand/__init__.py b/sale_brand/__init__.py index a5b63e4aa..4c550ffcc 100644 --- a/sale_brand/__init__.py +++ b/sale_brand/__init__.py @@ -3,3 +3,4 @@ from . import models from . import wizard +from . import tests diff --git a/sale_brand/i18n/sale_brand.pot b/sale_brand/i18n/sale_brand.pot index 234602f4c..951bd7ae1 100644 --- a/sale_brand/i18n/sale_brand.pot +++ b/sale_brand/i18n/sale_brand.pot @@ -18,3 +18,8 @@ msgstr "" msgid "Sale Order" msgstr "" +#. module: sale_brand +#: model:ir.model,name:sale_brand.model_sale_advance_payment_inv +msgid "Sales Advance Payment Invoice" +msgstr "" + diff --git a/sale_brand/tests/__init__.py b/sale_brand/tests/__init__.py new file mode 100644 index 000000000..6f699d0d8 --- /dev/null +++ b/sale_brand/tests/__init__.py @@ -0,0 +1 @@ +from . import test_sale_order diff --git a/sale_brand/tests/test_sale_order.py b/sale_brand/tests/test_sale_order.py new file mode 100644 index 000000000..70731c641 --- /dev/null +++ b/sale_brand/tests/test_sale_order.py @@ -0,0 +1,35 @@ +# Copyright 2019 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.tests.common import TransactionCase + + +class TestSaleOrder(TransactionCase): + def setUp(self): + super(TestSaleOrder, self).setUp() + self.sale = self.env.ref('sale.sale_order_1') + self.sale.brand_id = self.env['res.brand'].create({'name': 'brand'}) + self.sale.order_line.mapped('product_id').write( + {'invoice_policy': 'order'} + ) + self.sale.action_confirm() + + def test_create_invoice(self): + """It should create branded invoice""" + self.assertEqual(self.sale.invoice_status, 'to invoice') + invoice_ids = self.sale.action_invoice_create() + invoice = self.env['account.invoice'].browse(invoice_ids[0]) + self.assertEqual(invoice.brand_id, self.sale.brand_id) + + def test_create_down_payment_invoice(self): + """It should create branded down-payment invoice""" + advance_payment_wizard = self.env['sale.advance.payment.inv'].create( + {'advance_payment_method': 'fixed', 'amount': 10.0} + ) + advance_payment_wizard.with_context( + active_ids=self.sale.ids + ).create_invoices() + invoice = self.sale.order_line.mapped('invoice_lines').mapped( + 'invoice_id' + ) + self.assertEqual(invoice.brand_id, self.sale.brand_id) From 66dbe40a1bbdd4760ed0f31b49d894106a92442b Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Sat, 16 Nov 2019 09:21:51 +0000 Subject: [PATCH 09/55] sale_brand 12.0.2.1.1 --- sale_brand/__manifest__.py | 2 +- sale_brand/i18n/hr.po | 5 +++++ sale_brand/i18n/zh_CN.po | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/sale_brand/__manifest__.py b/sale_brand/__manifest__.py index 7835fd272..829e3aba0 100644 --- a/sale_brand/__manifest__.py +++ b/sale_brand/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Sale Brand", "summary": "Send branded sales orders", - "version": "12.0.2.1.0", + "version": "12.0.2.1.1", "category": "Sales Management", "website": "https://github.com/OCA/sale-workflow", "author": "Open Source Integrators, Odoo Community Association (OCA)", diff --git a/sale_brand/i18n/hr.po b/sale_brand/i18n/hr.po index 30686568d..165c33329 100644 --- a/sale_brand/i18n/hr.po +++ b/sale_brand/i18n/hr.po @@ -22,6 +22,11 @@ msgstr "" msgid "Sale Order" msgstr "Ponuda" +#. module: sale_brand +#: model:ir.model,name:sale_brand.model_sale_advance_payment_inv +msgid "Sales Advance Payment Invoice" +msgstr "" + #~ msgid "Brand" #~ msgstr "Brand" diff --git a/sale_brand/i18n/zh_CN.po b/sale_brand/i18n/zh_CN.po index 2d85e0d0e..e0960f51c 100644 --- a/sale_brand/i18n/zh_CN.po +++ b/sale_brand/i18n/zh_CN.po @@ -21,6 +21,11 @@ msgstr "" msgid "Sale Order" msgstr "销售订单" +#. module: sale_brand +#: model:ir.model,name:sale_brand.model_sale_advance_payment_inv +msgid "Sales Advance Payment Invoice" +msgstr "" + #~ msgid "Brand" #~ msgstr "品牌" From 872e2264bedec4c5ed7d34aad420aa541676a0b0 Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Thu, 13 Feb 2020 11:40:15 +0100 Subject: [PATCH 10/55] [12.0][IMP] - Brand field is editable in draft state for invoice and sale object --- sale_brand/i18n/sale_brand.pot | 10 ++++++++++ sale_brand/models/sale_order.py | 11 ++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/sale_brand/i18n/sale_brand.pot b/sale_brand/i18n/sale_brand.pot index 951bd7ae1..c03baf66a 100644 --- a/sale_brand/i18n/sale_brand.pot +++ b/sale_brand/i18n/sale_brand.pot @@ -13,6 +13,16 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: sale_brand +#: model:ir.model.fields,field_description:sale_brand.field_sale_order__brand_id +msgid "Brand" +msgstr "" + +#. module: sale_brand +#: model:ir.model.fields,help:sale_brand.field_sale_order__brand_id +msgid "Brand to use for this sale" +msgstr "" + #. module: sale_brand #: model:ir.model,name:sale_brand.model_sale_order msgid "Sale Order" diff --git a/sale_brand/models/sale_order.py b/sale_brand/models/sale_order.py index 693a71992..d97b6850d 100644 --- a/sale_brand/models/sale_order.py +++ b/sale_brand/models/sale_order.py @@ -1,13 +1,22 @@ # Copyright (C) 2019 Open Source Integrators # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import api, models +from odoo import api, fields, models class SaleOrder(models.Model): _name = 'sale.order' _inherit = ['sale.order', 'res.brand.mixin'] + brand_id = fields.Many2one( + states={ + 'sent': [('readonly', True)], + 'sale': [('readonly', True)], + 'done': [('readonly', True)], + 'cancel': [('readonly', True)], + } + ) + @api.multi def _prepare_invoice(self): for order in self: From 6c50132430d40ee302c5b6baedc9362750bf2381 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 18 Feb 2020 16:06:15 +0000 Subject: [PATCH 11/55] sale_brand 12.0.3.0.0 --- sale_brand/__manifest__.py | 2 +- sale_brand/i18n/hr.po | 16 ++++++++++------ sale_brand/i18n/zh_CN.po | 16 ++++++++++------ 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/sale_brand/__manifest__.py b/sale_brand/__manifest__.py index 829e3aba0..870a19cce 100644 --- a/sale_brand/__manifest__.py +++ b/sale_brand/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Sale Brand", "summary": "Send branded sales orders", - "version": "12.0.2.1.1", + "version": "12.0.3.0.0", "category": "Sales Management", "website": "https://github.com/OCA/sale-workflow", "author": "Open Source Integrators, Odoo Community Association (OCA)", diff --git a/sale_brand/i18n/hr.po b/sale_brand/i18n/hr.po index 165c33329..cccfe2512 100644 --- a/sale_brand/i18n/hr.po +++ b/sale_brand/i18n/hr.po @@ -17,6 +17,16 @@ msgstr "" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 3.8\n" +#. module: sale_brand +#: model:ir.model.fields,field_description:sale_brand.field_sale_order__brand_id +msgid "Brand" +msgstr "Brand" + +#. module: sale_brand +#: model:ir.model.fields,help:sale_brand.field_sale_order__brand_id +msgid "Brand to use for this sale" +msgstr "Za ovu prodaju koristiti brand" + #. module: sale_brand #: model:ir.model,name:sale_brand.model_sale_order msgid "Sale Order" @@ -26,9 +36,3 @@ msgstr "Ponuda" #: model:ir.model,name:sale_brand.model_sale_advance_payment_inv msgid "Sales Advance Payment Invoice" msgstr "" - -#~ msgid "Brand" -#~ msgstr "Brand" - -#~ msgid "Brand to use for this sale" -#~ msgstr "Za ovu prodaju koristiti brand" diff --git a/sale_brand/i18n/zh_CN.po b/sale_brand/i18n/zh_CN.po index e0960f51c..371304829 100644 --- a/sale_brand/i18n/zh_CN.po +++ b/sale_brand/i18n/zh_CN.po @@ -16,6 +16,16 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 3.8\n" +#. module: sale_brand +#: model:ir.model.fields,field_description:sale_brand.field_sale_order__brand_id +msgid "Brand" +msgstr "品牌" + +#. module: sale_brand +#: model:ir.model.fields,help:sale_brand.field_sale_order__brand_id +msgid "Brand to use for this sale" +msgstr "品牌用于此次销售" + #. module: sale_brand #: model:ir.model,name:sale_brand.model_sale_order msgid "Sale Order" @@ -25,9 +35,3 @@ msgstr "销售订单" #: model:ir.model,name:sale_brand.model_sale_advance_payment_inv msgid "Sales Advance Payment Invoice" msgstr "" - -#~ msgid "Brand" -#~ msgstr "品牌" - -#~ msgid "Brand to use for this sale" -#~ msgstr "品牌用于此次销售" From 3947426872ea4a61101c579efb519639529f7046 Mon Sep 17 00:00:00 2001 From: cubells Date: Fri, 17 Apr 2020 19:34:23 +0200 Subject: [PATCH 12/55] [IMP] sale_brand: black, isort, prettier --- sale_brand/__init__.py | 3 --- sale_brand/__manifest__.py | 12 +++------- .../migrations/12.0.2.0.0/post-migration.py | 15 ------------ .../migrations/12.0.2.0.0/pre-migration.py | 16 ------------- sale_brand/models/__init__.py | 3 --- sale_brand/models/sale_order.py | 17 +++++++------ sale_brand/tests/test_sale_order.py | 24 +++++++------------ sale_brand/views/sale_views.xml | 7 ++---- 8 files changed, 22 insertions(+), 75 deletions(-) delete mode 100644 sale_brand/migrations/12.0.2.0.0/post-migration.py delete mode 100644 sale_brand/migrations/12.0.2.0.0/pre-migration.py diff --git a/sale_brand/__init__.py b/sale_brand/__init__.py index 4c550ffcc..2c9b3790d 100644 --- a/sale_brand/__init__.py +++ b/sale_brand/__init__.py @@ -1,6 +1,3 @@ -# Copyright (C) 2019 Open Source Integrators -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - from . import models from . import wizard from . import tests diff --git a/sale_brand/__manifest__.py b/sale_brand/__manifest__.py index 870a19cce..89bc6acf7 100644 --- a/sale_brand/__manifest__.py +++ b/sale_brand/__manifest__.py @@ -4,19 +4,13 @@ { "name": "Sale Brand", "summary": "Send branded sales orders", - "version": "12.0.3.0.0", + "version": "13.0.0.0.0", "category": "Sales Management", "website": "https://github.com/OCA/sale-workflow", "author": "Open Source Integrators, Odoo Community Association (OCA)", "license": "AGPL-3", - "depends": [ - 'sale', - 'brand', - 'account_brand', - ], - "data": [ - "views/sale_views.xml", - ], + "depends": ["sale", "brand", "account_brand"], + "data": ["views/sale_views.xml"], "installable": True, "development_status": "Beta", "maintainers": ["osi-scampbell"], diff --git a/sale_brand/migrations/12.0.2.0.0/post-migration.py b/sale_brand/migrations/12.0.2.0.0/post-migration.py deleted file mode 100644 index 242f93c85..000000000 --- a/sale_brand/migrations/12.0.2.0.0/post-migration.py +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright 2019 ACSONE SA/NV -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -import logging - -_logger = logging.getLogger(__name__) - - -def migrate(cr, version): - _logger.info("Move sale brand to res.brand model") - cr.execute(""" - UPDATE sale_order SET brand_id = brand.id - FROM res_brand brand - WHERE brand.partner_id=brand_id_tmp""") - cr.execute("""ALTER TABLE sale_order DROP COLUMN brand_id_tmp""") diff --git a/sale_brand/migrations/12.0.2.0.0/pre-migration.py b/sale_brand/migrations/12.0.2.0.0/pre-migration.py deleted file mode 100644 index 63d48fc69..000000000 --- a/sale_brand/migrations/12.0.2.0.0/pre-migration.py +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 2019 ACSONE SA/NV -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -import logging - -_logger = logging.getLogger(__name__) - - -def migrate(cr, version): - _logger.info("Move sale brand to res.brand model") - cr.execute( - """ALTER TABLE sale_order - ADD COLUMN brand_id_tmp INTEGER""" - ) - cr.execute("""UPDATE sale_order SET brand_id_tmp = brand_id""") - cr.execute("""ALTER TABLE sale_order DROP COLUMN brand_id""") diff --git a/sale_brand/models/__init__.py b/sale_brand/models/__init__.py index cc07d44a4..6aacb7531 100644 --- a/sale_brand/models/__init__.py +++ b/sale_brand/models/__init__.py @@ -1,4 +1 @@ -# Copyright (C) 2019 Open Source Integrators -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - from . import sale_order diff --git a/sale_brand/models/sale_order.py b/sale_brand/models/sale_order.py index d97b6850d..e21b1b40f 100644 --- a/sale_brand/models/sale_order.py +++ b/sale_brand/models/sale_order.py @@ -5,23 +5,22 @@ class SaleOrder(models.Model): - _name = 'sale.order' - _inherit = ['sale.order', 'res.brand.mixin'] + _name = "sale.order" + _inherit = ["sale.order", "res.brand.mixin"] brand_id = fields.Many2one( states={ - 'sent': [('readonly', True)], - 'sale': [('readonly', True)], - 'done': [('readonly', True)], - 'cancel': [('readonly', True)], + "sent": [("readonly", True)], + "sale": [("readonly", True)], + "done": [("readonly", True)], + "cancel": [("readonly", True)], } ) @api.multi def _prepare_invoice(self): + invoice_vals = {} for order in self: invoice_vals = super(SaleOrder, order)._prepare_invoice() - invoice_vals.update({ - 'brand_id': order.brand_id.id, - }) + invoice_vals.update({"brand_id": order.brand_id.id}) return invoice_vals diff --git a/sale_brand/tests/test_sale_order.py b/sale_brand/tests/test_sale_order.py index 70731c641..9d0bb21ab 100644 --- a/sale_brand/tests/test_sale_order.py +++ b/sale_brand/tests/test_sale_order.py @@ -7,29 +7,23 @@ class TestSaleOrder(TransactionCase): def setUp(self): super(TestSaleOrder, self).setUp() - self.sale = self.env.ref('sale.sale_order_1') - self.sale.brand_id = self.env['res.brand'].create({'name': 'brand'}) - self.sale.order_line.mapped('product_id').write( - {'invoice_policy': 'order'} - ) + self.sale = self.env.ref("sale.sale_order_1") + self.sale.brand_id = self.env["res.brand"].create({"name": "brand"}) + self.sale.order_line.mapped("product_id").write({"invoice_policy": "order"}) self.sale.action_confirm() def test_create_invoice(self): """It should create branded invoice""" - self.assertEqual(self.sale.invoice_status, 'to invoice') + self.assertEqual(self.sale.invoice_status, "to invoice") invoice_ids = self.sale.action_invoice_create() - invoice = self.env['account.invoice'].browse(invoice_ids[0]) + invoice = self.env["account.invoice"].browse(invoice_ids[0]) self.assertEqual(invoice.brand_id, self.sale.brand_id) def test_create_down_payment_invoice(self): """It should create branded down-payment invoice""" - advance_payment_wizard = self.env['sale.advance.payment.inv'].create( - {'advance_payment_method': 'fixed', 'amount': 10.0} - ) - advance_payment_wizard.with_context( - active_ids=self.sale.ids - ).create_invoices() - invoice = self.sale.order_line.mapped('invoice_lines').mapped( - 'invoice_id' + advance_payment_wizard = self.env["sale.advance.payment.inv"].create( + {"advance_payment_method": "fixed", "amount": 10.0} ) + advance_payment_wizard.with_context(active_ids=self.sale.ids).create_invoices() + invoice = self.sale.order_line.mapped("invoice_lines").mapped("invoice_id") self.assertEqual(invoice.brand_id, self.sale.brand_id) diff --git a/sale_brand/views/sale_views.xml b/sale_brand/views/sale_views.xml index c7c5931d0..7a4ad69f7 100644 --- a/sale_brand/views/sale_views.xml +++ b/sale_brand/views/sale_views.xml @@ -1,17 +1,14 @@ - - sale.order.form.brand sale.order - + - + - From 46f66dfde58fbc91d087743117b7175bf09bfcda Mon Sep 17 00:00:00 2001 From: cubells Date: Fri, 17 Apr 2020 19:45:40 +0200 Subject: [PATCH 13/55] [MIG] sale_brand: Migration to 13.0 --- sale_brand/README.rst | 27 ++++++----- sale_brand/__manifest__.py | 2 +- sale_brand/i18n/hr.po | 12 +++-- sale_brand/i18n/sale_brand.pot | 15 +++--- sale_brand/i18n/zh_CN.po | 12 +++-- sale_brand/models/sale_order.py | 3 +- sale_brand/readme/CONFIGURE.rst | 2 - sale_brand/readme/CONTRIBUTORS.rst | 4 ++ sale_brand/static/description/index.html | 48 +++++++++---------- sale_brand/tests/test_sale_order.py | 7 ++- .../wizard/sale_make_invoice_advance.py | 3 +- 11 files changed, 68 insertions(+), 67 deletions(-) delete mode 100644 sale_brand/readme/CONFIGURE.rst diff --git a/sale_brand/README.rst b/sale_brand/README.rst index a629e8b83..1b8643cf4 100644 --- a/sale_brand/README.rst +++ b/sale_brand/README.rst @@ -14,13 +14,13 @@ Sale Brand :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fbrand-lightgray.png?logo=github - :target: https://github.com/OCA/brand/tree/12.0/sale_brand + :target: https://github.com/OCA/brand/tree/13.0/sale_brand :alt: OCA/brand .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/brand-12-0/brand-12-0-sale_brand + :target: https://translation.odoo-community.org/projects/brand-13-0/brand-13-0-sale_brand :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/284/12.0 + :target: https://runbot.odoo-community.org/runbot/284/13.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -35,12 +35,6 @@ the invoices. .. contents:: :local: -Configuration -============= - -To configure this module, please refer to the documentation of -`partner_brand `_. - Usage ===== @@ -59,7 +53,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 -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -78,6 +72,10 @@ Contributors * Steve Campbell * Maxime Chambreuil +* `Obertix `_: + + * Vicent Cubells + Other credits ~~~~~~~~~~~~~ @@ -99,11 +97,14 @@ promote its widespread use. .. |maintainer-osi-scampbell| image:: https://github.com/osi-scampbell.png?size=40px :target: https://github.com/osi-scampbell :alt: osi-scampbell +.. |maintainer-sbejaoui| image:: https://github.com/sbejaoui.png?size=40px + :target: https://github.com/sbejaoui + :alt: sbejaoui -Current `maintainer `__: +Current `maintainers `__: -|maintainer-osi-scampbell| +|maintainer-osi-scampbell| |maintainer-sbejaoui| -This module is part of the `OCA/brand `_ project on GitHub. +This module is part of the `OCA/brand `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/sale_brand/__manifest__.py b/sale_brand/__manifest__.py index 89bc6acf7..c640fcde2 100644 --- a/sale_brand/__manifest__.py +++ b/sale_brand/__manifest__.py @@ -13,5 +13,5 @@ "data": ["views/sale_views.xml"], "installable": True, "development_status": "Beta", - "maintainers": ["osi-scampbell"], + "maintainers": ["osi-scampbell", "sbejaoui"], } diff --git a/sale_brand/i18n/hr.po b/sale_brand/i18n/hr.po index cccfe2512..7283befe8 100644 --- a/sale_brand/i18n/hr.po +++ b/sale_brand/i18n/hr.po @@ -27,12 +27,14 @@ msgstr "Brand" msgid "Brand to use for this sale" msgstr "Za ovu prodaju koristiti brand" -#. module: sale_brand -#: model:ir.model,name:sale_brand.model_sale_order -msgid "Sale Order" -msgstr "Ponuda" - #. module: sale_brand #: model:ir.model,name:sale_brand.model_sale_advance_payment_inv msgid "Sales Advance Payment Invoice" msgstr "" + +#. module: sale_brand +#: model:ir.model,name:sale_brand.model_sale_order +#, fuzzy +#| msgid "Sale Order" +msgid "Sales Order" +msgstr "Ponuda" diff --git a/sale_brand/i18n/sale_brand.pot b/sale_brand/i18n/sale_brand.pot index c03baf66a..68e5eabc9 100644 --- a/sale_brand/i18n/sale_brand.pot +++ b/sale_brand/i18n/sale_brand.pot @@ -1,12 +1,12 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * sale_brand +# * sale_brand # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 12.0\n" +"Project-Id-Version: Odoo Server 13.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: <>\n" +"Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,13 +23,12 @@ msgstr "" msgid "Brand to use for this sale" msgstr "" -#. module: sale_brand -#: model:ir.model,name:sale_brand.model_sale_order -msgid "Sale Order" -msgstr "" - #. module: sale_brand #: model:ir.model,name:sale_brand.model_sale_advance_payment_inv msgid "Sales Advance Payment Invoice" msgstr "" +#. module: sale_brand +#: model:ir.model,name:sale_brand.model_sale_order +msgid "Sales Order" +msgstr "" diff --git a/sale_brand/i18n/zh_CN.po b/sale_brand/i18n/zh_CN.po index 371304829..b30ee34a9 100644 --- a/sale_brand/i18n/zh_CN.po +++ b/sale_brand/i18n/zh_CN.po @@ -26,12 +26,14 @@ msgstr "品牌" msgid "Brand to use for this sale" msgstr "品牌用于此次销售" -#. module: sale_brand -#: model:ir.model,name:sale_brand.model_sale_order -msgid "Sale Order" -msgstr "销售订单" - #. module: sale_brand #: model:ir.model,name:sale_brand.model_sale_advance_payment_inv msgid "Sales Advance Payment Invoice" msgstr "" + +#. module: sale_brand +#: model:ir.model,name:sale_brand.model_sale_order +#, fuzzy +#| msgid "Sale Order" +msgid "Sales Order" +msgstr "销售订单" diff --git a/sale_brand/models/sale_order.py b/sale_brand/models/sale_order.py index e21b1b40f..6cbba7754 100644 --- a/sale_brand/models/sale_order.py +++ b/sale_brand/models/sale_order.py @@ -1,7 +1,7 @@ # Copyright (C) 2019 Open Source Integrators # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import api, fields, models +from odoo import fields, models class SaleOrder(models.Model): @@ -17,7 +17,6 @@ class SaleOrder(models.Model): } ) - @api.multi def _prepare_invoice(self): invoice_vals = {} for order in self: diff --git a/sale_brand/readme/CONFIGURE.rst b/sale_brand/readme/CONFIGURE.rst deleted file mode 100644 index bdf04f5e5..000000000 --- a/sale_brand/readme/CONFIGURE.rst +++ /dev/null @@ -1,2 +0,0 @@ -To configure this module, please refer to the documentation of -`partner_brand `_. diff --git a/sale_brand/readme/CONTRIBUTORS.rst b/sale_brand/readme/CONTRIBUTORS.rst index d9fb6931c..be2101c94 100644 --- a/sale_brand/readme/CONTRIBUTORS.rst +++ b/sale_brand/readme/CONTRIBUTORS.rst @@ -1,3 +1,7 @@ * Raphael Lee * Steve Campbell * Maxime Chambreuil + +* `Obertix `_: + + * Vicent Cubells diff --git a/sale_brand/static/description/index.html b/sale_brand/static/description/index.html index 13508c855..7a2730b28 100644 --- a/sale_brand/static/description/index.html +++ b/sale_brand/static/description/index.html @@ -367,7 +367,7 @@

Sale Brand

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

+

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

This module allows you to send branded quotations and sales orders to your customers. It adds a brand field on the quotation and propagate the value on @@ -375,25 +375,19 @@

Sale Brand

Table of contents

-
-

Configuration

-

To configure this module, please refer to the documentation of -partner_brand.

-
-

Usage

+

Usage

To use this module, you need to:

  1. Go to Sales > Quotations
  2. @@ -405,45 +399,49 @@

    Usage

-

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

  • Open Source Integrators
-

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.

-

Current maintainer:

-

osi-scampbell

-

This module is part of the OCA/brand project on GitHub.

+

Current maintainers:

+

osi-scampbell sbejaoui

+

This module is part of the OCA/brand project on GitHub.

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

diff --git a/sale_brand/tests/test_sale_order.py b/sale_brand/tests/test_sale_order.py index 9d0bb21ab..ed4005a01 100644 --- a/sale_brand/tests/test_sale_order.py +++ b/sale_brand/tests/test_sale_order.py @@ -15,15 +15,14 @@ def setUp(self): def test_create_invoice(self): """It should create branded invoice""" self.assertEqual(self.sale.invoice_status, "to invoice") - invoice_ids = self.sale.action_invoice_create() - invoice = self.env["account.invoice"].browse(invoice_ids[0]) + invoice = self.sale._create_invoices() self.assertEqual(invoice.brand_id, self.sale.brand_id) def test_create_down_payment_invoice(self): """It should create branded down-payment invoice""" advance_payment_wizard = self.env["sale.advance.payment.inv"].create( - {"advance_payment_method": "fixed", "amount": 10.0} + {"advance_payment_method": "fixed", "fixed_amount": 10.0} ) advance_payment_wizard.with_context(active_ids=self.sale.ids).create_invoices() - invoice = self.sale.order_line.mapped("invoice_lines").mapped("invoice_id") + invoice = self.sale.order_line.mapped("invoice_lines").mapped("move_id") self.assertEqual(invoice.brand_id, self.sale.brand_id) diff --git a/sale_brand/wizard/sale_make_invoice_advance.py b/sale_brand/wizard/sale_make_invoice_advance.py index 9a0cae4e5..428fe4d70 100644 --- a/sale_brand/wizard/sale_make_invoice_advance.py +++ b/sale_brand/wizard/sale_make_invoice_advance.py @@ -1,13 +1,12 @@ # Copyright 2019 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import api, models +from odoo import models class SaleAdvancePaymentInv(models.TransientModel): _inherit = "sale.advance.payment.inv" - @api.multi def _create_invoice(self, order, so_line, amount): invoice = super()._create_invoice(order, so_line, amount) invoice.brand_id = order.brand_id From 867660b1545ff46d1285210a35b08ab3255d57e8 Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Mon, 30 Dec 2019 15:04:50 +0100 Subject: [PATCH 14/55] [IMP] - set the sale order analytic account at brand change --- sale_brand/__manifest__.py | 2 +- sale_brand/models/sale_order.py | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/sale_brand/__manifest__.py b/sale_brand/__manifest__.py index c640fcde2..72daf829a 100644 --- a/sale_brand/__manifest__.py +++ b/sale_brand/__manifest__.py @@ -9,7 +9,7 @@ "website": "https://github.com/OCA/sale-workflow", "author": "Open Source Integrators, Odoo Community Association (OCA)", "license": "AGPL-3", - "depends": ["sale", "brand", "account_brand"], + "depends": ["sale", "brand", "account_brand", "analytic_brand"], "data": ["views/sale_views.xml"], "installable": True, "development_status": "Beta", diff --git a/sale_brand/models/sale_order.py b/sale_brand/models/sale_order.py index 6cbba7754..b2055df8a 100644 --- a/sale_brand/models/sale_order.py +++ b/sale_brand/models/sale_order.py @@ -1,7 +1,7 @@ # Copyright (C) 2019 Open Source Integrators # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import fields, models +from odoo import api, fields, models class SaleOrder(models.Model): @@ -23,3 +23,11 @@ def _prepare_invoice(self): invoice_vals = super(SaleOrder, order)._prepare_invoice() invoice_vals.update({"brand_id": order.brand_id.id}) return invoice_vals + + @api.onchange("brand_id") + def _onchange_brand_id(self): + res = super()._onchange_brand_id() + for order in self: + if order.state == "draft" and order.brand_id: + order.analytic_account_id = order.brand_id.analytic_account_id + return res From 75d9a8d3e650c506f60d232e28301efddc58c4d3 Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Mon, 30 Dec 2019 15:07:57 +0100 Subject: [PATCH 15/55] [FIX] - brand field in sale order form view is editable only at draft state --- sale_brand/views/sale_views.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sale_brand/views/sale_views.xml b/sale_brand/views/sale_views.xml index 7a4ad69f7..b6f3934e0 100644 --- a/sale_brand/views/sale_views.xml +++ b/sale_brand/views/sale_views.xml @@ -7,7 +7,10 @@ - + From b10c0cc8290d91d20c52311c3c35c863a8731dbd Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Mon, 30 Dec 2019 16:19:07 +0100 Subject: [PATCH 16/55] [IMP] - Add unit tests --- sale_brand/i18n/hr.po | 1 - sale_brand/i18n/nl.po | 37 +++++++++++++++++++++++++++++ sale_brand/i18n/zh_CN.po | 1 - sale_brand/tests/test_sale_order.py | 11 +++++++++ 4 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 sale_brand/i18n/nl.po diff --git a/sale_brand/i18n/hr.po b/sale_brand/i18n/hr.po index 7283befe8..ece66a3e8 100644 --- a/sale_brand/i18n/hr.po +++ b/sale_brand/i18n/hr.po @@ -35,6 +35,5 @@ msgstr "" #. module: sale_brand #: model:ir.model,name:sale_brand.model_sale_order #, fuzzy -#| msgid "Sale Order" msgid "Sales Order" msgstr "Ponuda" diff --git a/sale_brand/i18n/nl.po b/sale_brand/i18n/nl.po new file mode 100644 index 000000000..6ff7cfbb4 --- /dev/null +++ b/sale_brand/i18n/nl.po @@ -0,0 +1,37 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_brand +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-12-13 23:19+0000\n" +"Last-Translator: Bosd \n" +"Language-Team: none\n" +"Language: nl\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.3.2\n" + +#. module: sale_brand +#: model:ir.model.fields,field_description:sale_brand.field_sale_order__brand_id +msgid "Brand" +msgstr "Merk" + +#. module: sale_brand +#: model:ir.model.fields,help:sale_brand.field_sale_order__brand_id +msgid "Brand to use for this sale" +msgstr "Merk te gebruiken voor deze verkoop" + +#. module: sale_brand +#: model:ir.model,name:sale_brand.model_sale_advance_payment_inv +msgid "Sales Advance Payment Invoice" +msgstr "" + +#. module: sale_brand +#: model:ir.model,name:sale_brand.model_sale_order +msgid "Sales Order" +msgstr "" diff --git a/sale_brand/i18n/zh_CN.po b/sale_brand/i18n/zh_CN.po index b30ee34a9..cf2e5935b 100644 --- a/sale_brand/i18n/zh_CN.po +++ b/sale_brand/i18n/zh_CN.po @@ -34,6 +34,5 @@ msgstr "" #. module: sale_brand #: model:ir.model,name:sale_brand.model_sale_order #, fuzzy -#| msgid "Sale Order" msgid "Sales Order" msgstr "销售订单" diff --git a/sale_brand/tests/test_sale_order.py b/sale_brand/tests/test_sale_order.py index ed4005a01..596a658c0 100644 --- a/sale_brand/tests/test_sale_order.py +++ b/sale_brand/tests/test_sale_order.py @@ -26,3 +26,14 @@ def test_create_down_payment_invoice(self): advance_payment_wizard.with_context(active_ids=self.sale.ids).create_invoices() invoice = self.sale.order_line.mapped("invoice_lines").mapped("move_id") self.assertEqual(invoice.brand_id, self.sale.brand_id) + + def test_sale_analytic_account_onchange_brand(self): + draft_sale = self.sale.copy() + draft_sale.brand_id.analytic_account_id = self.env[ + "account.analytic.account" + ].create({"name": "analytic account"}) + self.assertFalse(draft_sale.analytic_account_id) + draft_sale._onchange_brand_id() + self.assertEqual( + draft_sale.analytic_account_id, draft_sale.brand_id.analytic_account_id, + ) From 1e1f42e599681472c3162355ec1fea3de44b9239 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 2 Jun 2021 13:29:42 +0000 Subject: [PATCH 17/55] sale_brand 13.0.0.0.1 --- sale_brand/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sale_brand/__manifest__.py b/sale_brand/__manifest__.py index 72daf829a..750891bdd 100644 --- a/sale_brand/__manifest__.py +++ b/sale_brand/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Sale Brand", "summary": "Send branded sales orders", - "version": "13.0.0.0.0", + "version": "13.0.0.0.1", "category": "Sales Management", "website": "https://github.com/OCA/sale-workflow", "author": "Open Source Integrators, Odoo Community Association (OCA)", From b0d7aa48e500a16ba495061af441b5857141d910 Mon Sep 17 00:00:00 2001 From: Daniel Reis Date: Fri, 7 Feb 2020 12:56:27 +0000 Subject: [PATCH 18/55] [IMP] sale_brand: assign default brand to Sales Teams --- sale_brand/__manifest__.py | 2 +- sale_brand/i18n/sale_brand.pot | 6 ++++++ sale_brand/models/__init__.py | 1 + sale_brand/models/crm_team.py | 10 ++++++++++ sale_brand/models/sale_order.py | 4 ++++ sale_brand/views/crm_team_views.xml | 14 ++++++++++++++ 6 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 sale_brand/models/crm_team.py create mode 100644 sale_brand/views/crm_team_views.xml diff --git a/sale_brand/__manifest__.py b/sale_brand/__manifest__.py index 750891bdd..89168e581 100644 --- a/sale_brand/__manifest__.py +++ b/sale_brand/__manifest__.py @@ -10,7 +10,7 @@ "author": "Open Source Integrators, Odoo Community Association (OCA)", "license": "AGPL-3", "depends": ["sale", "brand", "account_brand", "analytic_brand"], - "data": ["views/sale_views.xml"], + "data": ["views/sale_views.xml", "views/crm_team_views.xml"], "installable": True, "development_status": "Beta", "maintainers": ["osi-scampbell", "sbejaoui"], diff --git a/sale_brand/i18n/sale_brand.pot b/sale_brand/i18n/sale_brand.pot index 68e5eabc9..3be21fae1 100644 --- a/sale_brand/i18n/sale_brand.pot +++ b/sale_brand/i18n/sale_brand.pot @@ -14,6 +14,7 @@ msgstr "" "Plural-Forms: \n" #. module: sale_brand +#: model:ir.model.fields,field_description:sale_brand.field_crm_team__brand_id #: model:ir.model.fields,field_description:sale_brand.field_sale_order__brand_id msgid "Brand" msgstr "" @@ -32,3 +33,8 @@ msgstr "" #: model:ir.model,name:sale_brand.model_sale_order msgid "Sales Order" msgstr "" + +#. module: sale_brand +#: model:ir.model,name:sale_brand.model_crm_team +msgid "Sales Team" +msgstr "" diff --git a/sale_brand/models/__init__.py b/sale_brand/models/__init__.py index 6aacb7531..326207d35 100644 --- a/sale_brand/models/__init__.py +++ b/sale_brand/models/__init__.py @@ -1 +1,2 @@ from . import sale_order +from . import crm_team diff --git a/sale_brand/models/crm_team.py b/sale_brand/models/crm_team.py new file mode 100644 index 000000000..cda26f59f --- /dev/null +++ b/sale_brand/models/crm_team.py @@ -0,0 +1,10 @@ +# Copyright (C) 2019 Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class CrmTeam(models.Model): + _inherit = "crm.team" + + brand_id = fields.Many2one(comodel_name="res.brand", string="Brand") diff --git a/sale_brand/models/sale_order.py b/sale_brand/models/sale_order.py index b2055df8a..6d836b10d 100644 --- a/sale_brand/models/sale_order.py +++ b/sale_brand/models/sale_order.py @@ -31,3 +31,7 @@ def _onchange_brand_id(self): if order.state == "draft" and order.brand_id: order.analytic_account_id = order.brand_id.analytic_account_id return res + + @api.onchange("team_id") + def _onchange_team_id(self): + self.brand_id = self.team_id.brand_id diff --git a/sale_brand/views/crm_team_views.xml b/sale_brand/views/crm_team_views.xml new file mode 100644 index 000000000..01f0080be --- /dev/null +++ b/sale_brand/views/crm_team_views.xml @@ -0,0 +1,14 @@ + + + + + crm.team + + + + + + + + From 2923a0309df418d255f8960dec9fcdfc95a309cd Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 2 Jun 2021 15:12:36 +0000 Subject: [PATCH 19/55] sale_brand 13.0.0.0.2 --- sale_brand/__manifest__.py | 2 +- sale_brand/i18n/hr.po | 6 ++++++ sale_brand/i18n/nl.po | 6 ++++++ sale_brand/i18n/zh_CN.po | 6 ++++++ 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/sale_brand/__manifest__.py b/sale_brand/__manifest__.py index 89168e581..80079d04b 100644 --- a/sale_brand/__manifest__.py +++ b/sale_brand/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Sale Brand", "summary": "Send branded sales orders", - "version": "13.0.0.0.1", + "version": "13.0.0.0.2", "category": "Sales Management", "website": "https://github.com/OCA/sale-workflow", "author": "Open Source Integrators, Odoo Community Association (OCA)", diff --git a/sale_brand/i18n/hr.po b/sale_brand/i18n/hr.po index ece66a3e8..ea2dc930a 100644 --- a/sale_brand/i18n/hr.po +++ b/sale_brand/i18n/hr.po @@ -18,6 +18,7 @@ msgstr "" "X-Generator: Weblate 3.8\n" #. module: sale_brand +#: model:ir.model.fields,field_description:sale_brand.field_crm_team__brand_id #: model:ir.model.fields,field_description:sale_brand.field_sale_order__brand_id msgid "Brand" msgstr "Brand" @@ -37,3 +38,8 @@ msgstr "" #, fuzzy msgid "Sales Order" msgstr "Ponuda" + +#. module: sale_brand +#: model:ir.model,name:sale_brand.model_crm_team +msgid "Sales Team" +msgstr "" diff --git a/sale_brand/i18n/nl.po b/sale_brand/i18n/nl.po index 6ff7cfbb4..b04fbfc8d 100644 --- a/sale_brand/i18n/nl.po +++ b/sale_brand/i18n/nl.po @@ -17,6 +17,7 @@ msgstr "" "X-Generator: Weblate 4.3.2\n" #. module: sale_brand +#: model:ir.model.fields,field_description:sale_brand.field_crm_team__brand_id #: model:ir.model.fields,field_description:sale_brand.field_sale_order__brand_id msgid "Brand" msgstr "Merk" @@ -35,3 +36,8 @@ msgstr "" #: model:ir.model,name:sale_brand.model_sale_order msgid "Sales Order" msgstr "" + +#. module: sale_brand +#: model:ir.model,name:sale_brand.model_crm_team +msgid "Sales Team" +msgstr "" diff --git a/sale_brand/i18n/zh_CN.po b/sale_brand/i18n/zh_CN.po index cf2e5935b..78113808d 100644 --- a/sale_brand/i18n/zh_CN.po +++ b/sale_brand/i18n/zh_CN.po @@ -17,6 +17,7 @@ msgstr "" "X-Generator: Weblate 3.8\n" #. module: sale_brand +#: model:ir.model.fields,field_description:sale_brand.field_crm_team__brand_id #: model:ir.model.fields,field_description:sale_brand.field_sale_order__brand_id msgid "Brand" msgstr "品牌" @@ -36,3 +37,8 @@ msgstr "" #, fuzzy msgid "Sales Order" msgstr "销售订单" + +#. module: sale_brand +#: model:ir.model,name:sale_brand.model_crm_team +msgid "Sales Team" +msgstr "" From f1252f765cc461b7eae3405e383416e8e8a330b7 Mon Sep 17 00:00:00 2001 From: Freni-OSI Date: Wed, 9 Jun 2021 12:31:35 +0530 Subject: [PATCH 20/55] [14.0][MIG] sale_brand --- sale_brand/README.rst | 11 ++++++----- sale_brand/__manifest__.py | 2 +- sale_brand/readme/CONTRIBUTORS.rst | 1 + sale_brand/static/description/index.html | 9 +++++---- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/sale_brand/README.rst b/sale_brand/README.rst index 1b8643cf4..73c30be05 100644 --- a/sale_brand/README.rst +++ b/sale_brand/README.rst @@ -14,13 +14,13 @@ Sale Brand :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fbrand-lightgray.png?logo=github - :target: https://github.com/OCA/brand/tree/13.0/sale_brand + :target: https://github.com/OCA/brand/tree/14.0/sale_brand :alt: OCA/brand .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/brand-13-0/brand-13-0-sale_brand + :target: https://translation.odoo-community.org/projects/brand-14-0/brand-14-0-sale_brand :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/284/13.0 + :target: https://runbot.odoo-community.org/runbot/284/14.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -53,7 +53,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 -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -71,6 +71,7 @@ Contributors * Raphael Lee * Steve Campbell * Maxime Chambreuil +* Freni Patel * `Obertix `_: @@ -105,6 +106,6 @@ Current `maintainers `__: |maintainer-osi-scampbell| |maintainer-sbejaoui| -This module is part of the `OCA/brand `_ project on GitHub. +This module is part of the `OCA/brand `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/sale_brand/__manifest__.py b/sale_brand/__manifest__.py index 80079d04b..e82cee5a0 100644 --- a/sale_brand/__manifest__.py +++ b/sale_brand/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Sale Brand", "summary": "Send branded sales orders", - "version": "13.0.0.0.2", + "version": "14.0.1.0.0", "category": "Sales Management", "website": "https://github.com/OCA/sale-workflow", "author": "Open Source Integrators, Odoo Community Association (OCA)", diff --git a/sale_brand/readme/CONTRIBUTORS.rst b/sale_brand/readme/CONTRIBUTORS.rst index be2101c94..30dc5dbc7 100644 --- a/sale_brand/readme/CONTRIBUTORS.rst +++ b/sale_brand/readme/CONTRIBUTORS.rst @@ -1,6 +1,7 @@ * Raphael Lee * Steve Campbell * Maxime Chambreuil +* Freni Patel * `Obertix `_: diff --git a/sale_brand/static/description/index.html b/sale_brand/static/description/index.html index 7a2730b28..9e6828d5b 100644 --- a/sale_brand/static/description/index.html +++ b/sale_brand/static/description/index.html @@ -3,7 +3,7 @@ - + Sale Brand