From 1681eb54c6245d3cb23a86c99691bd1897e6f31c Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Thu, 31 Oct 2019 18:03:43 +0100 Subject: [PATCH 001/522] [12.0][ADD] - Improve multi-company management for brand model In a multi-company management system, there is a strong link between the company and its brands. A company can't make sells under a brand that it don't own. For this reason we add a mixin to be inherited from branded objects that assure the coherence of this link. We also add an multi-company access rule for brand model. A new field added to the company to define if the brand field is required or optional by company. --- brand/README.rst | 86 ++++++ brand/__init__.py | 1 + brand/__manifest__.py | 21 ++ brand/models/__init__.py | 4 + brand/models/res_brand.py | 20 ++ brand/models/res_brand_mixin.py | 96 ++++++ brand/models/res_company.py | 23 ++ brand/models/res_config_settings.py | 22 ++ brand/readme/CONTRIBUTORS.rst | 1 + brand/readme/CREDITS.rst | 1 + brand/readme/DESCRIPTION.rst | 1 + brand/readme/USAGE.rst | 4 + brand/security/res_brand.xml | 34 +++ brand/static/description/icon.png | Bin 0 -> 9455 bytes brand/static/description/index.html | 435 ++++++++++++++++++++++++++++ brand/views/res_brand.xml | 67 +++++ brand/views/res_config_settings.xml | 41 +++ 17 files changed, 857 insertions(+) create mode 100644 brand/README.rst create mode 100644 brand/__init__.py create mode 100644 brand/__manifest__.py create mode 100644 brand/models/__init__.py create mode 100644 brand/models/res_brand.py create mode 100644 brand/models/res_brand_mixin.py create mode 100644 brand/models/res_company.py create mode 100644 brand/models/res_config_settings.py create mode 100644 brand/readme/CONTRIBUTORS.rst create mode 100644 brand/readme/CREDITS.rst create mode 100644 brand/readme/DESCRIPTION.rst create mode 100644 brand/readme/USAGE.rst create mode 100644 brand/security/res_brand.xml create mode 100644 brand/static/description/icon.png create mode 100644 brand/static/description/index.html create mode 100644 brand/views/res_brand.xml create mode 100644 brand/views/res_config_settings.xml diff --git a/brand/README.rst b/brand/README.rst new file mode 100644 index 000000000..7fd0a8f00 --- /dev/null +++ b/brand/README.rst @@ -0,0 +1,86 @@ +===== +Brand +===== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! 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%2Fbrand-lightgray.png?logo=github + :target: https://github.com/OCA/brand/tree/12.0/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-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 + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This is a base addon for brand modules. It adds the brand object and its menu and define an abstract model to be inherited from branded objects + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +To use this module, you need to: + +#. Go to Settings > Users & Companies > Brands +#. Add a new 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 +~~~~~~~ + +* ACSONE SA/NV + +Contributors +~~~~~~~~~~~~ + +* Souheil Bejaoui + +Other credits +~~~~~~~~~~~~~ + +* ACSONE SA/NV + +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/brand `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/brand/__init__.py b/brand/__init__.py new file mode 100644 index 000000000..9a7e03ede --- /dev/null +++ b/brand/__init__.py @@ -0,0 +1 @@ +from . import models \ No newline at end of file diff --git a/brand/__manifest__.py b/brand/__manifest__.py new file mode 100644 index 000000000..507d57f73 --- /dev/null +++ b/brand/__manifest__.py @@ -0,0 +1,21 @@ +# Copyright 2019 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + 'name': 'Brand', + 'summary': """ + This is a base addon for brand modules. It adds the brand object and + its menu and define an abstract model to be inherited from branded + objects""", + 'version': '12.0.1.0.0', + 'license': 'AGPL-3', + 'author': 'Odoo Community Association (OCA),' + 'ACSONE SA/NV', + 'website': 'https://github.com/OCA/brand', + 'depends': ['base_setup'], + 'data': [ + 'views/res_config_settings.xml', + 'security/res_brand.xml', + 'views/res_brand.xml', + ], +} diff --git a/brand/models/__init__.py b/brand/models/__init__.py new file mode 100644 index 000000000..7b3e15364 --- /dev/null +++ b/brand/models/__init__.py @@ -0,0 +1,4 @@ +from . import res_brand +from . import res_brand_mixin +from . import res_company +from . import res_config_settings diff --git a/brand/models/res_brand.py b/brand/models/res_brand.py new file mode 100644 index 000000000..369337998 --- /dev/null +++ b/brand/models/res_brand.py @@ -0,0 +1,20 @@ +# Copyright 2019 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class ResBrand(models.Model): + + _name = 'res.brand' + _description = 'Brand' + + partner_id = fields.Many2one( + comodel_name="res.partner", + string="Partner", + required=True, + index=True, + auto_join=True, + delegate=True, + ondelete="restrict", + ) diff --git a/brand/models/res_brand_mixin.py b/brand/models/res_brand_mixin.py new file mode 100644 index 000000000..99451463d --- /dev/null +++ b/brand/models/res_brand_mixin.py @@ -0,0 +1,96 @@ +# Copyright 2019 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from lxml import etree +from odoo import api, fields, models, _ +from odoo.osv import orm +from odoo.exceptions import ValidationError +from .res_company import ( + BRAND_USE_LEVEL_SELECTION, + BRAND_USE_LEVEL_DEFAULT_VALUE, + BRAND_USE_LEVEL_REQUIRED_LEVEL, +) + + +class ResBrandMixin(models.AbstractModel): + + _name = 'res.brand.mixin' + _description = 'Brand Mixin' + + brand_id = fields.Many2one( + 'res.brand', string='Brand', help="Brand to use for this sale" + ) + brand_use_level = fields.Selection( + string="Brand Use Level", + selection=BRAND_USE_LEVEL_SELECTION, + default=BRAND_USE_LEVEL_DEFAULT_VALUE, + related='company_id.brand_use_level', + ) + company_id = fields.Many2one('res.company') + + @api.multi + def _is_brand_required(self): + self.ensure_one() + return ( + self.company_id.brand_use_level == BRAND_USE_LEVEL_REQUIRED_LEVEL + ) + + @api.constrains('brand_id') + def _check_brand_requirement(self): + for rec in self: + if rec._is_brand_required() and not rec.brand_id: + raise ValidationError(_("Brand is required")) + + @api.constrains('brand_id') + def _check_brand_company_id(self): + for rec in self: + if ( + rec.brand_id.company_id + and rec.brand_id.company_id != rec.company_id + ): + raise ValidationError( + _( + "Brand company is different then " + "the selected company" + ) + ) + + @api.onchange('brand_id') + def _onchange_brand_id(self): + if 'company_id' in self._fields: + for rec in self.filtered('brand_id.company_id'): + if rec.brand_id and rec.brand_id.company_id: + rec.company_id = rec.brand_id.company_id + + def fields_view_get( + self, view_id=None, view_type='form', toolbar=False, submenu=False + ): + """set visibility and requirement rules""" + result = super(ResBrandMixin, self).fields_view_get( + view_id=view_id, + view_type=view_type, + toolbar=toolbar, + submenu=submenu, + ) + + if view_type in ['tree', 'form']: + doc = etree.XML(result['arch']) + for node in doc.xpath("//field[@name='brand_id']"): + elem = etree.Element( + 'field', {'name': 'brand_use_level', 'invisible': 'True'} + ) + orm.setup_modifiers( + elem, + self.fields_get(['brand_use_level'])['brand_use_level'], + ) + node.addprevious(elem) + node.set( + 'attrs', + '{"invisible": ' + '[("brand_use_level", "=", "no")], ' + '"required": ' + '[("brand_use_level", "=", "%s")]}' + % BRAND_USE_LEVEL_REQUIRED_LEVEL, + ) + orm.setup_modifiers(node, result['fields']['brand_id']) + result['arch'] = etree.tostring(doc, encoding='unicode') + return result diff --git a/brand/models/res_company.py b/brand/models/res_company.py new file mode 100644 index 000000000..60a24934e --- /dev/null +++ b/brand/models/res_company.py @@ -0,0 +1,23 @@ +# Copyright 2019 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + +BRAND_USE_LEVEL_SELECTION = [ + ('no', 'No Use'), + ('optional', 'Optional'), + ('required', 'Required'), +] +BRAND_USE_LEVEL_DEFAULT_VALUE = 'no' +BRAND_USE_LEVEL_REQUIRED_LEVEL = 'required' + + +class ResCompany(models.Model): + + _inherit = 'res.company' + + brand_use_level = fields.Selection( + string="Brand Use Level", + selection=BRAND_USE_LEVEL_SELECTION, + default=BRAND_USE_LEVEL_DEFAULT_VALUE, + ) diff --git a/brand/models/res_config_settings.py b/brand/models/res_config_settings.py new file mode 100644 index 000000000..919e0498b --- /dev/null +++ b/brand/models/res_config_settings.py @@ -0,0 +1,22 @@ +# Copyright 2019 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + +from .res_company import ( + BRAND_USE_LEVEL_SELECTION, + BRAND_USE_LEVEL_DEFAULT_VALUE, +) + + +class ResConfigSetting(models.TransientModel): + + _inherit = 'res.config.settings' + + brand_use_level = fields.Selection( + string="Brand Use Level", + selection=BRAND_USE_LEVEL_SELECTION, + default=BRAND_USE_LEVEL_DEFAULT_VALUE, + related='company_id.brand_use_level', + readonly=False, + ) diff --git a/brand/readme/CONTRIBUTORS.rst b/brand/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..50e6298db --- /dev/null +++ b/brand/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Souheil Bejaoui diff --git a/brand/readme/CREDITS.rst b/brand/readme/CREDITS.rst new file mode 100644 index 000000000..ae7e5fb13 --- /dev/null +++ b/brand/readme/CREDITS.rst @@ -0,0 +1 @@ +* ACSONE SA/NV diff --git a/brand/readme/DESCRIPTION.rst b/brand/readme/DESCRIPTION.rst new file mode 100644 index 000000000..698d99802 --- /dev/null +++ b/brand/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This is a base addon for brand modules. It adds the brand object and its menu and define an abstract model to be inherited from branded objects diff --git a/brand/readme/USAGE.rst b/brand/readme/USAGE.rst new file mode 100644 index 000000000..182188ba9 --- /dev/null +++ b/brand/readme/USAGE.rst @@ -0,0 +1,4 @@ +To use this module, you need to: + +#. Go to Settings > Users & Companies > Brands +#. Add a new brand diff --git a/brand/security/res_brand.xml b/brand/security/res_brand.xml new file mode 100644 index 000000000..e94b75049 --- /dev/null +++ b/brand/security/res_brand.xml @@ -0,0 +1,34 @@ + + + + + + + res.brand access all + + + + + + + + + res.brand manager access + + + + + + + + + + Res Brand multi company rule + + + ['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])] + + + + diff --git a/brand/static/description/icon.png b/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/brand/static/description/index.html b/brand/static/description/index.html new file mode 100644 index 000000000..5f60c45f6 --- /dev/null +++ b/brand/static/description/index.html @@ -0,0 +1,435 @@ + + + + + + +Brand + + + +
+

Brand

+ + +

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

+

This is a base addon for brand modules. It adds the brand object and its menu and define an abstract model to be inherited from branded objects

+

Table of contents

+ +
+

Usage

+

To use this module, you need to:

+
    +
  1. Go to Settings > Users & Companies > Brands
  2. +
  3. Add a new brand
  4. +
+
+
+

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

+
    +
  • ACSONE SA/NV
  • +
+
+
+

Contributors

+ +
+
+

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.

+

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/brand/views/res_brand.xml b/brand/views/res_brand.xml new file mode 100644 index 000000000..e386bdd2f --- /dev/null +++ b/brand/views/res_brand.xml @@ -0,0 +1,67 @@ + + + + + + + res.brand.form (in partner_brand) + res.brand + + primary + + + Brand + + + + + + res.brand.search (in partner_brand) + res.brand + + primary + + + Brands + + + + + + res.brand.kanban (in partner_brand) + res.brand + + primary + + + Brands + + + + + + res.brand.tree (in partner_brand) + res.brand + + primary + + + Brands + + + + + + Brands + res.brand + kanban,tree,form + + + + Brands + + + + + diff --git a/brand/views/res_config_settings.xml b/brand/views/res_config_settings.xml new file mode 100644 index 000000000..84c58a6ce --- /dev/null +++ b/brand/views/res_config_settings.xml @@ -0,0 +1,41 @@ + + + + + + + res.config.settings + + + +
+
+
+ Brand + +
+ Set the brand use level for the branded objects. +
+
+
+
+
+
+
+
+
+
+
+ + +
From 793bd2a60d71dd58b88f286eba2dd02b5dba5e89 Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Mon, 4 Nov 2019 19:30:15 +0100 Subject: [PATCH 002/522] [12.0][IMP] - Improve unit tests --- brand/models/res_brand_mixin.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/brand/models/res_brand_mixin.py b/brand/models/res_brand_mixin.py index 99451463d..22a90fc1c 100644 --- a/brand/models/res_brand_mixin.py +++ b/brand/models/res_brand_mixin.py @@ -34,13 +34,13 @@ def _is_brand_required(self): self.company_id.brand_use_level == BRAND_USE_LEVEL_REQUIRED_LEVEL ) - @api.constrains('brand_id') + @api.constrains('brand_id', 'company_id') def _check_brand_requirement(self): for rec in self: if rec._is_brand_required() and not rec.brand_id: raise ValidationError(_("Brand is required")) - @api.constrains('brand_id') + @api.constrains('brand_id', 'company_id') def _check_brand_company_id(self): for rec in self: if ( From ef1fb9f3cd6e75d446681e32cec1104e9a871297 Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Tue, 12 Nov 2019 10:47:36 +0100 Subject: [PATCH 003/522] [12.0][IMP] - Improve readme --- brand/README.rst | 18 ++++++++++++++++++ brand/models/res_brand_mixin.py | 24 ++++++++++++------------ brand/models/res_company.py | 11 ++++++----- brand/models/res_config_settings.py | 4 ++-- brand/readme/USAGE.rst | 18 ++++++++++++++++++ brand/static/description/index.html | 20 ++++++++++++++++++++ brand/views/res_config_settings.xml | 2 +- 7 files changed, 77 insertions(+), 20 deletions(-) diff --git a/brand/README.rst b/brand/README.rst index 7fd0a8f00..1bb9a3ac1 100644 --- a/brand/README.rst +++ b/brand/README.rst @@ -37,8 +37,26 @@ Usage To use this module, you need to: +#. Go to Settings > General Settings +#. Select the brand use level #. Go to Settings > Users & Companies > Brands #. Add a new brand +#. Install one of branding module (e.g. account_brand) +#. Based on your choice for the brand use level, you will see a new field added to the branded object + +To make a branded object, you need to: + +#. Inherit from the `res.brand.mixin` + .. code-block:: python + + + class YourModel(models.Model): + _name = 'your.model' + _inherit = ['your.model', 'res.brand.mixin'] + +#. Add the brand field to the object form or tree view. The mixin will add the brand use level field automatically to the view and set the modifiers to the brand field. This will define its visibility and if it's required or not. + +You can refer to the `account_brand `_. for more details. Bug Tracker =========== diff --git a/brand/models/res_brand_mixin.py b/brand/models/res_brand_mixin.py index 22a90fc1c..c8cfc0747 100644 --- a/brand/models/res_brand_mixin.py +++ b/brand/models/res_brand_mixin.py @@ -6,7 +6,7 @@ from odoo.exceptions import ValidationError from .res_company import ( BRAND_USE_LEVEL_SELECTION, - BRAND_USE_LEVEL_DEFAULT_VALUE, + BRAND_USE_LEVEL_NO_USE_LEVEL, BRAND_USE_LEVEL_REQUIRED_LEVEL, ) @@ -22,7 +22,7 @@ class ResBrandMixin(models.AbstractModel): brand_use_level = fields.Selection( string="Brand Use Level", selection=BRAND_USE_LEVEL_SELECTION, - default=BRAND_USE_LEVEL_DEFAULT_VALUE, + default=BRAND_USE_LEVEL_NO_USE_LEVEL, related='company_id.brand_use_level', ) company_id = fields.Many2one('res.company') @@ -48,18 +48,15 @@ def _check_brand_company_id(self): and rec.brand_id.company_id != rec.company_id ): raise ValidationError( - _( - "Brand company is different then " - "the selected company" - ) + _("Brand must match document company for %s") + % rec.display_name ) @api.onchange('brand_id') def _onchange_brand_id(self): - if 'company_id' in self._fields: - for rec in self.filtered('brand_id.company_id'): - if rec.brand_id and rec.brand_id.company_id: - rec.company_id = rec.brand_id.company_id + for rec in self.filtered('brand_id.company_id'): + if rec.brand_id and rec.brand_id.company_id: + rec.company_id = rec.brand_id.company_id def fields_view_get( self, view_id=None, view_type='form', toolbar=False, submenu=False @@ -86,10 +83,13 @@ def fields_view_get( node.set( 'attrs', '{"invisible": ' - '[("brand_use_level", "=", "no")], ' + '[("brand_use_level", "=", "%s")], ' '"required": ' '[("brand_use_level", "=", "%s")]}' - % BRAND_USE_LEVEL_REQUIRED_LEVEL, + % ( + BRAND_USE_LEVEL_NO_USE_LEVEL, + BRAND_USE_LEVEL_REQUIRED_LEVEL, + ), ) orm.setup_modifiers(node, result['fields']['brand_id']) result['arch'] = etree.tostring(doc, encoding='unicode') diff --git a/brand/models/res_company.py b/brand/models/res_company.py index 60a24934e..b064a23b9 100644 --- a/brand/models/res_company.py +++ b/brand/models/res_company.py @@ -3,13 +3,14 @@ from odoo import fields, models +BRAND_USE_LEVEL_NO_USE_LEVEL = 'no' +BRAND_USE_LEVEL_REQUIRED_LEVEL = 'required' + BRAND_USE_LEVEL_SELECTION = [ - ('no', 'No Use'), + (BRAND_USE_LEVEL_NO_USE_LEVEL, 'Do not use brands on business document'), ('optional', 'Optional'), - ('required', 'Required'), + (BRAND_USE_LEVEL_REQUIRED_LEVEL, 'Required'), ] -BRAND_USE_LEVEL_DEFAULT_VALUE = 'no' -BRAND_USE_LEVEL_REQUIRED_LEVEL = 'required' class ResCompany(models.Model): @@ -19,5 +20,5 @@ class ResCompany(models.Model): brand_use_level = fields.Selection( string="Brand Use Level", selection=BRAND_USE_LEVEL_SELECTION, - default=BRAND_USE_LEVEL_DEFAULT_VALUE, + default=BRAND_USE_LEVEL_NO_USE_LEVEL, ) diff --git a/brand/models/res_config_settings.py b/brand/models/res_config_settings.py index 919e0498b..6ffc23073 100644 --- a/brand/models/res_config_settings.py +++ b/brand/models/res_config_settings.py @@ -5,7 +5,7 @@ from .res_company import ( BRAND_USE_LEVEL_SELECTION, - BRAND_USE_LEVEL_DEFAULT_VALUE, + BRAND_USE_LEVEL_NO_USE_LEVEL, ) @@ -16,7 +16,7 @@ class ResConfigSetting(models.TransientModel): brand_use_level = fields.Selection( string="Brand Use Level", selection=BRAND_USE_LEVEL_SELECTION, - default=BRAND_USE_LEVEL_DEFAULT_VALUE, + default=BRAND_USE_LEVEL_NO_USE_LEVEL, related='company_id.brand_use_level', readonly=False, ) diff --git a/brand/readme/USAGE.rst b/brand/readme/USAGE.rst index 182188ba9..11c11ef2b 100644 --- a/brand/readme/USAGE.rst +++ b/brand/readme/USAGE.rst @@ -1,4 +1,22 @@ To use this module, you need to: +#. Go to Settings > General Settings +#. Select the brand use level #. Go to Settings > Users & Companies > Brands #. Add a new brand +#. Install one of branding module (e.g. account_brand) +#. Based on your choice for the brand use level, you will see a new field added to the branded object + +To make a branded object, you need to: + +#. Inherit from the `res.brand.mixin` + .. code-block:: python + + + class YourModel(models.Model): + _name = 'your.model' + _inherit = ['your.model', 'res.brand.mixin'] + +#. Add the brand field to the object form or tree view. The mixin will add the brand use level field automatically to the view and set the modifiers to the brand field. This will define its visibility and if it's required or not. + +You can refer to the `account_brand `_. for more details. diff --git a/brand/static/description/index.html b/brand/static/description/index.html index 5f60c45f6..1151f41c2 100644 --- a/brand/static/description/index.html +++ b/brand/static/description/index.html @@ -387,9 +387,29 @@

Brand

Usage

To use this module, you need to:

    +
  1. Go to Settings > General Settings
  2. +
  3. Select the brand use level
  4. Go to Settings > Users & Companies > Brands
  5. Add a new brand
  6. +
  7. Install one of branding module (e.g. account_brand)
  8. +
  9. Based on your choice for the brand use level, you will see a new field added to the branded object
+

To make a branded object, you need to:

+
    +
  1. +
    Inherit from the res.brand.mixin
    +
    +class YourModel(models.Model):
    +    _name = 'your.model'
    +    _inherit = ['your.model', 'res.brand.mixin']
    +
    +
    +
    +
  2. +
  3. Add the brand field to the object form or tree view. The mixin will add the brand use level field automatically to the view and set the modifiers to the brand field. This will define its visibility and if it’s required or not.

    +
  4. +
+

You can refer to the account_brand. for more details.

Bug Tracker

diff --git a/brand/views/res_config_settings.xml b/brand/views/res_config_settings.xml index 84c58a6ce..5d37a3e94 100644 --- a/brand/views/res_config_settings.xml +++ b/brand/views/res_config_settings.xml @@ -19,7 +19,7 @@ groups="base.group_multi_company" role="img"/>
- Set the brand use level for the branded objects. + Configure branding of customer facing business documents (SO, invoices, etc).
From 827f49e4f82d9a7baf939c33c47fa1af45740041 Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Fri, 15 Nov 2019 11:39:50 +0100 Subject: [PATCH 004/522] [12.0][FIX] - hide useless fields for brand --- brand/views/res_brand.xml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/brand/views/res_brand.xml b/brand/views/res_brand.xml index e386bdd2f..a5a34b67a 100644 --- a/brand/views/res_brand.xml +++ b/brand/views/res_brand.xml @@ -5,19 +5,26 @@ - res.brand.form (in partner_brand) res.brand - + primary Brand + + 1 + + + 1 + + + 1 + - res.brand.search (in partner_brand) res.brand primary @@ -56,6 +63,7 @@ Brands res.brand kanban,tree,form + {'default_customer': 0, 'default_supplier': 0,} From a7d104b686939c6408aa66f6978bf28c35153459 Mon Sep 17 00:00:00 2001 From: Bejaoui Souheil Date: Fri, 15 Nov 2019 17:30:13 +0100 Subject: [PATCH 005/522] [FIX] - Fix error message MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Stéphane Bidoul (ACSONE) --- brand/models/res_brand_mixin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/brand/models/res_brand_mixin.py b/brand/models/res_brand_mixin.py index c8cfc0747..3ed406349 100644 --- a/brand/models/res_brand_mixin.py +++ b/brand/models/res_brand_mixin.py @@ -48,7 +48,7 @@ def _check_brand_company_id(self): and rec.brand_id.company_id != rec.company_id ): raise ValidationError( - _("Brand must match document company for %s") + _("Brand company must match document company for %s") % rec.display_name ) From 7e2d449ec35680c323397ec7f60048ac55ed0a63 Mon Sep 17 00:00:00 2001 From: oca-travis Date: Fri, 15 Nov 2019 16:45:33 +0000 Subject: [PATCH 006/522] [UPD] Update brand.pot [UPD] README.rst --- brand/i18n/brand.pot | 880 ++++++++++++++++++++++++++++ brand/static/description/index.html | 2 +- 2 files changed, 881 insertions(+), 1 deletion(-) create mode 100644 brand/i18n/brand.pot diff --git a/brand/i18n/brand.pot b/brand/i18n/brand.pot new file mode 100644 index 000000000..fa80e3d0c --- /dev/null +++ b/brand/i18n/brand.pot @@ -0,0 +1,880 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * 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: brand +#: model_terms:ir.ui.view,arch_db:brand.res_config_settings_view_form +msgid "Brand\n" +" " +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__property_account_payable_id +msgid "Account Payable" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__property_account_receivable_id +msgid "Account Receivable" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__active +msgid "Active" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__activity_ids +msgid "Activities" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__activity_state +msgid "Activity State" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__additional_info +msgid "Additional info" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__type +msgid "Address Type" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__lang +msgid "All the emails and documents sent to this contact will be translated in this language." +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__bank_account_count +msgid "Bank" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__bank_ids +msgid "Banks" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__barcode +msgid "Barcode" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__is_blacklisted +msgid "Blacklist" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__message_bounce +msgid "Bounce" +msgstr "" + +#. module: brand +#: model:ir.model,name:brand.model_res_brand +#: model:ir.model.fields,field_description:brand.field_res_brand_mixin__brand_id +#: model_terms:ir.ui.view,arch_db:brand.res_brand_form_view +msgid "Brand" +msgstr "" + +#. module: brand +#: model:ir.model,name:brand.model_res_brand_mixin +msgid "Brand Mixin" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand_mixin__brand_use_level +#: model:ir.model.fields,field_description:brand.field_res_company__brand_use_level +#: model:ir.model.fields,field_description:brand.field_res_config_settings__brand_use_level +#: model_terms:ir.ui.view,arch_db:brand.res_config_settings_view_form +msgid "Brand Use Level" +msgstr "" + +#. module: brand +#: code:addons/brand/models/res_brand_mixin.py:51 +#, python-format +msgid "Brand company must match document company for %s" +msgstr "" + +#. module: brand +#: code:addons/brand/models/res_brand_mixin.py:41 +#, python-format +msgid "Brand is required" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand_mixin__brand_id +msgid "Brand to use for this sale" +msgstr "" + +#. module: brand +#: model:ir.actions.act_window,name:brand.res_brand_act_window +#: model:ir.ui.menu,name:brand.res_brand_menu +#: model_terms:ir.ui.view,arch_db:brand.res_brand_kanban_view +#: model_terms:ir.ui.view,arch_db:brand.res_brand_search_view +#: model_terms:ir.ui.view,arch_db:brand.res_brand_tree_view +msgid "Brands" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__channel_ids +msgid "Channels" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__is_company +msgid "Check if the contact is a company, otherwise it is a person" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__customer +msgid "Check this box if this contact is a customer. It can be selected in sales orders." +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__supplier +msgid "Check this box if this contact is a vendor. It can be selected in purchase orders." +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__employee +msgid "Check this box if this contact is an Employee." +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__city +msgid "City" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__color +msgid "Color Index" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__commercial_partner_id +msgid "Commercial Entity" +msgstr "" + +#. module: brand +#: model:ir.model,name:brand.model_res_company +msgid "Companies" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__ref_company_ids +msgid "Companies that refers to partner" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__company_id +#: model:ir.model.fields,field_description:brand.field_res_brand_mixin__company_id +msgid "Company" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__company_name +msgid "Company Name" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__commercial_company_name +msgid "Company Name Entity" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__company_type +msgid "Company Type" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__partner_gid +msgid "Company database ID" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__contact_address +msgid "Complete Address" +msgstr "" + +#. module: brand +#: model:ir.model,name:brand.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: brand +#: model_terms:ir.ui.view,arch_db:brand.res_config_settings_view_form +msgid "Configure branding of customer facing business documents (SO, invoices, etc)." +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__child_ids +msgid "Contacts" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__contracts_count +msgid "Contracts Count" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__payment_token_count +msgid "Count Payment Token" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__message_bounce +msgid "Counter of the number of bounced emails for this contact" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__country_id +msgid "Country" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__create_uid +msgid "Created by" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__create_date +msgid "Created on" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__credit_limit +msgid "Credit Limit" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__currency_id +msgid "Currency" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__property_payment_term_id +msgid "Customer Payment Terms" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__date +msgid "Date" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__trust +msgid "Degree of trust you have in this debtor" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__display_name +#: model:ir.model.fields,field_description:brand.field_res_brand_mixin__display_name +msgid "Display Name" +msgstr "" + +#. module: brand +#: selection:res.company,brand_use_level:0 +msgid "Do not use brands on business document" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__partner_share +msgid "Either customer (not a user), either shared user. Indicated the current partner is a customer without access or with a limited access created for sharing data." +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__email +msgid "Email" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__employee +msgid "Employee" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__property_account_position_id +msgid "Fiscal Position" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__email_formatted +msgid "Format email address \"Name \"" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__email_formatted +msgid "Formatted Email" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__has_unreconciled_entries +msgid "Has Unreconciled Entries" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__id +#: model:ir.model.fields,field_description:brand.field_res_brand_mixin__id +msgid "ID" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__im_status +msgid "IM Status" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__message_unread +msgid "If checked new messages require your attention." +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__team_id +msgid "If set, this Sales Team will be used for sales and assignations related to this partner" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__is_blacklisted +msgid "If the email address is on the blacklist, the contact won't receive mass mailing anymore, from any list" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__image +msgid "Image" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__industry_id +msgid "Industry" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__ref +msgid "Internal Reference" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__invoice_warn +msgid "Invoice" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__invoice_ids +msgid "Invoices" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__is_company +msgid "Is a Company" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__customer +msgid "Is a Customer" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__supplier +msgid "Is a Vendor" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__function +msgid "Job Position" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__journal_item_count +msgid "Journal Items" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__lang +msgid "Language" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand____last_update +#: model:ir.model.fields,field_description:brand.field_res_brand_mixin____last_update +msgid "Last Modified on" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__write_date +msgid "Last Updated on" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__last_time_entries_checked +msgid "Last time the invoices & payments matching was performed for this partner. It is set either if there's not at least an unreconciled debit and an unreconciled credit or if you click the \"Done\" button." +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__last_time_entries_checked +msgid "Latest Invoices & Payments Matching Date" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__image_medium +msgid "Medium-sized image" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__image_medium +msgid "Medium-sized image of this contact. It is automatically resized as a 128x128px image, with aspect ratio preserved. Use this field in form views or some kanban views." +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__invoice_warn_msg +msgid "Message for Invoice" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__sale_warn_msg +msgid "Message for Sales Order" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__message_ids +msgid "Messages" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__mobile +msgid "Mobile" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__name +msgid "Name" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__comment +msgid "Notes" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__message_has_error_counter +msgid "Number of error" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: brand +#: selection:res.company,brand_use_level:0 +msgid "Optional" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__parent_name +msgid "Parent name" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__partner_id +msgid "Partner" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids +msgid "Partner Contracts" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__debit_limit +msgid "Payable Limit" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__payment_token_ids +msgid "Payment Tokens" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__phone +msgid "Phone" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__property_product_pricelist +msgid "Pricelist" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__parent_id +msgid "Related Company" +msgstr "" + +#. module: brand +#: selection:res.company,brand_use_level:0 +msgid "Required" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__sale_order_count +msgid "Sale Order Count" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__sale_order_ids +msgid "Sales Order" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__team_id +msgid "Sales Team" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__sale_warn +msgid "Sales Warnings" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__user_id +msgid "Salesperson" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__invoice_warn +#: model:ir.model.fields,help:brand.field_res_brand__sale_warn +msgid "Selecting the \"Warning\" option will notify user with the message, Selecting \"Blocking Message\" will throw an exception with the message and block the flow. The Message has to be written in the next field." +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__self +msgid "Self" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__partner_share +msgid "Share Partner" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__signup_expiration +msgid "Signup Expiration" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__signup_token +msgid "Signup Token" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__signup_type +msgid "Signup Token Type" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__signup_valid +msgid "Signup Token is Valid" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__signup_url +msgid "Signup URL" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__image_small +msgid "Small-sized image" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__image_small +msgid "Small-sized image of this contact. It is automatically resized as a 64x64px image, with aspect ratio preserved. Use this field anywhere a small image is required." +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__state_id +msgid "State" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__activity_state +msgid "Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__street +msgid "Street" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__street2 +msgid "Street2" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__category_id +msgid "Tags" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__vat +msgid "Tax ID" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__vat +msgid "The Tax Identification Number. Complete it if the contact is subjected to government taxes. Used in some legal statements." +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__property_account_position_id +msgid "The fiscal position determines the taxes/accounts used for this contact." +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__user_id +msgid "The internal user in charge of this contact." +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__has_unreconciled_entries +msgid "The partner has at least one unreconciled debit and credit since last time the invoices & payments matching was performed." +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__tz +msgid "The partner's timezone, used to output proper date and time values inside printed reports. It is important to set a value for this field. You should use the same timezone that is otherwise used to pick and render date and time values: your computer's timezone." +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__property_account_payable_id +msgid "This account will be used instead of the default one as the payable account for the current partner" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__property_account_receivable_id +msgid "This account will be used instead of the default one as the receivable account for the current partner" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__image +msgid "This field holds the image used as avatar for this contact, limited to 1024x1024px" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__property_supplier_payment_term_id +msgid "This payment term will be used instead of the default one for purchase orders and vendor bills" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__property_payment_term_id +msgid "This payment term will be used instead of the default one for sales orders and customer invoices" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__property_product_pricelist +msgid "This pricelist will be used, instead of the default one, for sales to the current partner" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__tz +msgid "Timezone" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__tz_offset +msgid "Timezone offset" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__title +msgid "Title" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__total_invoiced +msgid "Total Invoiced" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__debit +msgid "Total Payable" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__credit +msgid "Total Receivable" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__credit +msgid "Total amount this customer owes you." +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__debit +msgid "Total amount you have to pay to this vendor." +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__barcode +msgid "Use a barcode to identify this contact from the Point of Sale." +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__type +msgid "Used by Sales and Purchase Apps to select the relevant address depending on the context." +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__user_ids +msgid "Users" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__currency_id +msgid "Utility field to express amount currency" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__property_supplier_payment_term_id +msgid "Vendor Payment Terms" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__website +msgid "Website" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: brand +#: model:ir.model.fields,help:brand.field_res_brand__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__zip +msgid "Zip" +msgstr "" + diff --git a/brand/static/description/index.html b/brand/static/description/index.html index 1151f41c2..37dde4cb5 100644 --- a/brand/static/description/index.html +++ b/brand/static/description/index.html @@ -3,7 +3,7 @@ - + Brand -
-

Brand

+
+ + +Odoo Community Association + +
+

Brand

-

Beta License: LGPL-3 OCA/brand Translate me on Weblate Try me on Runboat

+

Beta License: LGPL-3 OCA/brand Translate me on Weblate Try me on Runboat

This is a base addon for brand modules. It adds the brand object and its menu and define an abstract model to be inherited from branded objects.

Table of contents

@@ -387,7 +392,7 @@

Brand

-

Usage

+

Usage

To use this module, you need to:

  1. Go to Settings > General Settings
  2. @@ -418,7 +423,7 @@

    Usage

    for more details.

-

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 to smash it by providing a detailed and welcomed @@ -426,15 +431,15 @@

Bug Tracker

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

-

Credits

+

Credits

-

Authors

+

Authors

  • ACSONE SA/NV
-

Contributors

+

Contributors

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -466,5 +471,6 @@

Maintainers

+
From 87990f09f77a02fd73060597fd3d778e0d6ec932 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 29 Jul 2025 12:38:52 +0000 Subject: [PATCH 129/522] [UPD] Update brand.pot --- brand/i18n/brand.pot | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/brand/i18n/brand.pot b/brand/i18n/brand.pot index 02dabcd65..1abc7c665 100644 --- a/brand/i18n/brand.pot +++ b/brand/i18n/brand.pot @@ -317,6 +317,11 @@ msgstr "" msgid "Contact" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids +msgid "Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__message_bounce msgid "Counter of the number of bounced emails for this contact" @@ -786,11 +791,6 @@ msgstr "" msgid "Partner Company Registry Placeholder" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids -msgid "Partner Contracts" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__use_partner_credit_limit msgid "Partner Limit" @@ -875,6 +875,11 @@ msgstr "" msgid "Property Outbound Payment Method Line" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__purchase_contract_count +msgid "Purchase Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__purchase_line_ids msgid "Purchase Lines" @@ -915,6 +920,11 @@ msgstr "" msgid "Responsible User" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__sale_contract_count +msgid "Sale Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__sale_order_count msgid "Sale Order Count" From 0b1d2e5500e346a45315dbc906e6c4037b76207f Mon Sep 17 00:00:00 2001 From: Weblate Date: Tue, 29 Jul 2025 12:42:14 +0000 Subject: [PATCH 130/522] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: brand-18.0/brand-18.0-brand Translate-URL: https://translation.odoo-community.org/projects/brand-18-0/brand-18-0-brand/ --- brand/i18n/de.po | 20 +++++++++++++++----- brand/i18n/es.po | 23 ++++++++++++++++++----- brand/i18n/es_AR.po | 32 ++++++++++++++++++-------------- brand/i18n/fr.po | 20 +++++++++++++++----- brand/i18n/fr_FR.po | 32 ++++++++++++++++++-------------- brand/i18n/hr.po | 23 ++++++++++++++++++----- brand/i18n/it.po | 23 ++++++++++++++++++----- brand/i18n/nl.po | 23 ++++++++++++++++++----- brand/i18n/pl.po | 20 +++++++++++++++----- brand/i18n/pt.po | 20 +++++++++++++++----- 10 files changed, 168 insertions(+), 68 deletions(-) diff --git a/brand/i18n/de.po b/brand/i18n/de.po index 3b746432a..1002a86c6 100644 --- a/brand/i18n/de.po +++ b/brand/i18n/de.po @@ -322,6 +322,11 @@ msgstr "" msgid "Contact" msgstr "Kontakt" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids +msgid "Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__message_bounce msgid "Counter of the number of bounced emails for this contact" @@ -793,11 +798,6 @@ msgstr "Partner" msgid "Partner Company Registry Placeholder" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids -msgid "Partner Contracts" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__use_partner_credit_limit msgid "Partner Limit" @@ -882,6 +882,11 @@ msgstr "" msgid "Property Outbound Payment Method Line" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__purchase_contract_count +msgid "Purchase Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__purchase_line_ids msgid "Purchase Lines" @@ -922,6 +927,11 @@ msgstr "Notwendig" msgid "Responsible User" msgstr "Verantwortlicher Benutzer" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__sale_contract_count +msgid "Sale Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__sale_order_count msgid "Sale Order Count" diff --git a/brand/i18n/es.po b/brand/i18n/es.po index 4727cc96b..c58c32765 100644 --- a/brand/i18n/es.po +++ b/brand/i18n/es.po @@ -334,6 +334,11 @@ msgstr "" msgid "Contact" msgstr "Contacto" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids +msgid "Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__message_bounce msgid "Counter of the number of bounced emails for this contact" @@ -814,11 +819,6 @@ msgstr "Socio" msgid "Partner Company Registry Placeholder" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids -msgid "Partner Contracts" -msgstr "Contratos del socio" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__use_partner_credit_limit msgid "Partner Limit" @@ -903,6 +903,11 @@ msgstr "" msgid "Property Outbound Payment Method Line" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__purchase_contract_count +msgid "Purchase Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__purchase_line_ids msgid "Purchase Lines" @@ -943,6 +948,11 @@ msgstr "Requerido" msgid "Responsible User" msgstr "Usuario Responsable" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__sale_contract_count +msgid "Sale Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__sale_order_count msgid "Sale Order Count" @@ -1363,6 +1373,9 @@ msgstr "Por ej. https://www.odoo.com" msgid "eInvoice format" msgstr "" +#~ msgid "Partner Contracts" +#~ msgstr "Contratos del socio" + #~ msgid "Additional info" #~ msgstr "Información adicional" diff --git a/brand/i18n/es_AR.po b/brand/i18n/es_AR.po index 0e727e290..820fded50 100644 --- a/brand/i18n/es_AR.po +++ b/brand/i18n/es_AR.po @@ -335,6 +335,11 @@ msgstr "" msgid "Contact" msgstr "Contacto" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids +msgid "Contracts" +msgstr "Contratos" + #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__message_bounce msgid "Counter of the number of bounced emails for this contact" @@ -815,11 +820,6 @@ msgstr "Contacto" msgid "Partner Company Registry Placeholder" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids -msgid "Partner Contracts" -msgstr "Contratos de Contactos" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__use_partner_credit_limit msgid "Partner Limit" @@ -904,6 +904,11 @@ msgstr "" msgid "Property Outbound Payment Method Line" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__purchase_contract_count +msgid "Purchase Contracts" +msgstr "Contratos de Compra" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__purchase_line_ids msgid "Purchase Lines" @@ -944,6 +949,11 @@ msgstr "Requerido" msgid "Responsible User" msgstr "Usuario Responsable" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__sale_contract_count +msgid "Sale Contracts" +msgstr "Contratos de Venta" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__sale_order_count msgid "Sale Order Count" @@ -1363,6 +1373,9 @@ msgstr "ej. https://www.odoo.com" msgid "eInvoice format" msgstr "" +#~ msgid "Partner Contracts" +#~ msgstr "Contratos de Contactos" + #~ msgid "Additional info" #~ msgstr "Información adicional" @@ -1561,9 +1574,6 @@ msgstr "" #~ "sujeto a impuestos gubernamentales. Utilizado en algunas declaraciones " #~ "legales." -#~ msgid "Contracts" -#~ msgstr "Contratos" - #~ msgid "" #~ "Invoice & Delivery addresses are used in sales orders. Private addresses " #~ "are only visible by authorized users." @@ -1575,12 +1585,6 @@ msgstr "" #~ msgid "Number of unread messages" #~ msgstr "Número de mensajes sin leer" -#~ msgid "Purchase Contracts" -#~ msgstr "Contratos de Compra" - -#~ msgid "Sale Contracts" -#~ msgstr "Contratos de Venta" - #~ msgid "Unread Messages" #~ msgstr "Mensajes sin Leer" diff --git a/brand/i18n/fr.po b/brand/i18n/fr.po index 7489e2364..7c47ff17e 100644 --- a/brand/i18n/fr.po +++ b/brand/i18n/fr.po @@ -326,6 +326,11 @@ msgstr "" msgid "Contact" msgstr "Contact" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids +msgid "Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__message_bounce msgid "Counter of the number of bounced emails for this contact" @@ -799,11 +804,6 @@ msgstr "" msgid "Partner Company Registry Placeholder" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids -msgid "Partner Contracts" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__use_partner_credit_limit msgid "Partner Limit" @@ -888,6 +888,11 @@ msgstr "" msgid "Property Outbound Payment Method Line" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__purchase_contract_count +msgid "Purchase Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__purchase_line_ids msgid "Purchase Lines" @@ -928,6 +933,11 @@ msgstr "" msgid "Responsible User" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__sale_contract_count +msgid "Sale Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__sale_order_count msgid "Sale Order Count" diff --git a/brand/i18n/fr_FR.po b/brand/i18n/fr_FR.po index a821f4fed..cef23cd5b 100644 --- a/brand/i18n/fr_FR.po +++ b/brand/i18n/fr_FR.po @@ -325,6 +325,11 @@ msgstr "" msgid "Contact" msgstr "Contact" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids +msgid "Contracts" +msgstr "Contrats" + #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__message_bounce msgid "Counter of the number of bounced emails for this contact" @@ -800,11 +805,6 @@ msgstr "Partenaire" msgid "Partner Company Registry Placeholder" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids -msgid "Partner Contracts" -msgstr "Contrats du partenaire" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__use_partner_credit_limit msgid "Partner Limit" @@ -889,6 +889,11 @@ msgstr "" msgid "Property Outbound Payment Method Line" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__purchase_contract_count +msgid "Purchase Contracts" +msgstr "Contrats d'Achat" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__purchase_line_ids msgid "Purchase Lines" @@ -929,6 +934,11 @@ msgstr "Obligatoire" msgid "Responsible User" msgstr "Utilisateur responsable" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__sale_contract_count +msgid "Sale Contracts" +msgstr "Contrats de vente" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__sale_order_count msgid "Sale Order Count" @@ -1332,6 +1342,9 @@ msgstr "e.g. https://www.odoo.com" msgid "eInvoice format" msgstr "" +#~ msgid "Partner Contracts" +#~ msgstr "Contrats du partenaire" + #~ msgid "Additional info" #~ msgstr "Info complémentaires" @@ -1479,9 +1492,6 @@ msgstr "" #~ "Le numéro de TVA. Remplissez-le si le contact est soumis à des taxes " #~ "gouvernementales. Utilisé dans certaines déclarations juridiques." -#~ msgid "Contracts" -#~ msgstr "Contrats" - #~ msgid "" #~ "Invoice & Delivery addresses are used in sales orders. Private addresses " #~ "are only visible by authorized users." @@ -1493,12 +1503,6 @@ msgstr "" #~ msgid "Number of unread messages" #~ msgstr "Nb messages non lus" -#~ msgid "Purchase Contracts" -#~ msgstr "Contrats d'Achat" - -#~ msgid "Sale Contracts" -#~ msgstr "Contrats de vente" - #~ msgid "Unread Messages" #~ msgstr "Message non lus" diff --git a/brand/i18n/hr.po b/brand/i18n/hr.po index a97662f6b..fb17dc249 100644 --- a/brand/i18n/hr.po +++ b/brand/i18n/hr.po @@ -324,6 +324,11 @@ msgstr "" msgid "Contact" msgstr "Kontakt" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids +msgid "Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__message_bounce msgid "Counter of the number of bounced emails for this contact" @@ -793,11 +798,6 @@ msgstr "" msgid "Partner Company Registry Placeholder" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids -msgid "Partner Contracts" -msgstr "Kontakti partnera" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__use_partner_credit_limit msgid "Partner Limit" @@ -882,6 +882,11 @@ msgstr "" msgid "Property Outbound Payment Method Line" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__purchase_contract_count +msgid "Purchase Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__purchase_line_ids msgid "Purchase Lines" @@ -922,6 +927,11 @@ msgstr "Obavezno" msgid "Responsible User" msgstr "Odgovorni korisnik" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__sale_contract_count +msgid "Sale Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__sale_order_count msgid "Sale Order Count" @@ -1296,6 +1306,9 @@ msgstr "" msgid "eInvoice format" msgstr "" +#~ msgid "Partner Contracts" +#~ msgstr "Kontakti partnera" + #~ msgid "Additional info" #~ msgstr "Dodatne informacije" diff --git a/brand/i18n/it.po b/brand/i18n/it.po index 93832c782..9fbe7943d 100644 --- a/brand/i18n/it.po +++ b/brand/i18n/it.po @@ -329,6 +329,11 @@ msgstr "" msgid "Contact" msgstr "Contatto" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids +msgid "Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__message_bounce msgid "Counter of the number of bounced emails for this contact" @@ -803,11 +808,6 @@ msgstr "Partner" msgid "Partner Company Registry Placeholder" msgstr "Segnaposto registro azienda partner" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids -msgid "Partner Contracts" -msgstr "Contratti fornitori" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__use_partner_credit_limit msgid "Partner Limit" @@ -898,6 +898,11 @@ msgstr "Riga del metodo di pagamento in entrata della proprietà" msgid "Property Outbound Payment Method Line" msgstr "Riga del metodo di pagamento in uscita della proprietà" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__purchase_contract_count +msgid "Purchase Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__purchase_line_ids msgid "Purchase Lines" @@ -938,6 +943,11 @@ msgstr "Richiesto" msgid "Responsible User" msgstr "Utente responsabile" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__sale_contract_count +msgid "Sale Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__sale_order_count msgid "Sale Order Count" @@ -1353,6 +1363,9 @@ msgstr "es. https://www.odoo.com" msgid "eInvoice format" msgstr "Formato fattura elettronica" +#~ msgid "Partner Contracts" +#~ msgstr "Contratti fornitori" + #~ msgid "Additional info" #~ msgstr "Informazioni aggiuntive" diff --git a/brand/i18n/nl.po b/brand/i18n/nl.po index 9f1804c3c..d9d5a0ee7 100644 --- a/brand/i18n/nl.po +++ b/brand/i18n/nl.po @@ -328,6 +328,11 @@ msgstr "" msgid "Contact" msgstr "Contactpersoon" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids +msgid "Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__message_bounce msgid "Counter of the number of bounced emails for this contact" @@ -802,11 +807,6 @@ msgstr "Partner" msgid "Partner Company Registry Placeholder" msgstr "Plaatshouder Handelsregister Partner" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids -msgid "Partner Contracts" -msgstr "Partnercontracten" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__use_partner_credit_limit msgid "Partner Limit" @@ -896,6 +896,11 @@ msgstr "Lijn Inkomende Betaalmethode (Eigenschap)" msgid "Property Outbound Payment Method Line" msgstr "Lijn Uitgaande Betaalmethode (Eigenschap)" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__purchase_contract_count +msgid "Purchase Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__purchase_line_ids msgid "Purchase Lines" @@ -936,6 +941,11 @@ msgstr "Vereist" msgid "Responsible User" msgstr "Verantwoordelijke gebruiker" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__sale_contract_count +msgid "Sale Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__sale_order_count msgid "Sale Order Count" @@ -1349,6 +1359,9 @@ msgstr "bijv. https://www.odoo.com" msgid "eInvoice format" msgstr "eFactuur formaat" +#~ msgid "Partner Contracts" +#~ msgstr "Partnercontracten" + #~ msgid "Additional info" #~ msgstr "Extra info" diff --git a/brand/i18n/pl.po b/brand/i18n/pl.po index 5a3f2b077..f11767db6 100644 --- a/brand/i18n/pl.po +++ b/brand/i18n/pl.po @@ -323,6 +323,11 @@ msgstr "" msgid "Contact" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids +msgid "Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__message_bounce msgid "Counter of the number of bounced emails for this contact" @@ -792,11 +797,6 @@ msgstr "" msgid "Partner Company Registry Placeholder" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids -msgid "Partner Contracts" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__use_partner_credit_limit msgid "Partner Limit" @@ -881,6 +881,11 @@ msgstr "" msgid "Property Outbound Payment Method Line" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__purchase_contract_count +msgid "Purchase Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__purchase_line_ids msgid "Purchase Lines" @@ -921,6 +926,11 @@ msgstr "" msgid "Responsible User" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__sale_contract_count +msgid "Sale Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__sale_order_count msgid "Sale Order Count" diff --git a/brand/i18n/pt.po b/brand/i18n/pt.po index 2da036ddd..4fa0377b5 100644 --- a/brand/i18n/pt.po +++ b/brand/i18n/pt.po @@ -318,6 +318,11 @@ msgstr "" msgid "Contact" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids +msgid "Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__message_bounce msgid "Counter of the number of bounced emails for this contact" @@ -787,11 +792,6 @@ msgstr "" msgid "Partner Company Registry Placeholder" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids -msgid "Partner Contracts" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__use_partner_credit_limit msgid "Partner Limit" @@ -876,6 +876,11 @@ msgstr "" msgid "Property Outbound Payment Method Line" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__purchase_contract_count +msgid "Purchase Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__purchase_line_ids msgid "Purchase Lines" @@ -916,6 +921,11 @@ msgstr "" msgid "Responsible User" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand__sale_contract_count +msgid "Sale Contracts" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__sale_order_count msgid "Sale Order Count" From a98713edcfad6460a7c54887beb2aef15414cf91 Mon Sep 17 00:00:00 2001 From: Marie Lejeune Date: Wed, 23 Apr 2025 14:43:49 +0200 Subject: [PATCH 131/522] [IMP] brand: run tests in post-install: Set up of these tests create new partners. Due to autopost_bills field on res.partner (in Odoo account module), tests fail. Indeed autopost_bills is a field required (in SQL) with a default value. If brand is installed in an env where account is also installed, as brand doesn't depend on account, tests will fail. --- brand/tests/common.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/brand/tests/common.py b/brand/tests/common.py index 0a2cdd959..0d6758925 100644 --- a/brand/tests/common.py +++ b/brand/tests/common.py @@ -1,6 +1,8 @@ +from odoo.tests import tagged from odoo.tests.common import TransactionCase +@tagged("post_install", "-at_install") class CommonCase(TransactionCase): @classmethod def setUpClass(cls): From 6cd99bb8354160e4c123db59d6207fd60c74f4bc Mon Sep 17 00:00:00 2001 From: mymage Date: Wed, 30 Jul 2025 09:14:08 +0000 Subject: [PATCH 132/522] Translated using Weblate (Italian) Currently translated at 100.0% (242 of 242 strings) Translation: brand-18.0/brand-18.0-brand Translate-URL: https://translation.odoo-community.org/projects/brand-18-0/brand-18-0-brand/it/ --- brand/i18n/it.po | 46 +++++++++++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/brand/i18n/it.po b/brand/i18n/it.po index 9fbe7943d..5e45c35b5 100644 --- a/brand/i18n/it.po +++ b/brand/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2025-06-19 14:26+0000\n" +"PO-Revision-Date: 2025-07-30 09:46+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -111,11 +111,13 @@ msgid "" "Automatically send a confirmation email to the vendor X days before the " "expected receipt date, asking him to confirm the exact date." msgstr "" +"Invia automaticamente una email al fornitore X giorni prima della data " +"fattura prevista, chiedendo la conferma della data." #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__available_peppol_eas msgid "Available Peppol Eas" -msgstr "" +msgstr "EAS Peppol disponibile" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__avatar_1920 @@ -215,7 +217,7 @@ msgstr "Marche" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__buyer_id msgid "Buyer" -msgstr "" +msgstr "Acquirente" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__channel_ids @@ -332,7 +334,7 @@ msgstr "Contatto" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__contract_ids msgid "Contracts" -msgstr "" +msgstr "Contratti" #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__message_bounce @@ -388,7 +390,7 @@ msgstr "Ubicazione cliente" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__customer_payment_mode_id msgid "Customer Payment Mode" -msgstr "" +msgstr "Modo di pagamento cliente" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__property_payment_term_id @@ -403,7 +405,7 @@ msgstr "Classe cliente" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__reminder_date_before_receipt msgid "Days Before Receipt" -msgstr "" +msgstr "Giorni antecedenti la fattura" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__days_sales_outstanding @@ -438,7 +440,7 @@ msgstr "Non utilizzare marche nel documento commerciale" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__duplicate_bank_partner_ids msgid "Duplicate Bank Partner" -msgstr "" +msgstr "Duplica banca partner" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__duplicated_bank_account_partners_count @@ -693,7 +695,7 @@ msgstr "Messaggio per fattura" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__purchase_warn_msg msgid "Message for Purchase Order" -msgstr "" +msgstr "Messaggio per ordine di acquisto" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__sale_warn_msg @@ -759,6 +761,7 @@ msgstr "Numero di azioni" #: model:ir.model.fields,help:brand.field_res_brand__reminder_date_before_receipt msgid "Number of days to send reminder email before the promised receipt date" msgstr "" +"Numero di giorni per invio email promemoria prima della data fattura attesa" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__message_has_error_counter @@ -778,7 +781,7 @@ msgstr "Numero di messaggi con errore di consegna" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__on_time_rate msgid "On-Time Delivery Rate" -msgstr "" +msgstr "Tasso puntualità consegna" #. module: brand #: model:ir.model.fields.selection,name:brand.selection__res_company__brand_use_level__optional @@ -792,6 +795,9 @@ msgid "" "number of ordered products.x is either the System Parameter purchase_stock." "on_time_delivery_days or the default 365" msgstr "" +"Negli ultimi X giorni; il numero di prodotti ricevuti puntualmente diviso " +"per il numero di prodotti ordinati. X è il parametro di sistema " +"purchase_stock.on_time_delivery_days o il predefinito 365" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__parent_name @@ -901,27 +907,27 @@ msgstr "Riga del metodo di pagamento in uscita della proprietà" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__purchase_contract_count msgid "Purchase Contracts" -msgstr "" +msgstr "Contratti di acquisto" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__purchase_line_ids msgid "Purchase Lines" -msgstr "" +msgstr "Righe acquisti" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__purchase_order_count msgid "Purchase Order Count" -msgstr "" +msgstr "Conteggio ordine di acquisto" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__purchase_warn msgid "Purchase Order Warning" -msgstr "" +msgstr "Avviso ordine acquisto" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__receipt_reminder_email msgid "Receipt Reminder" -msgstr "" +msgstr "Promemoria ricevuta" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__ref @@ -946,7 +952,7 @@ msgstr "Utente responsabile" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__sale_contract_count msgid "Sale Contracts" -msgstr "" +msgstr "Contratti di vendita" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__sale_order_count @@ -971,12 +977,12 @@ msgstr "Addetto vendite" #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__customer_payment_mode_id msgid "Select the default payment mode for this customer." -msgstr "" +msgstr "Selezionare la modalità di pagamento di default per questo cliente." #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__supplier_payment_mode_id msgid "Select the default payment mode for this supplier." -msgstr "" +msgstr "Selezionare la modalità di pagamento per questo fornitore." #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__invoice_warn @@ -1075,12 +1081,12 @@ msgstr "Indirizzo2" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__property_purchase_currency_id msgid "Supplier Currency" -msgstr "" +msgstr "Valuta fornitore" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__supplier_payment_mode_id msgid "Supplier Payment Mode" -msgstr "" +msgstr "Modo di pagamento fornitore" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__supplier_rank @@ -1183,6 +1189,8 @@ msgid "" "This currency will be used, instead of the default one, for purchases from " "the current partner" msgstr "" +"Questa valuta verrà utilizzata, al posto della predefinita, per gli acquisti " +"dal fornitore corrente" #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__email_normalized From c2c8e767d44dec38a35c6a23b95575fab9139505 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Thu, 7 Aug 2025 15:30:26 +0000 Subject: [PATCH 133/522] [UPD] Update brand.pot --- brand/i18n/brand.pot | 39 --------------------------------------- 1 file changed, 39 deletions(-) diff --git a/brand/i18n/brand.pot b/brand/i18n/brand.pot index 1abc7c665..ddfad39bd 100644 --- a/brand/i18n/brand.pot +++ b/brand/i18n/brand.pot @@ -107,11 +107,6 @@ msgid "" "expected receipt date, asking him to confirm the exact date." msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__available_peppol_eas -msgid "Available Peppol Eas" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__avatar_1920 msgid "Avatar" @@ -232,13 +227,6 @@ msgstr "" msgid "City" msgstr "" -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_eas -msgid "" -"Code used to identify the Endpoint for BIS Billing 3.0 and its derivatives.\n" -" List available at https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__color msgid "Color Index" @@ -618,21 +606,11 @@ msgstr "" msgid "Is Follower" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_peppol_edi_format -msgid "Is Peppol Edi Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_public msgid "Is Public" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_ubl_format -msgid "Is Ubl Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_company msgid "Is a Company" @@ -831,16 +809,6 @@ msgstr "" msgid "Payment Tokens" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_endpoint -msgid "Peppol Endpoint" -msgstr "" - -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_eas -msgid "Peppol e-address (EAS)" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__phone msgid "Phone" @@ -1210,13 +1178,6 @@ msgstr "" msgid "Type of the exception activity on record." msgstr "" -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_endpoint -msgid "" -"Unique identifier used by the BIS Billing 3.0 and its derivatives, also " -"known as 'Endpoint ID'." -msgstr "" - #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__barcode msgid "Use a barcode to identify this contact." From cfbc148d0d39218364790e6392495593f7ed260d Mon Sep 17 00:00:00 2001 From: Weblate Date: Thu, 7 Aug 2025 15:30:37 +0000 Subject: [PATCH 134/522] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: brand-18.0/brand-18.0-brand Translate-URL: https://translation.odoo-community.org/projects/brand-18-0/brand-18-0-brand/ --- brand/i18n/de.po | 40 ----------------------- brand/i18n/es.po | 70 ++++++++++++++------------------------- brand/i18n/es_AR.po | 70 ++++++++++++++------------------------- brand/i18n/fr.po | 40 ----------------------- brand/i18n/fr_FR.po | 40 ----------------------- brand/i18n/hr.po | 40 ----------------------- brand/i18n/it.po | 79 +++++++++++++++++++-------------------------- brand/i18n/nl.po | 75 +++++++++++++++++------------------------- brand/i18n/pl.po | 40 ----------------------- brand/i18n/pt.po | 40 ----------------------- 10 files changed, 111 insertions(+), 423 deletions(-) diff --git a/brand/i18n/de.po b/brand/i18n/de.po index 1002a86c6..48334e879 100644 --- a/brand/i18n/de.po +++ b/brand/i18n/de.po @@ -112,11 +112,6 @@ msgid "" "expected receipt date, asking him to confirm the exact date." msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__available_peppol_eas -msgid "Available Peppol Eas" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__avatar_1920 msgid "Avatar" @@ -237,14 +232,6 @@ msgstr "" msgid "City" msgstr "Stadt" -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_eas -msgid "" -"Code used to identify the Endpoint for BIS Billing 3.0 and its derivatives.\n" -" List available at https://docs.peppol.eu/poacc/billing/3.0/" -"codelist/eas/" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__color msgid "Color Index" @@ -625,21 +612,11 @@ msgstr "" msgid "Is Follower" msgstr "Ist ein Abonnent" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_peppol_edi_format -msgid "Is Peppol Edi Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_public msgid "Is Public" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_ubl_format -msgid "Is Ubl Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_company msgid "Is a Company" @@ -838,16 +815,6 @@ msgstr "" msgid "Payment Tokens" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_endpoint -msgid "Peppol Endpoint" -msgstr "" - -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_eas -msgid "Peppol e-address (EAS)" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__phone msgid "Phone" @@ -1217,13 +1184,6 @@ msgstr "" msgid "Type of the exception activity on record." msgstr "" -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_endpoint -msgid "" -"Unique identifier used by the BIS Billing 3.0 and its derivatives, also " -"known as 'Endpoint ID'." -msgstr "" - #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__barcode msgid "Use a barcode to identify this contact." diff --git a/brand/i18n/es.po b/brand/i18n/es.po index c58c32765..91f3f040e 100644 --- a/brand/i18n/es.po +++ b/brand/i18n/es.po @@ -115,11 +115,6 @@ msgstr "" "días antes de la fecha prevista de recepción, pidiéndole que confirme la " "fecha exacta." -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__available_peppol_eas -msgid "Available Peppol Eas" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__avatar_1920 msgid "Avatar" @@ -243,18 +238,6 @@ msgstr "Marque esta casilla si este contacto es un Empleado." msgid "City" msgstr "Ciudad" -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_eas -msgid "" -"Code used to identify the Endpoint for BIS Billing 3.0 and its derivatives.\n" -" List available at https://docs.peppol.eu/poacc/billing/3.0/" -"codelist/eas/" -msgstr "" -"Código utilizado para identificar el Endpoint para BIS Billing 3.0 y sus " -"derivados.\n" -" Lista disponible en https://docs.peppol.eu/poacc/billing/3.0/" -"codelist/eas/" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__color msgid "Color Index" @@ -641,21 +624,11 @@ msgstr "" msgid "Is Follower" msgstr "Es seguidor/a" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_peppol_edi_format -msgid "Is Peppol Edi Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_public msgid "Is Public" msgstr "Es público" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_ubl_format -msgid "Is Ubl Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_company msgid "Is a Company" @@ -859,16 +832,6 @@ msgstr "Recuento de vales de pago" msgid "Payment Tokens" msgstr "Fichas de pago" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_endpoint -msgid "Peppol Endpoint" -msgstr "Punto final de Peppol" - -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_eas -msgid "Peppol e-address (EAS)" -msgstr "Dirección electrónica de Peppol (EAS)" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__phone msgid "Phone" @@ -1274,15 +1237,6 @@ msgstr "Importe total que debe pagar a este vendedor." msgid "Type of the exception activity on record." msgstr "Tipo (o clase) de actividad excepcional registrada." -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_endpoint -msgid "" -"Unique identifier used by the BIS Billing 3.0 and its derivatives, also " -"known as 'Endpoint ID'." -msgstr "" -"Identificador único utilizado por el BIS Billing 3.0 y sus derivados, " -"también conocido como \"Endpoint ID\"." - #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__barcode msgid "Use a barcode to identify this contact." @@ -1373,6 +1327,30 @@ msgstr "Por ej. https://www.odoo.com" msgid "eInvoice format" msgstr "" +#~ msgid "" +#~ "Code used to identify the Endpoint for BIS Billing 3.0 and its " +#~ "derivatives.\n" +#~ " List available at https://docs.peppol.eu/poacc/billing/3.0/" +#~ "codelist/eas/" +#~ msgstr "" +#~ "Código utilizado para identificar el Endpoint para BIS Billing 3.0 y sus " +#~ "derivados.\n" +#~ " Lista disponible en https://docs.peppol.eu/poacc/billing/3.0/" +#~ "codelist/eas/" + +#~ msgid "Peppol Endpoint" +#~ msgstr "Punto final de Peppol" + +#~ msgid "Peppol e-address (EAS)" +#~ msgstr "Dirección electrónica de Peppol (EAS)" + +#~ msgid "" +#~ "Unique identifier used by the BIS Billing 3.0 and its derivatives, also " +#~ "known as 'Endpoint ID'." +#~ msgstr "" +#~ "Identificador único utilizado por el BIS Billing 3.0 y sus derivados, " +#~ "también conocido como \"Endpoint ID\"." + #~ msgid "Partner Contracts" #~ msgstr "Contratos del socio" diff --git a/brand/i18n/es_AR.po b/brand/i18n/es_AR.po index 820fded50..f6e7326b3 100644 --- a/brand/i18n/es_AR.po +++ b/brand/i18n/es_AR.po @@ -115,11 +115,6 @@ msgstr "" "días antes de la fecha prevista de recepción, pidiéndole que confirme la " "fecha exacta." -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__available_peppol_eas -msgid "Available Peppol Eas" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__avatar_1920 msgid "Avatar" @@ -244,18 +239,6 @@ msgstr "" msgid "City" msgstr "Ciudad" -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_eas -msgid "" -"Code used to identify the Endpoint for BIS Billing 3.0 and its derivatives.\n" -" List available at https://docs.peppol.eu/poacc/billing/3.0/" -"codelist/eas/" -msgstr "" -"Código utilizado para identificar el Endpoint para Facturación BIS 3.0 y sus " -"derivados.\n" -" Lista disponible en https://docs.peppol.eu/poacc/billing/3.0/" -"codelist/eas/" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__color msgid "Color Index" @@ -642,21 +625,11 @@ msgstr "" msgid "Is Follower" msgstr "Es Seguidor" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_peppol_edi_format -msgid "Is Peppol Edi Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_public msgid "Is Public" msgstr "Es Público" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_ubl_format -msgid "Is Ubl Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_company msgid "Is a Company" @@ -860,16 +833,6 @@ msgstr "Cuenta de Token de Pago" msgid "Payment Tokens" msgstr "Tokens de Pago" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_endpoint -msgid "Peppol Endpoint" -msgstr "Endpoint de Peppol" - -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_eas -msgid "Peppol e-address (EAS)" -msgstr "Dirección Electrónica Peppol (EAS)" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__phone msgid "Phone" @@ -1274,15 +1237,6 @@ msgstr "Importe total que debe pagar a este proveedor." msgid "Type of the exception activity on record." msgstr "Tipo de actividad de excepción registrada." -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_endpoint -msgid "" -"Unique identifier used by the BIS Billing 3.0 and its derivatives, also " -"known as 'Endpoint ID'." -msgstr "" -"Identificador único utilizado por Facturación BIS 3.0 y sus derivados, " -"también conocido como 'Endpoint ID'." - #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__barcode msgid "Use a barcode to identify this contact." @@ -1373,6 +1327,30 @@ msgstr "ej. https://www.odoo.com" msgid "eInvoice format" msgstr "" +#~ msgid "" +#~ "Code used to identify the Endpoint for BIS Billing 3.0 and its " +#~ "derivatives.\n" +#~ " List available at https://docs.peppol.eu/poacc/billing/3.0/" +#~ "codelist/eas/" +#~ msgstr "" +#~ "Código utilizado para identificar el Endpoint para Facturación BIS 3.0 y " +#~ "sus derivados.\n" +#~ " Lista disponible en https://docs.peppol.eu/poacc/billing/3.0/" +#~ "codelist/eas/" + +#~ msgid "Peppol Endpoint" +#~ msgstr "Endpoint de Peppol" + +#~ msgid "Peppol e-address (EAS)" +#~ msgstr "Dirección Electrónica Peppol (EAS)" + +#~ msgid "" +#~ "Unique identifier used by the BIS Billing 3.0 and its derivatives, also " +#~ "known as 'Endpoint ID'." +#~ msgstr "" +#~ "Identificador único utilizado por Facturación BIS 3.0 y sus derivados, " +#~ "también conocido como 'Endpoint ID'." + #~ msgid "Partner Contracts" #~ msgstr "Contratos de Contactos" diff --git a/brand/i18n/fr.po b/brand/i18n/fr.po index 7c47ff17e..ae44a6dcd 100644 --- a/brand/i18n/fr.po +++ b/brand/i18n/fr.po @@ -112,11 +112,6 @@ msgid "" "expected receipt date, asking him to confirm the exact date." msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__available_peppol_eas -msgid "Available Peppol Eas" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__avatar_1920 msgid "Avatar" @@ -239,14 +234,6 @@ msgstr "Cochez cette case si ce contact est un employé." msgid "City" msgstr "Ville" -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_eas -msgid "" -"Code used to identify the Endpoint for BIS Billing 3.0 and its derivatives.\n" -" List available at https://docs.peppol.eu/poacc/billing/3.0/" -"codelist/eas/" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__color msgid "Color Index" @@ -631,21 +618,11 @@ msgstr "" msgid "Is Follower" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_peppol_edi_format -msgid "Is Peppol Edi Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_public msgid "Is Public" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_ubl_format -msgid "Is Ubl Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_company msgid "Is a Company" @@ -844,16 +821,6 @@ msgstr "" msgid "Payment Tokens" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_endpoint -msgid "Peppol Endpoint" -msgstr "" - -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_eas -msgid "Peppol e-address (EAS)" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__phone msgid "Phone" @@ -1223,13 +1190,6 @@ msgstr "" msgid "Type of the exception activity on record." msgstr "" -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_endpoint -msgid "" -"Unique identifier used by the BIS Billing 3.0 and its derivatives, also " -"known as 'Endpoint ID'." -msgstr "" - #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__barcode msgid "Use a barcode to identify this contact." diff --git a/brand/i18n/fr_FR.po b/brand/i18n/fr_FR.po index cef23cd5b..caacb92d8 100644 --- a/brand/i18n/fr_FR.po +++ b/brand/i18n/fr_FR.po @@ -112,11 +112,6 @@ msgid "" "expected receipt date, asking him to confirm the exact date." msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__available_peppol_eas -msgid "Available Peppol Eas" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__avatar_1920 msgid "Avatar" @@ -238,14 +233,6 @@ msgstr "Cocher si le contact est un employé." msgid "City" msgstr "Ville" -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_eas -msgid "" -"Code used to identify the Endpoint for BIS Billing 3.0 and its derivatives.\n" -" List available at https://docs.peppol.eu/poacc/billing/3.0/" -"codelist/eas/" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__color msgid "Color Index" @@ -632,21 +619,11 @@ msgstr "" msgid "Is Follower" msgstr "Est un suiveur" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_peppol_edi_format -msgid "Is Peppol Edi Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_public msgid "Is Public" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_ubl_format -msgid "Is Ubl Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_company msgid "Is a Company" @@ -845,16 +822,6 @@ msgstr "Nombre de jetons de paiement" msgid "Payment Tokens" msgstr "Jetons de paiement" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_endpoint -msgid "Peppol Endpoint" -msgstr "" - -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_eas -msgid "Peppol e-address (EAS)" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__phone msgid "Phone" @@ -1247,13 +1214,6 @@ msgstr "Total que vous devez payer à ce fournisseur." msgid "Type of the exception activity on record." msgstr "Type de l'activité d'exception enregistrée." -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_endpoint -msgid "" -"Unique identifier used by the BIS Billing 3.0 and its derivatives, also " -"known as 'Endpoint ID'." -msgstr "" - #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__barcode msgid "Use a barcode to identify this contact." diff --git a/brand/i18n/hr.po b/brand/i18n/hr.po index fb17dc249..8a362740c 100644 --- a/brand/i18n/hr.po +++ b/brand/i18n/hr.po @@ -112,11 +112,6 @@ msgid "" "expected receipt date, asking him to confirm the exact date." msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__available_peppol_eas -msgid "Available Peppol Eas" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__avatar_1920 msgid "Avatar" @@ -237,14 +232,6 @@ msgstr "Oznaćite ovdje ako je kontakt Djelatnik." msgid "City" msgstr "Grad" -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_eas -msgid "" -"Code used to identify the Endpoint for BIS Billing 3.0 and its derivatives.\n" -" List available at https://docs.peppol.eu/poacc/billing/3.0/" -"codelist/eas/" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__color msgid "Color Index" @@ -625,21 +612,11 @@ msgstr "" msgid "Is Follower" msgstr "Je pratitelj" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_peppol_edi_format -msgid "Is Peppol Edi Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_public msgid "Is Public" msgstr "Je javno" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_ubl_format -msgid "Is Ubl Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_company msgid "Is a Company" @@ -838,16 +815,6 @@ msgstr "" msgid "Payment Tokens" msgstr "Tokeni plaćanja" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_endpoint -msgid "Peppol Endpoint" -msgstr "" - -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_eas -msgid "Peppol e-address (EAS)" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__phone msgid "Phone" @@ -1217,13 +1184,6 @@ msgstr "" msgid "Type of the exception activity on record." msgstr "" -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_endpoint -msgid "" -"Unique identifier used by the BIS Billing 3.0 and its derivatives, also " -"known as 'Endpoint ID'." -msgstr "" - #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__barcode msgid "Use a barcode to identify this contact." diff --git a/brand/i18n/it.po b/brand/i18n/it.po index 5e45c35b5..ec3aa3709 100644 --- a/brand/i18n/it.po +++ b/brand/i18n/it.po @@ -114,11 +114,6 @@ msgstr "" "Invia automaticamente una email al fornitore X giorni prima della data " "fattura prevista, chiedendo la conferma della data." -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__available_peppol_eas -msgid "Available Peppol Eas" -msgstr "EAS Peppol disponibile" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__avatar_1920 msgid "Avatar" @@ -240,18 +235,6 @@ msgstr "Seleziona questa casella se questo contatto è un dipendente." msgid "City" msgstr "Città" -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_eas -msgid "" -"Code used to identify the Endpoint for BIS Billing 3.0 and its derivatives.\n" -" List available at https://docs.peppol.eu/poacc/billing/3.0/" -"codelist/eas/" -msgstr "" -"Codice utilizzato per identificare l'endpoint per BIS Billing 3.0 e suoi " -"derivati.\n" -" Elenco disponibile a https://docs.peppol.eu/poacc/billing/3.0/" -"codelist/eas/" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__color msgid "Color Index" @@ -637,21 +620,11 @@ msgstr "Coa è installato" msgid "Is Follower" msgstr "Segue" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_peppol_edi_format -msgid "Is Peppol Edi Format" -msgstr "È un formato EDI Peppol" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_public msgid "Is Public" msgstr "È pubblico" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_ubl_format -msgid "Is Ubl Format" -msgstr "È formato UBI" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_company msgid "Is a Company" @@ -854,16 +827,6 @@ msgstr "Conteggio token pagamento" msgid "Payment Tokens" msgstr "Token pagamenti" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_endpoint -msgid "Peppol Endpoint" -msgstr "Endpoint Peppol" - -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_eas -msgid "Peppol e-address (EAS)" -msgstr "E-address (EAS) Peppol" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__phone msgid "Phone" @@ -1273,15 +1236,6 @@ msgstr "Ammontare totale dovuto a questo fornitore." msgid "Type of the exception activity on record." msgstr "Tipo di attività eccezione sul record." -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_endpoint -msgid "" -"Unique identifier used by the BIS Billing 3.0 and its derivatives, also " -"known as 'Endpoint ID'." -msgstr "" -"Identificatore univoco utilizzato da BIS Billing 3.0 e suoi derivati, " -"conosciuto anche come 'ID endpoint'." - #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__barcode msgid "Use a barcode to identify this contact." @@ -1371,6 +1325,39 @@ msgstr "es. https://www.odoo.com" msgid "eInvoice format" msgstr "Formato fattura elettronica" +#~ msgid "Available Peppol Eas" +#~ msgstr "EAS Peppol disponibile" + +#~ msgid "" +#~ "Code used to identify the Endpoint for BIS Billing 3.0 and its " +#~ "derivatives.\n" +#~ " List available at https://docs.peppol.eu/poacc/billing/3.0/" +#~ "codelist/eas/" +#~ msgstr "" +#~ "Codice utilizzato per identificare l'endpoint per BIS Billing 3.0 e suoi " +#~ "derivati.\n" +#~ " Elenco disponibile a https://docs.peppol.eu/poacc/" +#~ "billing/3.0/codelist/eas/" + +#~ msgid "Is Peppol Edi Format" +#~ msgstr "È un formato EDI Peppol" + +#~ msgid "Is Ubl Format" +#~ msgstr "È formato UBI" + +#~ msgid "Peppol Endpoint" +#~ msgstr "Endpoint Peppol" + +#~ msgid "Peppol e-address (EAS)" +#~ msgstr "E-address (EAS) Peppol" + +#~ msgid "" +#~ "Unique identifier used by the BIS Billing 3.0 and its derivatives, also " +#~ "known as 'Endpoint ID'." +#~ msgstr "" +#~ "Identificatore univoco utilizzato da BIS Billing 3.0 e suoi derivati, " +#~ "conosciuto anche come 'ID endpoint'." + #~ msgid "Partner Contracts" #~ msgstr "Contratti fornitori" diff --git a/brand/i18n/nl.po b/brand/i18n/nl.po index d9d5a0ee7..d8daed3b9 100644 --- a/brand/i18n/nl.po +++ b/brand/i18n/nl.po @@ -112,11 +112,6 @@ msgid "" "expected receipt date, asking him to confirm the exact date." msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__available_peppol_eas -msgid "Available Peppol Eas" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__avatar_1920 msgid "Avatar" @@ -238,17 +233,6 @@ msgstr "Vink dit vakje aan als deze contactpersoon een werknemer is." msgid "City" msgstr "Stad" -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_eas -msgid "" -"Code used to identify the Endpoint for BIS Billing 3.0 and its derivatives.\n" -" List available at https://docs.peppol.eu/poacc/billing/3.0/" -"codelist/eas/" -msgstr "" -"Code die wordt gebruikt om het eindpunt voor BIS Billing 3.0 en zijn " -"derivaten te identificeren.\n" -"Lijst beschikbaar op https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__color msgid "Color Index" @@ -634,21 +618,11 @@ msgstr "Is Coa geïnstalleerd" msgid "Is Follower" msgstr "Is volger" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_peppol_edi_format -msgid "Is Peppol Edi Format" -msgstr "Is Peppol Edi Formaat" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_public msgid "Is Public" msgstr "Is openbaar" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_ubl_format -msgid "Is Ubl Format" -msgstr "Is Ubl Formaat" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_company msgid "Is a Company" @@ -847,16 +821,6 @@ msgstr "Aantal betalingstokens" msgid "Payment Tokens" msgstr "Betalingstokens" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_endpoint -msgid "Peppol Endpoint" -msgstr "Peppol eindpunt" - -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_eas -msgid "Peppol e-address (EAS)" -msgstr "Peppol e-adres (EAS)" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__phone msgid "Phone" @@ -1261,15 +1225,6 @@ msgstr "Totaalbedrag dat u aan deze leverancier moet betalen." msgid "Type of the exception activity on record." msgstr "Type uitzonderingsactiviteit op record." -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_endpoint -msgid "" -"Unique identifier used by the BIS Billing 3.0 and its derivatives, also " -"known as 'Endpoint ID'." -msgstr "" -"Unieke identificatie die wordt gebruikt door BIS Billing 3.0 en zijn " -"afgeleiden, ook wel 'Endpoint ID' genoemd." - #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__barcode msgid "Use a barcode to identify this contact." @@ -1359,6 +1314,36 @@ msgstr "bijv. https://www.odoo.com" msgid "eInvoice format" msgstr "eFactuur formaat" +#~ msgid "" +#~ "Code used to identify the Endpoint for BIS Billing 3.0 and its " +#~ "derivatives.\n" +#~ " List available at https://docs.peppol.eu/poacc/billing/3.0/" +#~ "codelist/eas/" +#~ msgstr "" +#~ "Code die wordt gebruikt om het eindpunt voor BIS Billing 3.0 en zijn " +#~ "derivaten te identificeren.\n" +#~ "Lijst beschikbaar op https://docs.peppol.eu/poacc/billing/3.0/codelist/" +#~ "eas/" + +#~ msgid "Is Peppol Edi Format" +#~ msgstr "Is Peppol Edi Formaat" + +#~ msgid "Is Ubl Format" +#~ msgstr "Is Ubl Formaat" + +#~ msgid "Peppol Endpoint" +#~ msgstr "Peppol eindpunt" + +#~ msgid "Peppol e-address (EAS)" +#~ msgstr "Peppol e-adres (EAS)" + +#~ msgid "" +#~ "Unique identifier used by the BIS Billing 3.0 and its derivatives, also " +#~ "known as 'Endpoint ID'." +#~ msgstr "" +#~ "Unieke identificatie die wordt gebruikt door BIS Billing 3.0 en zijn " +#~ "afgeleiden, ook wel 'Endpoint ID' genoemd." + #~ msgid "Partner Contracts" #~ msgstr "Partnercontracten" diff --git a/brand/i18n/pl.po b/brand/i18n/pl.po index f11767db6..8d7cad62d 100644 --- a/brand/i18n/pl.po +++ b/brand/i18n/pl.po @@ -113,11 +113,6 @@ msgid "" "expected receipt date, asking him to confirm the exact date." msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__available_peppol_eas -msgid "Available Peppol Eas" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__avatar_1920 msgid "Avatar" @@ -238,14 +233,6 @@ msgstr "" msgid "City" msgstr "" -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_eas -msgid "" -"Code used to identify the Endpoint for BIS Billing 3.0 and its derivatives.\n" -" List available at https://docs.peppol.eu/poacc/billing/3.0/" -"codelist/eas/" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__color msgid "Color Index" @@ -624,21 +611,11 @@ msgstr "" msgid "Is Follower" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_peppol_edi_format -msgid "Is Peppol Edi Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_public msgid "Is Public" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_ubl_format -msgid "Is Ubl Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_company msgid "Is a Company" @@ -837,16 +814,6 @@ msgstr "" msgid "Payment Tokens" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_endpoint -msgid "Peppol Endpoint" -msgstr "" - -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_eas -msgid "Peppol e-address (EAS)" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__phone msgid "Phone" @@ -1216,13 +1183,6 @@ msgstr "" msgid "Type of the exception activity on record." msgstr "" -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_endpoint -msgid "" -"Unique identifier used by the BIS Billing 3.0 and its derivatives, also " -"known as 'Endpoint ID'." -msgstr "" - #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__barcode msgid "Use a barcode to identify this contact." diff --git a/brand/i18n/pt.po b/brand/i18n/pt.po index 4fa0377b5..c95da6acc 100644 --- a/brand/i18n/pt.po +++ b/brand/i18n/pt.po @@ -108,11 +108,6 @@ msgid "" "expected receipt date, asking him to confirm the exact date." msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__available_peppol_eas -msgid "Available Peppol Eas" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__avatar_1920 msgid "Avatar" @@ -233,14 +228,6 @@ msgstr "" msgid "City" msgstr "" -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_eas -msgid "" -"Code used to identify the Endpoint for BIS Billing 3.0 and its derivatives.\n" -" List available at https://docs.peppol.eu/poacc/billing/3.0/" -"codelist/eas/" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__color msgid "Color Index" @@ -619,21 +606,11 @@ msgstr "" msgid "Is Follower" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_peppol_edi_format -msgid "Is Peppol Edi Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_public msgid "Is Public" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__is_ubl_format -msgid "Is Ubl Format" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_company msgid "Is a Company" @@ -832,16 +809,6 @@ msgstr "" msgid "Payment Tokens" msgstr "" -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_endpoint -msgid "Peppol Endpoint" -msgstr "" - -#. module: brand -#: model:ir.model.fields,field_description:brand.field_res_brand__peppol_eas -msgid "Peppol e-address (EAS)" -msgstr "" - #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__phone msgid "Phone" @@ -1211,13 +1178,6 @@ msgstr "" msgid "Type of the exception activity on record." msgstr "" -#. module: brand -#: model:ir.model.fields,help:brand.field_res_brand__peppol_endpoint -msgid "" -"Unique identifier used by the BIS Billing 3.0 and its derivatives, also " -"known as 'Endpoint ID'." -msgstr "" - #. module: brand #: model:ir.model.fields,help:brand.field_res_brand__barcode msgid "Use a barcode to identify this contact." From 18f8a8570a06918bdeb4af5c4bc89ccba4b5dc18 Mon Sep 17 00:00:00 2001 From: Benoit Aimont Date: Thu, 28 Aug 2025 10:57:04 +0200 Subject: [PATCH 135/522] [IMP] account_brand - brand required is for Customer Invoices and Customer Credit Notes --- brand/models/res_brand_mixin.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/brand/models/res_brand_mixin.py b/brand/models/res_brand_mixin.py index f908e765e..55ea2a696 100644 --- a/brand/models/res_brand_mixin.py +++ b/brand/models/res_brand_mixin.py @@ -24,6 +24,14 @@ class ResBrandMixin(models.AbstractModel): company_id = fields.Many2one( comodel_name="res.company", ) + is_brand_required = fields.Boolean( + compute="_compute_is_brand_required", + ) + + @api.depends("company_id") + def _compute_is_brand_required(self): + for record in self: + record.is_brand_required = record._is_brand_required() def _is_brand_required(self): self.ensure_one() @@ -32,7 +40,7 @@ def _is_brand_required(self): @api.constrains("brand_id", "company_id") def _check_brand_requirement(self): for rec in self: - if rec._is_brand_required() and not rec.brand_id: + if rec.is_brand_required and not rec.brand_id: raise ValidationError(_("Brand is required")) @api.constrains("brand_id", "company_id") @@ -77,9 +85,9 @@ def _get_view(self, view_id=None, view_type="form", **options): "invisible", f"brand_use_level == '{BRAND_USE_LEVEL_NO_USE_LEVEL}'", ) - brand_node.set( - "required", - f"brand_use_level == '{BRAND_USE_LEVEL_REQUIRED_LEVEL}'", - ) - + if not brand_node.get("required"): + brand_node.set( + "required", + f"brand_use_level == '{BRAND_USE_LEVEL_REQUIRED_LEVEL}'", + ) return arch, view From 727ca388d6eba1af57d69e6503b4da9bb9c3406f Mon Sep 17 00:00:00 2001 From: oca-ci Date: Mon, 15 Sep 2025 08:58:07 +0000 Subject: [PATCH 136/522] [UPD] Update brand.pot --- brand/i18n/brand.pot | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/brand/i18n/brand.pot b/brand/i18n/brand.pot index ddfad39bd..fecb31a37 100644 --- a/brand/i18n/brand.pot +++ b/brand/i18n/brand.pot @@ -596,6 +596,11 @@ msgstr "" msgid "Invoices" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand_mixin__is_brand_required +msgid "Is Brand Required" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_coa_installed msgid "Is Coa Installed" From fef3a4e6ade07c84fdcd47fb50dc3af286c61c76 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 15 Sep 2025 09:01:34 +0000 Subject: [PATCH 137/522] [BOT] post-merge updates --- brand/README.rst | 2 +- brand/__manifest__.py | 2 +- brand/static/description/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/brand/README.rst b/brand/README.rst index 664f47991..041d14e3a 100644 --- a/brand/README.rst +++ b/brand/README.rst @@ -11,7 +11,7 @@ Brand !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:aefb98870624360b290ccadfcf327b818e01d73f6ab5250b33ac82aa46618083 + !! source digest: sha256:3ac68c950a3b754b4b64ea14420b5205704fe25174805ea38651aa6bc06329a9 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/brand/__manifest__.py b/brand/__manifest__.py index 54c9bee52..128cce24b 100644 --- a/brand/__manifest__.py +++ b/brand/__manifest__.py @@ -7,7 +7,7 @@ This is a base addon for brand modules. It adds the brand object and its menu and define an abstract model to be inherited from branded objects""", - "version": "18.0.1.0.1", + "version": "18.0.1.0.2", "license": "LGPL-3", "author": "Odoo Community Association (OCA), ACSONE SA/NV", "website": "https://github.com/OCA/brand", diff --git a/brand/static/description/index.html b/brand/static/description/index.html index d642b4b49..1e0af6751 100644 --- a/brand/static/description/index.html +++ b/brand/static/description/index.html @@ -372,7 +372,7 @@

Brand

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:aefb98870624360b290ccadfcf327b818e01d73f6ab5250b33ac82aa46618083 +!! source digest: sha256:3ac68c950a3b754b4b64ea14420b5205704fe25174805ea38651aa6bc06329a9 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: LGPL-3 OCA/brand Translate me on Weblate Try me on Runboat

This is a base addon for brand modules. It adds the brand object and its From 84ec96ae046660bd3139a0241b6131dac83a6b09 Mon Sep 17 00:00:00 2001 From: Weblate Date: Mon, 15 Sep 2025 09:01:47 +0000 Subject: [PATCH 138/522] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: brand-18.0/brand-18.0-brand Translate-URL: https://translation.odoo-community.org/projects/brand-18-0/brand-18-0-brand/ --- brand/i18n/de.po | 5 +++++ brand/i18n/es.po | 5 +++++ brand/i18n/es_AR.po | 5 +++++ brand/i18n/fr.po | 5 +++++ brand/i18n/fr_FR.po | 5 +++++ brand/i18n/hr.po | 5 +++++ brand/i18n/it.po | 5 +++++ brand/i18n/nl.po | 5 +++++ brand/i18n/pl.po | 5 +++++ brand/i18n/pt.po | 5 +++++ 10 files changed, 50 insertions(+) diff --git a/brand/i18n/de.po b/brand/i18n/de.po index 48334e879..c725d0d3a 100644 --- a/brand/i18n/de.po +++ b/brand/i18n/de.po @@ -602,6 +602,11 @@ msgstr "" msgid "Invoices" msgstr "Rechnungen" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand_mixin__is_brand_required +msgid "Is Brand Required" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_coa_installed msgid "Is Coa Installed" diff --git a/brand/i18n/es.po b/brand/i18n/es.po index 91f3f040e..0f5080909 100644 --- a/brand/i18n/es.po +++ b/brand/i18n/es.po @@ -614,6 +614,11 @@ msgstr "" msgid "Invoices" msgstr "Facturas" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand_mixin__is_brand_required +msgid "Is Brand Required" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_coa_installed msgid "Is Coa Installed" diff --git a/brand/i18n/es_AR.po b/brand/i18n/es_AR.po index f6e7326b3..31552a15e 100644 --- a/brand/i18n/es_AR.po +++ b/brand/i18n/es_AR.po @@ -615,6 +615,11 @@ msgstr "" msgid "Invoices" msgstr "Facturas" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand_mixin__is_brand_required +msgid "Is Brand Required" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_coa_installed msgid "Is Coa Installed" diff --git a/brand/i18n/fr.po b/brand/i18n/fr.po index ae44a6dcd..bbfa52490 100644 --- a/brand/i18n/fr.po +++ b/brand/i18n/fr.po @@ -608,6 +608,11 @@ msgstr "" msgid "Invoices" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand_mixin__is_brand_required +msgid "Is Brand Required" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_coa_installed msgid "Is Coa Installed" diff --git a/brand/i18n/fr_FR.po b/brand/i18n/fr_FR.po index caacb92d8..7d22b21d2 100644 --- a/brand/i18n/fr_FR.po +++ b/brand/i18n/fr_FR.po @@ -609,6 +609,11 @@ msgstr "" msgid "Invoices" msgstr "Factures" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand_mixin__is_brand_required +msgid "Is Brand Required" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_coa_installed msgid "Is Coa Installed" diff --git a/brand/i18n/hr.po b/brand/i18n/hr.po index 8a362740c..bfba4589f 100644 --- a/brand/i18n/hr.po +++ b/brand/i18n/hr.po @@ -602,6 +602,11 @@ msgstr "" msgid "Invoices" msgstr "Računi" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand_mixin__is_brand_required +msgid "Is Brand Required" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_coa_installed msgid "Is Coa Installed" diff --git a/brand/i18n/it.po b/brand/i18n/it.po index ec3aa3709..3501477ce 100644 --- a/brand/i18n/it.po +++ b/brand/i18n/it.po @@ -610,6 +610,11 @@ msgstr "Modello fattura" msgid "Invoices" msgstr "Fatture" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand_mixin__is_brand_required +msgid "Is Brand Required" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_coa_installed msgid "Is Coa Installed" diff --git a/brand/i18n/nl.po b/brand/i18n/nl.po index d8daed3b9..09f814a53 100644 --- a/brand/i18n/nl.po +++ b/brand/i18n/nl.po @@ -608,6 +608,11 @@ msgstr "Factuursjabloon" msgid "Invoices" msgstr "Facturen" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand_mixin__is_brand_required +msgid "Is Brand Required" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_coa_installed msgid "Is Coa Installed" diff --git a/brand/i18n/pl.po b/brand/i18n/pl.po index 8d7cad62d..2d0666f23 100644 --- a/brand/i18n/pl.po +++ b/brand/i18n/pl.po @@ -601,6 +601,11 @@ msgstr "" msgid "Invoices" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand_mixin__is_brand_required +msgid "Is Brand Required" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_coa_installed msgid "Is Coa Installed" diff --git a/brand/i18n/pt.po b/brand/i18n/pt.po index c95da6acc..69db9d3e2 100644 --- a/brand/i18n/pt.po +++ b/brand/i18n/pt.po @@ -596,6 +596,11 @@ msgstr "" msgid "Invoices" msgstr "" +#. module: brand +#: model:ir.model.fields,field_description:brand.field_res_brand_mixin__is_brand_required +msgid "Is Brand Required" +msgstr "" + #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_coa_installed msgid "Is Coa Installed" From f5e186ab6bffd0fe39f5dd4651eeb254fc120268 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 16 Sep 2025 08:44:22 +0000 Subject: [PATCH 139/522] Translated using Weblate (Italian) Currently translated at 100.0% (236 of 236 strings) Translation: brand-18.0/brand-18.0-brand Translate-URL: https://translation.odoo-community.org/projects/brand-18-0/brand-18-0-brand/it/ --- brand/i18n/it.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/brand/i18n/it.po b/brand/i18n/it.po index 3501477ce..d43ce3b97 100644 --- a/brand/i18n/it.po +++ b/brand/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2025-07-30 09:46+0000\n" +"PO-Revision-Date: 2025-09-16 11:42+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -613,7 +613,7 @@ msgstr "Fatture" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand_mixin__is_brand_required msgid "Is Brand Required" -msgstr "" +msgstr "La marca è richiesta" #. module: brand #: model:ir.model.fields,field_description:brand.field_res_brand__is_coa_installed From 3359f976dde159db0459e0a4cdd6976019512c52 Mon Sep 17 00:00:00 2001 From: Ruchir Shukla Date: Wed, 1 Oct 2025 19:39:32 +0530 Subject: [PATCH 140/522] [MIG] brand: Migration to 19.0 --- brand/README.rst | 10 +++++----- brand/__manifest__.py | 2 +- brand/models/res_brand.py | 4 +++- brand/models/res_brand_mixin.py | 19 ++++++------------- brand/static/description/index.html | 6 +++--- brand/views/res_brand.xml | 5 ----- 6 files changed, 18 insertions(+), 28 deletions(-) diff --git a/brand/README.rst b/brand/README.rst index 041d14e3a..bb9d934ae 100644 --- a/brand/README.rst +++ b/brand/README.rst @@ -21,13 +21,13 @@ Brand :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html :alt: License: LGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fbrand-lightgray.png?logo=github - :target: https://github.com/OCA/brand/tree/18.0/brand + :target: https://github.com/OCA/brand/tree/19.0/brand :alt: OCA/brand .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/brand-18-0/brand-18-0-brand + :target: https://translation.odoo-community.org/projects/brand-19-0/brand-19-0-brand :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/brand&target_branch=18.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/brand&target_branch=19.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -78,7 +78,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 to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -126,6 +126,6 @@ Current `maintainer `__: |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/brand/__manifest__.py b/brand/__manifest__.py index 128cce24b..83dc3d95d 100644 --- a/brand/__manifest__.py +++ b/brand/__manifest__.py @@ -7,7 +7,7 @@ This is a base addon for brand modules. It adds the brand object and its menu and define an abstract model to be inherited from branded objects""", - "version": "18.0.1.0.2", + "version": "19.0.1.0.0", "license": "LGPL-3", "author": "Odoo Community Association (OCA), ACSONE SA/NV", "website": "https://github.com/OCA/brand", diff --git a/brand/models/res_brand.py b/brand/models/res_brand.py index 182d1ce9f..0404395d7 100644 --- a/brand/models/res_brand.py +++ b/brand/models/res_brand.py @@ -8,12 +8,14 @@ class ResBrand(models.Model): _name = "res.brand" _description = "Brand" + _inherits = {"res.partner": "partner_id"} + partner_id = fields.Many2one( comodel_name="res.partner", string="Partner", required=True, index=True, - auto_join=True, delegate=True, + bypass_search_access=True, ondelete="restrict", ) diff --git a/brand/models/res_brand_mixin.py b/brand/models/res_brand_mixin.py index 55ea2a696..509356901 100644 --- a/brand/models/res_brand_mixin.py +++ b/brand/models/res_brand_mixin.py @@ -1,8 +1,7 @@ # Copyright 2019 ACSONE SA/NV # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0). -from lxml.builder import E -from odoo import _, api, fields, models +from odoo import api, fields, models from odoo.exceptions import ValidationError from .res_company import BRAND_USE_LEVEL_NO_USE_LEVEL, BRAND_USE_LEVEL_REQUIRED_LEVEL @@ -41,15 +40,17 @@ def _is_brand_required(self): def _check_brand_requirement(self): for rec in self: if rec.is_brand_required and not rec.brand_id: - raise ValidationError(_("Brand is required")) + raise ValidationError(self.env._("Brand is required")) @api.constrains("brand_id", "company_id") def _check_brand_company_id(self): for rec in self: if rec.brand_id.company_id and rec.brand_id.company_id != rec.company_id: raise ValidationError( - _("Brand company must match document company for %s") - % rec.display_name + self.env._( + "Brand company must match document company for %(doc_name)s", + doc_name=rec.display_name, + ) ) @api.onchange("brand_id") @@ -73,14 +74,6 @@ def _get_view(self, view_id=None, view_type="form", **options): ) if brand_node is not None: - brand_node.addprevious( - E.field( - name="brand_use_level", - invisible="True", - column_invisible="True", - ) - ) - brand_node.set( "invisible", f"brand_use_level == '{BRAND_USE_LEVEL_NO_USE_LEVEL}'", diff --git a/brand/static/description/index.html b/brand/static/description/index.html index 1e0af6751..9b617a1fc 100644 --- a/brand/static/description/index.html +++ b/brand/static/description/index.html @@ -374,7 +374,7 @@

Brand

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:3ac68c950a3b754b4b64ea14420b5205704fe25174805ea38651aa6bc06329a9 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: LGPL-3 OCA/brand Translate me on Weblate Try me on Runboat

+

Beta License: LGPL-3 OCA/brand Translate me on Weblate Try me on Runboat

This is a base addon for brand modules. It adds the brand object and its menu and define an abstract model to be inherited from branded objects.

Table of contents

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

+feedback.

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

@@ -466,7 +466,7 @@

Maintainers

promote its widespread use.

Current 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/brand/views/res_brand.xml b/brand/views/res_brand.xml index c97aa32eb..f027be97d 100644 --- a/brand/views/res_brand.xml +++ b/brand/views/res_brand.xml @@ -16,7 +16,6 @@ bg_color="bg-danger" invisible="active == True" /> -
-