From 013056f4b66ccc6100144ae342219fc204c5d809 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Wed, 7 Dec 2016 01:11:05 +0100 Subject: [PATCH 01/24] sale_variant_configurator: Migration to 9.0 This comes from module sale_product_variants from odoomrp/odoomrp-wip. --- sale_variant_configurator/README.rst | 36 +++++ sale_variant_configurator/__init__.py | 5 + sale_variant_configurator/__openerp__.py | 26 ++++ sale_variant_configurator/hooks.py | 12 ++ sale_variant_configurator/models/__init__.py | 4 + .../models/sale_order.py | 123 ++++++++++++++++++ sale_variant_configurator/views/sale_view.xml | 66 ++++++++++ 7 files changed, 272 insertions(+) create mode 100644 sale_variant_configurator/README.rst create mode 100644 sale_variant_configurator/__init__.py create mode 100644 sale_variant_configurator/__openerp__.py create mode 100644 sale_variant_configurator/hooks.py create mode 100644 sale_variant_configurator/models/__init__.py create mode 100644 sale_variant_configurator/models/sale_order.py create mode 100644 sale_variant_configurator/views/sale_view.xml diff --git a/sale_variant_configurator/README.rst b/sale_variant_configurator/README.rst new file mode 100644 index 000000000..7403fafa5 --- /dev/null +++ b/sale_variant_configurator/README.rst @@ -0,0 +1,36 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +======================= +Sale - Product variants +======================= + +This module allows you to create the product variant when a sale order is +confirmed. It adds to the sale line a product configurator, so that selecting +a product and its attributes can serve for creating/selecting the product +variant. + +Usage +===== + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/137/9.0 + +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. + +Credits +======= + +Contributors +------------ +* Oihane Crucelaegui +* Pedro M. Baeza +* Ana Juaristi diff --git a/sale_variant_configurator/__init__.py b/sale_variant_configurator/__init__.py new file mode 100644 index 000000000..b14bb0d4f --- /dev/null +++ b/sale_variant_configurator/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from . import models +from .hooks import assign_product_template diff --git a/sale_variant_configurator/__openerp__.py b/sale_variant_configurator/__openerp__.py new file mode 100644 index 000000000..920dfc287 --- /dev/null +++ b/sale_variant_configurator/__openerp__.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +# © 2014-2016 Oihane Crucelaegui - AvanzOSC +# © 2015-2016 Pedro M. Baeza +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +{ + "name": "Sale - Product variants", + "summary": "Product variants in sale management", + "version": "9.0.1.0.0", + "license": "AGPL-3", + "depends": [ + "sale", + "product_variant_configurator", + ], + "author": "OdooMRP team," + "AvanzOSC," + "Tecnativa," + "Odoo Community Association (OCA)", + "category": "Sales Management", + "website": "http://www.odoomrp.com", + "data": [ + "views/sale_view.xml", + ], + "installable": True, + "post_init_hook": "assign_product_template", +} diff --git a/sale_variant_configurator/hooks.py b/sale_variant_configurator/hooks.py new file mode 100644 index 000000000..1a5677a2e --- /dev/null +++ b/sale_variant_configurator/hooks.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- +# © 2014-2016 Oihane Crucelaegui - AvanzOSC +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + + +def assign_product_template(cr, registry): + """This post-init-hook will update all existing sale.order.line""" + cr.execute(""" + UPDATE sale_order_line AS line + SET product_tmpl_id = product_product.product_tmpl_id + FROM product_product + WHERE line.product_id = product_product.id;""") diff --git a/sale_variant_configurator/models/__init__.py b/sale_variant_configurator/models/__init__.py new file mode 100644 index 000000000..35c6d2ff3 --- /dev/null +++ b/sale_variant_configurator/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from . import sale_order diff --git a/sale_variant_configurator/models/sale_order.py b/sale_variant_configurator/models/sale_order.py new file mode 100644 index 000000000..b52c4783e --- /dev/null +++ b/sale_variant_configurator/models/sale_order.py @@ -0,0 +1,123 @@ +# -*- coding: utf-8 -*- +# © 2014-2016 Oihane Crucelaegui - AvanzOSC +# © 2015-2016 Pedro M. Baeza +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from openerp import api, fields, models +from lxml import etree + + +class SaleOrder(models.Model): + _inherit = "sale.order" + + @api.model + def fields_view_get(self, view_id=None, view_type='form', toolbar=False, + submenu=False): + """Avoid to have 2 times the field product_tmpl_id, as modules like + sale_stock adds this field as invisible, so we can't trust the order + of them. We also override the modifiers to avoid a readonly field. + """ + res = super(SaleOrder, self).fields_view_get( + view_id=view_id, view_type=view_type, toolbar=toolbar, + submenu=submenu) + if view_type != 'form': + return res # pragma: no cover + if 'order_line' not in res['fields']: + return res # pragma: no cover + line_field = res['fields']['order_line'] + if 'form' not in line_field['views']: + return res # pragma: no cover + view = line_field['views']['form'] + eview = etree.fromstring(view['arch']) + fields = eview.xpath("//field[@name='product_tmpl_id']") + field_added = False + for field in fields: + if field.get('invisible') or field_added: + field.getparent().remove(field) + else: + # Remove modifiers that makes the field readonly + field.set('modifiers', "") + field_added = True + view['arch'] = etree.tostring(eview) + return res + + @api.multi + def action_confirm(self): + product_obj = self.env['product.product'] + lines = self.mapped('order_line').filtered(lambda x: not x.product_id) + for line in lines: + product = product_obj._product_find( + line.product_tmpl_id, line.product_attribute_ids, + ) + if not product: + values = line.product_attribute_ids.mapped('value_id') + product = product_obj.create({ + 'product_tmpl_id': line.product_tmpl_id.id, + 'attribute_value_ids': [(6, 0, values.ids)], + }) + line.write({'product_id': product.id}) + super(SaleOrder, self).action_confirm() + + +class SaleOrderLine(models.Model): + _inherit = ["sale.order.line", "product.configurator"] + _name = "sale.order.line" + + product_id = fields.Many2one(required=False) + + @api.onchange('product_tmpl_id') + def _onchange_product_tmpl_id_configurator(self): + obj = super(SaleOrderLine, self) + res = obj._onchange_product_tmpl_id_configurator() + if self.product_tmpl_id.attribute_line_ids: + domain = res.setdefault('domain', {}) + domain['product_uom'] = [ + ('category_id', '=', + self.product_tmpl_id.uom_id.category_id.id), + ] + self.product_uom = self.product_tmpl_id.uom_id + self.price_unit = self.order_id.pricelist_id.with_context( + {'uom': self.product_uom.id, + 'date': self.order_id.date_order}).template_price_get( + self.product_tmpl_id.id, self.product_uom_qty or 1.0, + self.order_id.partner_id.id)[self.order_id.pricelist_id.id] + # Update taxes + fpos = (self.order_id.fiscal_position_id or + self.order_id.partner_id.property_account_position_id) + # If company_id is set, always filter taxes by the company + taxes = self.product_tmpl_id.taxes_id.filtered( + lambda r: not self.company_id or r.company_id == self.company_id + ) + self.tax_id = fpos.map_tax(taxes) if fpos else taxes + product_tmpl = self.product_tmpl_id.with_context( + lang=self.order_id.partner_id.lang, + partner=self.order_id.partner_id.id, + quantity=self.product_uom_qty, + date=self.order_id.date_order, + pricelist=self.order_id.pricelist_id.id, + uom=self.product_uom.id, + ) + # TODO: Check why this is reset + if product_tmpl.description_sale: + self.name = ( + (self.name or '') + '\n' + product_tmpl.description_sale + ) + if self.order_id.pricelist_id and self.order_id.partner_id: + self.price_unit = self.env['account.tax']._fix_tax_included_price( + product_tmpl.price, product_tmpl.taxes_id, self.tax_id, + ) + return res + + @api.onchange('product_uom', 'product_uom_qty') + def product_uom_change(self): + # TODO: Handle this when there's no product_id filled + super(SaleOrderLine, self).product_uom_change() + + def _auto_init(self, cr, context=None): + # Avoid the removal of the DB column due to sale_stock defining + # this field as a related non stored one + if self._fields.get('product_tmpl_id'): + self._fields['product_tmpl_id'].store = True + self._fields['product_tmpl_id'].readonly = False + self._fields['product_tmpl_id'].related = False + super(SaleOrderLine, self)._auto_init(cr, context=context) diff --git a/sale_variant_configurator/views/sale_view.xml b/sale_variant_configurator/views/sale_view.xml new file mode 100644 index 000000000..d74ac8507 --- /dev/null +++ b/sale_variant_configurator/views/sale_view.xml @@ -0,0 +1,66 @@ + + + + + sale.order + + + + + + + + + + + {'reload_on_button': true} + + + + + + + + + + + + + + + + + + + + + sale.order.line + + + + + + + + + + + sale.order.line + + + + + + + + + + + + From a30d0fcdab1b21594e2cf20cc05d74941ed3924a Mon Sep 17 00:00:00 2001 From: David Vidal Date: Thu, 6 Jul 2017 18:44:31 +0200 Subject: [PATCH 02/24] [MIG] sale_variant_configurator: Migration to 10.0 --- sale_variant_configurator/README.rst | 26 +- .../{__openerp__.py => __manifest__.py} | 7 +- .../models/sale_order.py | 53 +++- sale_variant_configurator/tests/__init__.py | 3 + .../tests/test_sale_order.py | 226 ++++++++++++++++++ 5 files changed, 295 insertions(+), 20 deletions(-) rename sale_variant_configurator/{__openerp__.py => __manifest__.py} (75%) create mode 100644 sale_variant_configurator/tests/__init__.py create mode 100644 sale_variant_configurator/tests/test_sale_order.py diff --git a/sale_variant_configurator/README.rst b/sale_variant_configurator/README.rst index 7403fafa5..c6dbd5e88 100644 --- a/sale_variant_configurator/README.rst +++ b/sale_variant_configurator/README.rst @@ -16,15 +16,15 @@ Usage .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/137/9.0 + :target: https://runbot.odoo-community.org/runbot/137/10.0 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. +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 smash it by providing detailed and welcomed feedback. Credits ======= @@ -34,3 +34,19 @@ Contributors * Oihane Crucelaegui * Pedro M. Baeza * Ana Juaristi +* David Vidal + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +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. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/sale_variant_configurator/__openerp__.py b/sale_variant_configurator/__manifest__.py similarity index 75% rename from sale_variant_configurator/__openerp__.py rename to sale_variant_configurator/__manifest__.py index 920dfc287..7629b17c6 100644 --- a/sale_variant_configurator/__openerp__.py +++ b/sale_variant_configurator/__manifest__.py @@ -1,12 +1,13 @@ # -*- coding: utf-8 -*- -# © 2014-2016 Oihane Crucelaegui - AvanzOSC -# © 2015-2016 Pedro M. Baeza +# Copyright 2014-2016 Oihane Crucelaegui - AvanzOSC +# Copyright 2015-2016 Pedro M. Baeza +# Copyright 2017 David Vidal # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html { "name": "Sale - Product variants", "summary": "Product variants in sale management", - "version": "9.0.1.0.0", + "version": "10.0.1.0.0", "license": "AGPL-3", "depends": [ "sale", diff --git a/sale_variant_configurator/models/sale_order.py b/sale_variant_configurator/models/sale_order.py index b52c4783e..ab1f8f877 100644 --- a/sale_variant_configurator/models/sale_order.py +++ b/sale_variant_configurator/models/sale_order.py @@ -3,7 +3,7 @@ # © 2015-2016 Pedro M. Baeza # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html -from openerp import api, fields, models +from odoo import api, fields, models from lxml import etree @@ -63,6 +63,8 @@ class SaleOrderLine(models.Model): _inherit = ["sale.order.line", "product.configurator"] _name = "sale.order.line" + product_tmpl_id = fields.Many2one(store=True, readonly=False, + related=False) product_id = fields.Many2one(required=False) @api.onchange('product_tmpl_id') @@ -108,16 +110,43 @@ def _onchange_product_tmpl_id_configurator(self): ) return res + def _update_price_configurator(self): + """If there are enough data (template, pricelist & partner), check new + price and update line if different. + """ + self.ensure_one() + if (not self.product_tmpl_id or not self.order_id.pricelist_id or + not self.order_id.partner_id): + return + product_tmpl = self.product_tmpl_id.with_context( + lang=self.order_id.partner_id.lang, + partner=self.order_id.partner_id.id, + quantity=self.product_uom_qty, + date_order=self.order_id.date_order, + pricelist=self.order_id.pricelist_id.id, + uom=self.product_uom.id, + fiscal_position=self.env.context.get('fiscal_position') + ) + price = self.env['account.tax']._fix_tax_included_price( + self.price_extra + self._get_display_price(product_tmpl), + product_tmpl.taxes_id, + self.tax_id) + if self.price_unit != price: + self.price_unit = price + + @api.onchange('product_attribute_ids') + def _onchange_product_attribute_ids_configurator(self): + """Update price for having into account possible extra prices""" + res = super( + SaleOrderLine, self, + )._onchange_product_attribute_ids_configurator() + self._update_price_configurator() + return res + @api.onchange('product_uom', 'product_uom_qty') def product_uom_change(self): - # TODO: Handle this when there's no product_id filled - super(SaleOrderLine, self).product_uom_change() - - def _auto_init(self, cr, context=None): - # Avoid the removal of the DB column due to sale_stock defining - # this field as a related non stored one - if self._fields.get('product_tmpl_id'): - self._fields['product_tmpl_id'].store = True - self._fields['product_tmpl_id'].readonly = False - self._fields['product_tmpl_id'].related = False - super(SaleOrderLine, self)._auto_init(cr, context=context) + """Update price for having into account changes due to qty""" + res = super(SaleOrderLine, self).product_uom_change() + if not self.product_id: + self._update_price_configurator() + return res diff --git a/sale_variant_configurator/tests/__init__.py b/sale_variant_configurator/tests/__init__.py new file mode 100644 index 000000000..79f690d7b --- /dev/null +++ b/sale_variant_configurator/tests/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import test_sale_order diff --git a/sale_variant_configurator/tests/test_sale_order.py b/sale_variant_configurator/tests/test_sale_order.py new file mode 100644 index 000000000..a0fdb2f65 --- /dev/null +++ b/sale_variant_configurator/tests/test_sale_order.py @@ -0,0 +1,226 @@ +# -*- coding: utf-8 -*- +# Copyright 2017 David Vidal +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from odoo.tests import common + + +class TestSaleOrder(common.SavepointCase): + + @classmethod + def setUpClass(cls): + super(TestSaleOrder, cls).setUpClass() + # Environments + cls.product_attribute = cls.env['product.attribute'] + cls.product_attribute_value = cls.env['product.attribute.value'] + cls.product_template = cls.env['product.template'].with_context( + check_variant_creation=True) + cls.sale_order = cls.env['sale.order'] + cls.product_product = cls.env['product.product'] + cls.sale_order_line = cls.env['sale.order.line'] + cls.res_partner = cls.env['res.partner'] + cls.product_category = cls.env['product.category'] + # Instances + cls.category1 = cls.product_category.create({ + 'name': 'No create variants category', + }) + cls.attribute1 = cls.product_attribute.create({ + 'name': 'Color', + }) + cls.value1 = cls.product_attribute_value.create({ + 'name': 'Red', + 'attribute_id': cls.attribute1.id, + }) + cls.value2 = cls.product_attribute_value.create({ + 'name': 'Green', + 'attribute_id': cls.attribute1.id, + }) + cls.product_template_yes = cls.product_template.create({ + 'name': 'Product template 1', + 'list_price': 100, + 'no_create_variants': 'yes', + 'categ_id': cls.category1.id, + 'attribute_line_ids': [ + (0, 0, {'attribute_id': cls.attribute1.id, + 'value_ids': [(6, 0, [cls.value1.id, + cls.value2.id])]})], + }) + cls.product_template_no = cls.product_template.create({ + 'name': 'Product template 2', + 'list_price': 100, + 'categ_id': cls.category1.id, + 'no_create_variants': 'no', + 'description_sale': 'Template description' + }) + cls.attribute_price1 = cls.env['product.attribute.price'].create({ + 'product_tmpl_id': cls.product_template_yes.id, + 'attribute_id': cls.attribute1.id, + 'value_id': cls.value1.id, + 'price_extra': 10, + }) + cls.customer = cls.res_partner.create({ + 'name': 'Customer 1', + }) + + def test_onchange_product_tmpl_id(self): + sale = self.sale_order.create({'partner_id': self.customer.id}) + line1 = self.sale_order_line.new({ + 'order_id': sale.id, + 'product_tmpl_id': self.product_template_yes.id, + 'price_unit': 100, + 'product_uom': self.product_template_yes.uom_id.id, + 'product_qty': 1, + }) + result = line1._onchange_product_tmpl_id_configurator() + self.assertEqual(len(line1.product_attribute_ids), 1) + expected_domain = [ + ('product_tmpl_id', '=', self.product_template_yes.id) + ] + self.assertEqual(result['domain']['product_id'], expected_domain) + line2 = self.sale_order_line.new({ + 'order_id': sale.id, + 'product_tmpl_id': self.product_template_no.id, + 'product_uom': self.product_template_no.uom_id.id, + 'product_qty': 1, + 'price_unit': 200, + 'name': 'Line 2', + }) + line2._onchange_product_tmpl_id_configurator() + line2._onchange_product_id_configurator() + line2.product_id_change() + self.assertEqual(line2.product_id, + self.product_template_no.product_variant_ids) + self.assertEqual(line2.name, + '%s\n%s' % ( + self.product_template_no.name, + (self.product_template_no.description_sale) + )) + + def test_onchange_product_attribute_ids(self): + sale = self.sale_order.create({'partner_id': self.customer.id}) + line = self.sale_order_line.new({ + 'order_id': sale.id, + 'product_tmpl_id': self.product_template_yes.id, + 'price_unit': 0, + 'name': 'Line 1', + 'product_qty': 1, + 'product_uom': self.product_template_yes.uom_id.id, + }) + line._onchange_product_tmpl_id_configurator() + self.assertEqual(line.price_unit, 100) # List price + line.product_attribute_ids[0].value_id = self.value1.id + result = line._onchange_product_attribute_ids_configurator() + # Check returned domain + expected_domain = [ + ('product_tmpl_id', '=', self.product_template_yes.id), + ('attribute_value_ids', '=', self.value1.id) + ] + self.assertDictEqual(result['domain'], {'product_id': expected_domain}) + # Check price brought to line with extra + self.assertEqual(line.price_unit, 110) + # Create product and onchange again to see if the product is selected + product = self.product_product.create({ + 'product_tmpl_id': self.product_template_yes.id, + 'product_attribute_ids': [(0, 0, { + 'product_tmpl_id': self.product_template_yes.id, + 'attribute_id': self.attribute1.id, + 'value_id': self.value1.id, + 'owner_model': 'sale.order.line', + })] + }) + line._onchange_product_attribute_ids_configurator() + self.assertEqual(line.product_id, product) + + def test_can_create_product_variant(self): + sale = self.sale_order.create({'partner_id': self.customer.id}) + line = self.sale_order_line.new({ + 'order_id': sale.id, + 'product_tmpl_id': self.product_template_yes.id, + 'price_unit': 100, + 'name': 'Line 1', + 'product_qty': 1, + 'product_uom': self.product_template_yes.uom_id.id, + }) + self.assertFalse(line.can_create_product) + attributes = self.env['product.configurator.attribute'].create({ + 'product_tmpl_id': self.product_template_yes.id, + 'attribute_id': self.attribute1.id, + 'value_id': self.value1.id, + 'owner_model': 'sale.order.line', + 'owner_id': line.id, + }) + line.product_attribute_ids = attributes + line._onchange_product_attribute_ids_configurator() + self.assertTrue(line.can_create_product) + line.create_product_variant = True + line._onchange_create_product_variant() + self.assertTrue(line.product_id) + self.assertFalse(line.create_product_variant) + + def test_onchange_product_id(self): + product = self.product_product.create({ + 'product_tmpl_id': self.product_template_yes.id, + 'product_attribute_ids': [(0, 0, { + 'product_tmpl_id': self.product_template_yes.id, + 'attribute_id': self.attribute1.id, + 'value_id': self.value1.id + })] + }) + order = self.sale_order.create({ + 'partner_id': self.customer.id, + 'order_line': [(0, 0, { + 'product_id': product.id, + 'price_unit': 100, + 'name': 'Line 1', + 'product_qty': 1, + 'product_uom': product.uom_id.id, + })] + }) + line = order.order_line[0] + with self.cr.savepoint(): + line.product_id_change() + line._onchange_product_id_configurator() + self.assertEqual(len(line.product_attribute_ids), 1) + self.assertEqual(line.product_tmpl_id, self.product_template_yes) + + def test_action_confirm(self): + order = self.sale_order.create({'partner_id': self.customer.id}) + line_1 = self.sale_order_line.new({ + 'order_id': order.id, + 'product_tmpl_id': self.product_template_yes.id, + 'price_unit': 100, + 'name': 'Line 1', + 'product_qty': 1, + 'product_uom': self.product_template_yes.uom_id.id, + 'product_attribute_ids': [(0, 0, { + 'product_tmpl_id': self.product_template_yes.id, + 'attribute_id': self.attribute1.id, + 'value_id': self.value1.id, + 'owner_model': 'sale.order.line' + })], + 'create_product_variant': True, + }) + line_2 = self.sale_order_line.new({ + 'order_id': order.id, + 'product_tmpl_id': self.product_template_no.id, + 'product_uom': self.product_template_no.uom_id.id, + 'product_qty': 1, + 'price_unit': 200, + 'name': 'Line 2', + 'create_product_variant': True, + }) + for line in (line_1, line_2): + line._onchange_product_tmpl_id_configurator() + line._onchange_product_id_configurator() + line.product_id_change() + line._onchange_product_attribute_ids_configurator() + if line.can_create_product: + line.create_variant_if_needed() + line.create_product_variant = True + line._onchange_create_product_variant() + order.write({'order_line': [(4, line_1.id), (4, line_2.id)]}) + order.action_confirm() + order_line_without_product = order.order_line.filtered( + lambda x: not x.product_id) + self.assertEqual(len(order_line_without_product), 0, + "All purchase lines must have a product") From 709e6406a987a9bc8318a9815508c2d26add09ee Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Mon, 4 Dec 2017 13:37:03 +0100 Subject: [PATCH 03/24] [IMP] sale_variant_configurator: Avoid warning on non existing field --- sale_variant_configurator/i18n/ca.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/de.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/es.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/es_AR.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/es_CR.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/es_MX.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/es_VE.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/fi.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/fr.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/fr_CH.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/gl.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/hr.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/hr_HR.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/hu.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/it.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/mk.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/mn.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/nl.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/nl_NL.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/pl.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/pt.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/pt_BR.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/pt_PT.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/ro.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/ru.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/sl.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/sv.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/tr.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/tr_TR.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/vi_VN.po | 39 +++++++++++++++++++ sale_variant_configurator/i18n/zh_CN.po | 39 +++++++++++++++++++ .../tests/test_sale_order.py | 1 - 32 files changed, 1209 insertions(+), 1 deletion(-) create mode 100644 sale_variant_configurator/i18n/ca.po create mode 100644 sale_variant_configurator/i18n/de.po create mode 100644 sale_variant_configurator/i18n/es.po create mode 100644 sale_variant_configurator/i18n/es_AR.po create mode 100644 sale_variant_configurator/i18n/es_CR.po create mode 100644 sale_variant_configurator/i18n/es_MX.po create mode 100644 sale_variant_configurator/i18n/es_VE.po create mode 100644 sale_variant_configurator/i18n/fi.po create mode 100644 sale_variant_configurator/i18n/fr.po create mode 100644 sale_variant_configurator/i18n/fr_CH.po create mode 100644 sale_variant_configurator/i18n/gl.po create mode 100644 sale_variant_configurator/i18n/hr.po create mode 100644 sale_variant_configurator/i18n/hr_HR.po create mode 100644 sale_variant_configurator/i18n/hu.po create mode 100644 sale_variant_configurator/i18n/it.po create mode 100644 sale_variant_configurator/i18n/mk.po create mode 100644 sale_variant_configurator/i18n/mn.po create mode 100644 sale_variant_configurator/i18n/nl.po create mode 100644 sale_variant_configurator/i18n/nl_NL.po create mode 100644 sale_variant_configurator/i18n/pl.po create mode 100644 sale_variant_configurator/i18n/pt.po create mode 100644 sale_variant_configurator/i18n/pt_BR.po create mode 100644 sale_variant_configurator/i18n/pt_PT.po create mode 100644 sale_variant_configurator/i18n/ro.po create mode 100644 sale_variant_configurator/i18n/ru.po create mode 100644 sale_variant_configurator/i18n/sl.po create mode 100644 sale_variant_configurator/i18n/sv.po create mode 100644 sale_variant_configurator/i18n/tr.po create mode 100644 sale_variant_configurator/i18n/tr_TR.po create mode 100644 sale_variant_configurator/i18n/vi_VN.po create mode 100644 sale_variant_configurator/i18n/zh_CN.po diff --git a/sale_variant_configurator/i18n/ca.po b/sale_variant_configurator/i18n/ca.po new file mode 100644 index 000000000..36d9ad03e --- /dev/null +++ b/sale_variant_configurator/i18n/ca.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "Plantilla del producte" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línia de comanda de vendes" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Plantilla" diff --git a/sale_variant_configurator/i18n/de.po b/sale_variant_configurator/i18n/de.po new file mode 100644 index 000000000..8d5e392ce --- /dev/null +++ b/sale_variant_configurator/i18n/de.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "Produktvorlage" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Auftragsposition" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Vorlage" diff --git a/sale_variant_configurator/i18n/es.po b/sale_variant_configurator/i18n/es.po new file mode 100644 index 000000000..bfc1e01ab --- /dev/null +++ b/sale_variant_configurator/i18n/es.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "Plantilla producto" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línea pedido de venta" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Plantilla" diff --git a/sale_variant_configurator/i18n/es_AR.po b/sale_variant_configurator/i18n/es_AR.po new file mode 100644 index 000000000..eb999a86d --- /dev/null +++ b/sale_variant_configurator/i18n/es_AR.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Argentina) (https://www.transifex.com/oca/teams/23907/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Plantilla" diff --git a/sale_variant_configurator/i18n/es_CR.po b/sale_variant_configurator/i18n/es_CR.po new file mode 100644 index 000000000..2af1bb0f0 --- /dev/null +++ b/sale_variant_configurator/i18n/es_CR.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Costa Rica) (https://www.transifex.com/oca/teams/23907/es_CR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_CR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Plantilla" diff --git a/sale_variant_configurator/i18n/es_MX.po b/sale_variant_configurator/i18n/es_MX.po new file mode 100644 index 000000000..84eced41e --- /dev/null +++ b/sale_variant_configurator/i18n/es_MX.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "Plantilla del producto" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Plantilla" diff --git a/sale_variant_configurator/i18n/es_VE.po b/sale_variant_configurator/i18n/es_VE.po new file mode 100644 index 000000000..a7d3af739 --- /dev/null +++ b/sale_variant_configurator/i18n/es_VE.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Venezuela) (https://www.transifex.com/oca/teams/23907/es_VE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_VE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línea de pedido de venta" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Plantilla" diff --git a/sale_variant_configurator/i18n/fi.po b/sale_variant_configurator/i18n/fi.po new file mode 100644 index 000000000..e3f2386ee --- /dev/null +++ b/sale_variant_configurator/i18n/fi.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "Tuotteen malli" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Myyntitilausrivi" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Malli" diff --git a/sale_variant_configurator/i18n/fr.po b/sale_variant_configurator/i18n/fr.po new file mode 100644 index 000000000..b70a1a518 --- /dev/null +++ b/sale_variant_configurator/i18n/fr.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "Modèle de produit" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Ligne de commandes de vente" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Modèle" diff --git a/sale_variant_configurator/i18n/fr_CH.po b/sale_variant_configurator/i18n/fr_CH.po new file mode 100644 index 000000000..9b17527c9 --- /dev/null +++ b/sale_variant_configurator/i18n/fr_CH.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (Switzerland) (https://www.transifex.com/oca/teams/23907/fr_CH/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr_CH\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "Template de produit" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "" diff --git a/sale_variant_configurator/i18n/gl.po b/sale_variant_configurator/i18n/gl.po new file mode 100644 index 000000000..df09463fa --- /dev/null +++ b/sale_variant_configurator/i18n/gl.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Modelo" diff --git a/sale_variant_configurator/i18n/hr.po b/sale_variant_configurator/i18n/hr.po new file mode 100644 index 000000000..248d4eb55 --- /dev/null +++ b/sale_variant_configurator/i18n/hr.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "Predložak proizvoda" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Predložak" diff --git a/sale_variant_configurator/i18n/hr_HR.po b/sale_variant_configurator/i18n/hr_HR.po new file mode 100644 index 000000000..acaeb65f8 --- /dev/null +++ b/sale_variant_configurator/i18n/hr_HR.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/hr_HR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hr_HR\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "Predložak proizvoda" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "" diff --git a/sale_variant_configurator/i18n/hu.po b/sale_variant_configurator/i18n/hu.po new file mode 100644 index 000000000..b71d1d372 --- /dev/null +++ b/sale_variant_configurator/i18n/hu.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Hungarian (https://www.transifex.com/oca/teams/23907/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Sablon" diff --git a/sale_variant_configurator/i18n/it.po b/sale_variant_configurator/i18n/it.po new file mode 100644 index 000000000..dba0d3923 --- /dev/null +++ b/sale_variant_configurator/i18n/it.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "Template Prodotto" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Linea d'ordine di vendita" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Modello" diff --git a/sale_variant_configurator/i18n/mk.po b/sale_variant_configurator/i18n/mk.po new file mode 100644 index 000000000..228718a99 --- /dev/null +++ b/sale_variant_configurator/i18n/mk.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Macedonian (https://www.transifex.com/oca/teams/23907/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Урнек" diff --git a/sale_variant_configurator/i18n/mn.po b/sale_variant_configurator/i18n/mn.po new file mode 100644 index 000000000..2644adcbf --- /dev/null +++ b/sale_variant_configurator/i18n/mn.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Mongolian (https://www.transifex.com/oca/teams/23907/mn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: mn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Загвар" diff --git a/sale_variant_configurator/i18n/nl.po b/sale_variant_configurator/i18n/nl.po new file mode 100644 index 000000000..e9ce61b6c --- /dev/null +++ b/sale_variant_configurator/i18n/nl.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Verkooporderregel" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Sjabloon" diff --git a/sale_variant_configurator/i18n/nl_NL.po b/sale_variant_configurator/i18n/nl_NL.po new file mode 100644 index 000000000..b95af60e7 --- /dev/null +++ b/sale_variant_configurator/i18n/nl_NL.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl_NL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "Productsjabloon" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Verkooporderregel" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Sjabloon" diff --git a/sale_variant_configurator/i18n/pl.po b/sale_variant_configurator/i18n/pl.po new file mode 100644 index 000000000..7671ae1dd --- /dev/null +++ b/sale_variant_configurator/i18n/pl.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Polish (https://www.transifex.com/oca/teams/23907/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Szablon" diff --git a/sale_variant_configurator/i18n/pt.po b/sale_variant_configurator/i18n/pt.po new file mode 100644 index 000000000..df3912fde --- /dev/null +++ b/sale_variant_configurator/i18n/pt.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Modelo" diff --git a/sale_variant_configurator/i18n/pt_BR.po b/sale_variant_configurator/i18n/pt_BR.po new file mode 100644 index 000000000..1f0c4f84c --- /dev/null +++ b/sale_variant_configurator/i18n/pt_BR.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "Modelo Produto" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Linha Pedido de Venda" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Modelo" diff --git a/sale_variant_configurator/i18n/pt_PT.po b/sale_variant_configurator/i18n/pt_PT.po new file mode 100644 index 000000000..e03956ba7 --- /dev/null +++ b/sale_variant_configurator/i18n/pt_PT.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/teams/23907/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Modelo" diff --git a/sale_variant_configurator/i18n/ro.po b/sale_variant_configurator/i18n/ro.po new file mode 100644 index 000000000..2568bef3f --- /dev/null +++ b/sale_variant_configurator/i18n/ro.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "Produs șablon" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Linie comandă vânzare" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Sablon" diff --git a/sale_variant_configurator/i18n/ru.po b/sale_variant_configurator/i18n/ru.po new file mode 100644 index 000000000..898c50ff0 --- /dev/null +++ b/sale_variant_configurator/i18n/ru.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Russian (https://www.transifex.com/oca/teams/23907/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Шаблон" diff --git a/sale_variant_configurator/i18n/sl.po b/sale_variant_configurator/i18n/sl.po new file mode 100644 index 000000000..5a5f14073 --- /dev/null +++ b/sale_variant_configurator/i18n/sl.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "Predloga proizvoda" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Postavka prodajnega naloga" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Predloga" diff --git a/sale_variant_configurator/i18n/sv.po b/sale_variant_configurator/i18n/sv.po new file mode 100644 index 000000000..02c0ef3e4 --- /dev/null +++ b/sale_variant_configurator/i18n/sv.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Swedish (https://www.transifex.com/oca/teams/23907/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Mall" diff --git a/sale_variant_configurator/i18n/tr.po b/sale_variant_configurator/i18n/tr.po new file mode 100644 index 000000000..16416d950 --- /dev/null +++ b/sale_variant_configurator/i18n/tr.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Satış Siparişi Hattı" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Şablon" diff --git a/sale_variant_configurator/i18n/tr_TR.po b/sale_variant_configurator/i18n/tr_TR.po new file mode 100644 index 000000000..820a8139a --- /dev/null +++ b/sale_variant_configurator/i18n/tr_TR.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/tr_TR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr_TR\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "Ürün şablonu" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "Sipariş emri satırı " + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "Şablon" diff --git a/sale_variant_configurator/i18n/vi_VN.po b/sale_variant_configurator/i18n/vi_VN.po new file mode 100644 index 000000000..a377f700b --- /dev/null +++ b/sale_variant_configurator/i18n/vi_VN.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Vietnamese (Viet Nam) (https://www.transifex.com/oca/teams/23907/vi_VN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: vi_VN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "Mẫu sản phẩm" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "" diff --git a/sale_variant_configurator/i18n/zh_CN.po b/sale_variant_configurator/i18n/zh_CN.po new file mode 100644 index 000000000..ee3b96387 --- /dev/null +++ b/sale_variant_configurator/i18n/zh_CN.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-04 12:43+0000\n" +"PO-Revision-Date: 2017-12-04 12:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "产品模板" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "模板" diff --git a/sale_variant_configurator/tests/test_sale_order.py b/sale_variant_configurator/tests/test_sale_order.py index a0fdb2f65..c06ca6d56 100644 --- a/sale_variant_configurator/tests/test_sale_order.py +++ b/sale_variant_configurator/tests/test_sale_order.py @@ -138,7 +138,6 @@ def test_can_create_product_variant(self): 'product_tmpl_id': self.product_template_yes.id, 'price_unit': 100, 'name': 'Line 1', - 'product_qty': 1, 'product_uom': self.product_template_yes.uom_id.id, }) self.assertFalse(line.can_create_product) From 2f2480be09a107afc2d33724f48dc58fb4b1b5e8 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Fri, 22 Dec 2017 12:06:09 +0100 Subject: [PATCH 04/24] [FIX] sale_variant_configurator: Don't choke on attribute name --- sale_variant_configurator/i18n/hr.po | 11 ++++++----- sale_variant_configurator/i18n/it.po | 9 +++++---- sale_variant_configurator/tests/test_sale_order.py | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/sale_variant_configurator/i18n/hr.po b/sale_variant_configurator/i18n/hr.po index 248d4eb55..233e3dc7b 100644 --- a/sale_variant_configurator/i18n/hr.po +++ b/sale_variant_configurator/i18n/hr.po @@ -4,13 +4,14 @@ # # Translators: # OCA Transbot , 2017 +# Bole , 2018 msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-04 12:43+0000\n" -"PO-Revision-Date: 2017-12-04 12:43+0000\n" -"Last-Translator: OCA Transbot , 2017\n" +"POT-Creation-Date: 2018-02-23 02:10+0000\n" +"PO-Revision-Date: 2018-02-23 02:10+0000\n" +"Last-Translator: Bole , 2018\n" "Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,12 +27,12 @@ msgstr "Predložak proizvoda" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order msgid "Sales Order" -msgstr "" +msgstr "Ponuda " #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order_line msgid "Sales Order Line" -msgstr "" +msgstr "Stavka ponude" #. module: sale_variant_configurator #: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter diff --git a/sale_variant_configurator/i18n/it.po b/sale_variant_configurator/i18n/it.po index dba0d3923..cc8af10cf 100644 --- a/sale_variant_configurator/i18n/it.po +++ b/sale_variant_configurator/i18n/it.po @@ -4,13 +4,14 @@ # # Translators: # OCA Transbot , 2017 +# Paolo Valier , 2018 msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-12-04 12:43+0000\n" -"PO-Revision-Date: 2017-12-04 12:43+0000\n" -"Last-Translator: OCA Transbot , 2017\n" +"POT-Creation-Date: 2017-12-30 08:37+0000\n" +"PO-Revision-Date: 2017-12-30 08:37+0000\n" +"Last-Translator: Paolo Valier , 2018\n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,7 +27,7 @@ msgstr "Template Prodotto" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order msgid "Sales Order" -msgstr "" +msgstr "Ordine di Vendita" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order_line diff --git a/sale_variant_configurator/tests/test_sale_order.py b/sale_variant_configurator/tests/test_sale_order.py index c06ca6d56..af1bd1dc4 100644 --- a/sale_variant_configurator/tests/test_sale_order.py +++ b/sale_variant_configurator/tests/test_sale_order.py @@ -25,7 +25,7 @@ def setUpClass(cls): 'name': 'No create variants category', }) cls.attribute1 = cls.product_attribute.create({ - 'name': 'Color', + 'name': 'Color (sale_variante_configurator)', }) cls.value1 = cls.product_attribute_value.create({ 'name': 'Red', From 86e537731620a688f5e19add1291a064dc50f3b9 Mon Sep 17 00:00:00 2001 From: oca-travis Date: Sat, 23 Jun 2018 18:51:43 +0000 Subject: [PATCH 05/24] [UPD] Update sale_variant_configurator.pot --- sale_variant_configurator/i18n/ca.po | 4 +-- sale_variant_configurator/i18n/de.po | 4 +-- sale_variant_configurator/i18n/es.po | 4 +-- sale_variant_configurator/i18n/es_AR.po | 7 ++-- sale_variant_configurator/i18n/es_CR.po | 7 ++-- sale_variant_configurator/i18n/es_MX.po | 7 ++-- sale_variant_configurator/i18n/es_VE.po | 7 ++-- sale_variant_configurator/i18n/fi.po | 4 +-- sale_variant_configurator/i18n/fr.po | 4 +-- sale_variant_configurator/i18n/fr_CH.po | 7 ++-- sale_variant_configurator/i18n/gl.po | 4 +-- sale_variant_configurator/i18n/hr.po | 7 ++-- sale_variant_configurator/i18n/hr_HR.po | 10 +++--- sale_variant_configurator/i18n/hu.po | 4 +-- sale_variant_configurator/i18n/it.po | 4 +-- sale_variant_configurator/i18n/mk.po | 4 +-- sale_variant_configurator/i18n/mn.po | 4 +-- sale_variant_configurator/i18n/nl.po | 4 +-- sale_variant_configurator/i18n/nl_NL.po | 7 ++-- sale_variant_configurator/i18n/pl.po | 8 +++-- sale_variant_configurator/i18n/pt.po | 4 +-- sale_variant_configurator/i18n/pt_BR.po | 7 ++-- sale_variant_configurator/i18n/pt_PT.po | 7 ++-- sale_variant_configurator/i18n/ro.po | 7 ++-- sale_variant_configurator/i18n/ru.po | 8 +++-- .../i18n/sale_variant_configurator.pot | 35 +++++++++++++++++++ sale_variant_configurator/i18n/sl.po | 7 ++-- sale_variant_configurator/i18n/sv.po | 4 +-- sale_variant_configurator/i18n/tr.po | 4 +-- sale_variant_configurator/i18n/tr_TR.po | 7 ++-- sale_variant_configurator/i18n/vi_VN.po | 7 ++-- sale_variant_configurator/i18n/zh_CN.po | 7 ++-- 32 files changed, 135 insertions(+), 80 deletions(-) create mode 100644 sale_variant_configurator/i18n/sale_variant_configurator.pot diff --git a/sale_variant_configurator/i18n/ca.po b/sale_variant_configurator/i18n/ca.po index 36d9ad03e..07b5d95c6 100644 --- a/sale_variant_configurator/i18n/ca.po +++ b/sale_variant_configurator/i18n/ca.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" +"Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/de.po b/sale_variant_configurator/i18n/de.po index 8d5e392ce..7919badcc 100644 --- a/sale_variant_configurator/i18n/de.po +++ b/sale_variant_configurator/i18n/de.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/es.po b/sale_variant_configurator/i18n/es.po index bfc1e01ab..49179b026 100644 --- a/sale_variant_configurator/i18n/es.po +++ b/sale_variant_configurator/i18n/es.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/es_AR.po b/sale_variant_configurator/i18n/es_AR.po index eb999a86d..3b64f593d 100644 --- a/sale_variant_configurator/i18n/es_AR.po +++ b/sale_variant_configurator/i18n/es_AR.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" -"Language-Team: Spanish (Argentina) (https://www.transifex.com/oca/teams/23907/es_AR/)\n" +"Language-Team: Spanish (Argentina) (https://www.transifex.com/oca/" +"teams/23907/es_AR/)\n" +"Language: es_AR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: es_AR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/es_CR.po b/sale_variant_configurator/i18n/es_CR.po index 2af1bb0f0..bcaac9f0e 100644 --- a/sale_variant_configurator/i18n/es_CR.po +++ b/sale_variant_configurator/i18n/es_CR.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" -"Language-Team: Spanish (Costa Rica) (https://www.transifex.com/oca/teams/23907/es_CR/)\n" +"Language-Team: Spanish (Costa Rica) (https://www.transifex.com/oca/" +"teams/23907/es_CR/)\n" +"Language: es_CR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: es_CR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/es_MX.po b/sale_variant_configurator/i18n/es_MX.po index 84eced41e..3eff8e4de 100644 --- a/sale_variant_configurator/i18n/es_MX.po +++ b/sale_variant_configurator/i18n/es_MX.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" -"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/es_MX/)\n" +"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/" +"es_MX/)\n" +"Language: es_MX\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: es_MX\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/es_VE.po b/sale_variant_configurator/i18n/es_VE.po index a7d3af739..d5552ea3b 100644 --- a/sale_variant_configurator/i18n/es_VE.po +++ b/sale_variant_configurator/i18n/es_VE.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" -"Language-Team: Spanish (Venezuela) (https://www.transifex.com/oca/teams/23907/es_VE/)\n" +"Language-Team: Spanish (Venezuela) (https://www.transifex.com/oca/" +"teams/23907/es_VE/)\n" +"Language: es_VE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: es_VE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/fi.po b/sale_variant_configurator/i18n/fi.po index e3f2386ee..43b1cb57f 100644 --- a/sale_variant_configurator/i18n/fi.po +++ b/sale_variant_configurator/i18n/fi.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n" +"Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: fi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/fr.po b/sale_variant_configurator/i18n/fr.po index b70a1a518..96ebe1740 100644 --- a/sale_variant_configurator/i18n/fr.po +++ b/sale_variant_configurator/i18n/fr.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/fr_CH.po b/sale_variant_configurator/i18n/fr_CH.po index 9b17527c9..c5441e2c8 100644 --- a/sale_variant_configurator/i18n/fr_CH.po +++ b/sale_variant_configurator/i18n/fr_CH.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" -"Language-Team: French (Switzerland) (https://www.transifex.com/oca/teams/23907/fr_CH/)\n" +"Language-Team: French (Switzerland) (https://www.transifex.com/oca/" +"teams/23907/fr_CH/)\n" +"Language: fr_CH\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: fr_CH\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/gl.po b/sale_variant_configurator/i18n/gl.po index df09463fa..f8252611c 100644 --- a/sale_variant_configurator/i18n/gl.po +++ b/sale_variant_configurator/i18n/gl.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n" +"Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/hr.po b/sale_variant_configurator/i18n/hr.po index 233e3dc7b..b6df953f4 100644 --- a/sale_variant_configurator/i18n/hr.po +++ b/sale_variant_configurator/i18n/hr.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 # Bole , 2018 @@ -13,11 +13,12 @@ msgstr "" "PO-Revision-Date: 2018-02-23 02:10+0000\n" "Last-Translator: Bole , 2018\n" "Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"Language: hr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: hr\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id diff --git a/sale_variant_configurator/i18n/hr_HR.po b/sale_variant_configurator/i18n/hr_HR.po index acaeb65f8..e95146926 100644 --- a/sale_variant_configurator/i18n/hr_HR.po +++ b/sale_variant_configurator/i18n/hr_HR.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -11,12 +11,14 @@ msgstr "" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" -"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/hr_HR/)\n" +"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/" +"hr_HR/)\n" +"Language: hr_HR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: hr_HR\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id diff --git a/sale_variant_configurator/i18n/hu.po b/sale_variant_configurator/i18n/hu.po index b71d1d372..cd5c3072a 100644 --- a/sale_variant_configurator/i18n/hu.po +++ b/sale_variant_configurator/i18n/hu.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Hungarian (https://www.transifex.com/oca/teams/23907/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/it.po b/sale_variant_configurator/i18n/it.po index cc8af10cf..c89a6f3b2 100644 --- a/sale_variant_configurator/i18n/it.po +++ b/sale_variant_configurator/i18n/it.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 # Paolo Valier , 2018 @@ -13,10 +13,10 @@ msgstr "" "PO-Revision-Date: 2017-12-30 08:37+0000\n" "Last-Translator: Paolo Valier , 2018\n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/mk.po b/sale_variant_configurator/i18n/mk.po index 228718a99..9ac880036 100644 --- a/sale_variant_configurator/i18n/mk.po +++ b/sale_variant_configurator/i18n/mk.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Macedonian (https://www.transifex.com/oca/teams/23907/mk/)\n" +"Language: mk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: mk\n" "Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/mn.po b/sale_variant_configurator/i18n/mn.po index 2644adcbf..e9aae4142 100644 --- a/sale_variant_configurator/i18n/mn.po +++ b/sale_variant_configurator/i18n/mn.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Mongolian (https://www.transifex.com/oca/teams/23907/mn/)\n" +"Language: mn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: mn\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/nl.po b/sale_variant_configurator/i18n/nl.po index e9ce61b6c..c2c1f83e3 100644 --- a/sale_variant_configurator/i18n/nl.po +++ b/sale_variant_configurator/i18n/nl.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n" +"Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/nl_NL.po b/sale_variant_configurator/i18n/nl_NL.po index b95af60e7..082fc9735 100644 --- a/sale_variant_configurator/i18n/nl_NL.po +++ b/sale_variant_configurator/i18n/nl_NL.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # Peter Hageman , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: Peter Hageman , 2017\n" -"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/" +"teams/23907/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/pl.po b/sale_variant_configurator/i18n/pl.po index 7671ae1dd..b007ae7cf 100644 --- a/sale_variant_configurator/i18n/pl.po +++ b/sale_variant_configurator/i18n/pl.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,11 +12,13 @@ msgstr "" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Polish (https://www.transifex.com/oca/teams/23907/pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: pl\n" -"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n" +"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n" +"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id diff --git a/sale_variant_configurator/i18n/pt.po b/sale_variant_configurator/i18n/pt.po index df3912fde..c58709d0f 100644 --- a/sale_variant_configurator/i18n/pt.po +++ b/sale_variant_configurator/i18n/pt.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/pt_BR.po b/sale_variant_configurator/i18n/pt_BR.po index 1f0c4f84c..ece5a2f5a 100644 --- a/sale_variant_configurator/i18n/pt_BR.po +++ b/sale_variant_configurator/i18n/pt_BR.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" +"teams/23907/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/pt_PT.po b/sale_variant_configurator/i18n/pt_PT.po index e03956ba7..3d857eac0 100644 --- a/sale_variant_configurator/i18n/pt_PT.po +++ b/sale_variant_configurator/i18n/pt_PT.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" -"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/teams/23907/pt_PT/)\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/" +"teams/23907/pt_PT/)\n" +"Language: pt_PT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/ro.po b/sale_variant_configurator/i18n/ro.po index 2568bef3f..c66c09d63 100644 --- a/sale_variant_configurator/i18n/ro.po +++ b/sale_variant_configurator/i18n/ro.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,11 +12,12 @@ msgstr "" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n" +"Language: ro\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id diff --git a/sale_variant_configurator/i18n/ru.po b/sale_variant_configurator/i18n/ru.po index 898c50ff0..c3eef575b 100644 --- a/sale_variant_configurator/i18n/ru.po +++ b/sale_variant_configurator/i18n/ru.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,11 +12,13 @@ msgstr "" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Russian (https://www.transifex.com/oca/teams/23907/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id diff --git a/sale_variant_configurator/i18n/sale_variant_configurator.pot b/sale_variant_configurator/i18n/sale_variant_configurator.pot new file mode 100644 index 000000000..69b312898 --- /dev/null +++ b/sale_variant_configurator/i18n/sale_variant_configurator.pot @@ -0,0 +1,35 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_variant_configurator +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +msgid "Product Template" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +msgid "Template" +msgstr "" + diff --git a/sale_variant_configurator/i18n/sl.po b/sale_variant_configurator/i18n/sl.po index 5a5f14073..8b6b5e575 100644 --- a/sale_variant_configurator/i18n/sl.po +++ b/sale_variant_configurator/i18n/sl.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,11 +12,12 @@ msgstr "" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id diff --git a/sale_variant_configurator/i18n/sv.po b/sale_variant_configurator/i18n/sv.po index 02c0ef3e4..07b975375 100644 --- a/sale_variant_configurator/i18n/sv.po +++ b/sale_variant_configurator/i18n/sv.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Swedish (https://www.transifex.com/oca/teams/23907/sv/)\n" +"Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/tr.po b/sale_variant_configurator/i18n/tr.po index 16416d950..a45288136 100644 --- a/sale_variant_configurator/i18n/tr.po +++ b/sale_variant_configurator/i18n/tr.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: tr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/tr_TR.po b/sale_variant_configurator/i18n/tr_TR.po index 820a8139a..d26c13923 100644 --- a/sale_variant_configurator/i18n/tr_TR.po +++ b/sale_variant_configurator/i18n/tr_TR.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" -"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/tr_TR/)\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/" +"tr_TR/)\n" +"Language: tr_TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: tr_TR\n" "Plural-Forms: nplurals=1; plural=0;\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/vi_VN.po b/sale_variant_configurator/i18n/vi_VN.po index a377f700b..6a54ec4dd 100644 --- a/sale_variant_configurator/i18n/vi_VN.po +++ b/sale_variant_configurator/i18n/vi_VN.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" -"Language-Team: Vietnamese (Viet Nam) (https://www.transifex.com/oca/teams/23907/vi_VN/)\n" +"Language-Team: Vietnamese (Viet Nam) (https://www.transifex.com/oca/" +"teams/23907/vi_VN/)\n" +"Language: vi_VN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/zh_CN.po b/sale_variant_configurator/i18n/zh_CN.po index ee3b96387..3bf11fddd 100644 --- a/sale_variant_configurator/i18n/zh_CN.po +++ b/sale_variant_configurator/i18n/zh_CN.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * sale_variant_configurator -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" "Last-Translator: OCA Transbot , 2017\n" -"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/zh_CN/)\n" +"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/" +"zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #. module: sale_variant_configurator From 09aa80172fa6c45210a50a6af7b840440724c77e Mon Sep 17 00:00:00 2001 From: angelmoya Date: Mon, 17 Sep 2018 16:50:37 +0200 Subject: [PATCH 06/24] [MIG] sale_variant_configurator: Migration to 11.0 --- sale_variant_configurator/README.rst | 2 +- sale_variant_configurator/__init__.py | 1 - sale_variant_configurator/__manifest__.py | 5 ++- sale_variant_configurator/hooks.py | 1 - sale_variant_configurator/i18n/ca.po | 2 +- sale_variant_configurator/i18n/de.po | 2 +- sale_variant_configurator/i18n/es.po | 2 +- sale_variant_configurator/i18n/es_AR.po | 2 +- sale_variant_configurator/i18n/es_CR.po | 2 +- sale_variant_configurator/i18n/es_MX.po | 2 +- sale_variant_configurator/i18n/es_VE.po | 2 +- sale_variant_configurator/i18n/fi.po | 2 +- sale_variant_configurator/i18n/fr.po | 2 +- sale_variant_configurator/i18n/fr_CH.po | 2 +- sale_variant_configurator/i18n/gl.po | 2 +- sale_variant_configurator/i18n/hr.po | 2 +- sale_variant_configurator/i18n/hr_HR.po | 2 +- sale_variant_configurator/i18n/hu.po | 2 +- sale_variant_configurator/i18n/it.po | 2 +- sale_variant_configurator/i18n/mk.po | 2 +- sale_variant_configurator/i18n/mn.po | 2 +- sale_variant_configurator/i18n/nl.po | 2 +- sale_variant_configurator/i18n/nl_NL.po | 2 +- sale_variant_configurator/i18n/pl.po | 2 +- sale_variant_configurator/i18n/pt.po | 2 +- sale_variant_configurator/i18n/pt_BR.po | 2 +- sale_variant_configurator/i18n/pt_PT.po | 2 +- sale_variant_configurator/i18n/ro.po | 2 +- sale_variant_configurator/i18n/ru.po | 2 +- .../i18n/sale_variant_configurator.pot | 2 +- sale_variant_configurator/i18n/sl.po | 2 +- sale_variant_configurator/i18n/sv.po | 2 +- sale_variant_configurator/i18n/tr.po | 2 +- sale_variant_configurator/i18n/tr_TR.po | 2 +- sale_variant_configurator/i18n/vi_VN.po | 2 +- sale_variant_configurator/i18n/zh_CN.po | 2 +- sale_variant_configurator/models/__init__.py | 1 - .../models/sale_order.py | 33 ------------------- sale_variant_configurator/tests/__init__.py | 2 -- .../tests/test_sale_order.py | 1 - 40 files changed, 35 insertions(+), 75 deletions(-) diff --git a/sale_variant_configurator/README.rst b/sale_variant_configurator/README.rst index c6dbd5e88..5ba79613c 100644 --- a/sale_variant_configurator/README.rst +++ b/sale_variant_configurator/README.rst @@ -16,7 +16,7 @@ Usage .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/137/10.0 + :target: https://runbot.odoo-community.org/runbot/137/11.0 Bug Tracker =========== diff --git a/sale_variant_configurator/__init__.py b/sale_variant_configurator/__init__.py index b14bb0d4f..25762b76b 100644 --- a/sale_variant_configurator/__init__.py +++ b/sale_variant_configurator/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html from . import models diff --git a/sale_variant_configurator/__manifest__.py b/sale_variant_configurator/__manifest__.py index 7629b17c6..99c8fa189 100644 --- a/sale_variant_configurator/__manifest__.py +++ b/sale_variant_configurator/__manifest__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2014-2016 Oihane Crucelaegui - AvanzOSC # Copyright 2015-2016 Pedro M. Baeza # Copyright 2017 David Vidal @@ -7,7 +6,7 @@ { "name": "Sale - Product variants", "summary": "Product variants in sale management", - "version": "10.0.1.0.0", + "version": "11.0.1.0.0", "license": "AGPL-3", "depends": [ "sale", @@ -18,7 +17,7 @@ "Tecnativa," "Odoo Community Association (OCA)", "category": "Sales Management", - "website": "http://www.odoomrp.com", + "website": "https://github.com/OCA/product-variant", "data": [ "views/sale_view.xml", ], diff --git a/sale_variant_configurator/hooks.py b/sale_variant_configurator/hooks.py index 1a5677a2e..8aaaab29d 100644 --- a/sale_variant_configurator/hooks.py +++ b/sale_variant_configurator/hooks.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2014-2016 Oihane Crucelaegui - AvanzOSC # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html diff --git a/sale_variant_configurator/i18n/ca.po b/sale_variant_configurator/i18n/ca.po index 07b5d95c6..4b89f2447 100644 --- a/sale_variant_configurator/i18n/ca.po +++ b/sale_variant_configurator/i18n/ca.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/de.po b/sale_variant_configurator/i18n/de.po index 7919badcc..dda7c9f31 100644 --- a/sale_variant_configurator/i18n/de.po +++ b/sale_variant_configurator/i18n/de.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/es.po b/sale_variant_configurator/i18n/es.po index 49179b026..de01a21e0 100644 --- a/sale_variant_configurator/i18n/es.po +++ b/sale_variant_configurator/i18n/es.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/es_AR.po b/sale_variant_configurator/i18n/es_AR.po index 3b64f593d..3bed4aaf8 100644 --- a/sale_variant_configurator/i18n/es_AR.po +++ b/sale_variant_configurator/i18n/es_AR.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/es_CR.po b/sale_variant_configurator/i18n/es_CR.po index bcaac9f0e..8e9ad6b9f 100644 --- a/sale_variant_configurator/i18n/es_CR.po +++ b/sale_variant_configurator/i18n/es_CR.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/es_MX.po b/sale_variant_configurator/i18n/es_MX.po index 3eff8e4de..5dea29834 100644 --- a/sale_variant_configurator/i18n/es_MX.po +++ b/sale_variant_configurator/i18n/es_MX.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/es_VE.po b/sale_variant_configurator/i18n/es_VE.po index d5552ea3b..b6d4aa472 100644 --- a/sale_variant_configurator/i18n/es_VE.po +++ b/sale_variant_configurator/i18n/es_VE.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/fi.po b/sale_variant_configurator/i18n/fi.po index 43b1cb57f..4ea8bb407 100644 --- a/sale_variant_configurator/i18n/fi.po +++ b/sale_variant_configurator/i18n/fi.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/fr.po b/sale_variant_configurator/i18n/fr.po index 96ebe1740..26d58c652 100644 --- a/sale_variant_configurator/i18n/fr.po +++ b/sale_variant_configurator/i18n/fr.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/fr_CH.po b/sale_variant_configurator/i18n/fr_CH.po index c5441e2c8..d89636ac4 100644 --- a/sale_variant_configurator/i18n/fr_CH.po +++ b/sale_variant_configurator/i18n/fr_CH.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/gl.po b/sale_variant_configurator/i18n/gl.po index f8252611c..a37507e53 100644 --- a/sale_variant_configurator/i18n/gl.po +++ b/sale_variant_configurator/i18n/gl.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/hr.po b/sale_variant_configurator/i18n/hr.po index b6df953f4..54ea326a1 100644 --- a/sale_variant_configurator/i18n/hr.po +++ b/sale_variant_configurator/i18n/hr.po @@ -7,7 +7,7 @@ # Bole , 2018 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-02-23 02:10+0000\n" "PO-Revision-Date: 2018-02-23 02:10+0000\n" diff --git a/sale_variant_configurator/i18n/hr_HR.po b/sale_variant_configurator/i18n/hr_HR.po index e95146926..8d9b0577a 100644 --- a/sale_variant_configurator/i18n/hr_HR.po +++ b/sale_variant_configurator/i18n/hr_HR.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/hu.po b/sale_variant_configurator/i18n/hu.po index cd5c3072a..1c0be90c9 100644 --- a/sale_variant_configurator/i18n/hu.po +++ b/sale_variant_configurator/i18n/hu.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/it.po b/sale_variant_configurator/i18n/it.po index c89a6f3b2..1d52b3c55 100644 --- a/sale_variant_configurator/i18n/it.po +++ b/sale_variant_configurator/i18n/it.po @@ -7,7 +7,7 @@ # Paolo Valier , 2018 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-30 08:37+0000\n" "PO-Revision-Date: 2017-12-30 08:37+0000\n" diff --git a/sale_variant_configurator/i18n/mk.po b/sale_variant_configurator/i18n/mk.po index 9ac880036..4d9de8b44 100644 --- a/sale_variant_configurator/i18n/mk.po +++ b/sale_variant_configurator/i18n/mk.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/mn.po b/sale_variant_configurator/i18n/mn.po index e9aae4142..8bebde8a8 100644 --- a/sale_variant_configurator/i18n/mn.po +++ b/sale_variant_configurator/i18n/mn.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/nl.po b/sale_variant_configurator/i18n/nl.po index c2c1f83e3..23443665f 100644 --- a/sale_variant_configurator/i18n/nl.po +++ b/sale_variant_configurator/i18n/nl.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/nl_NL.po b/sale_variant_configurator/i18n/nl_NL.po index 082fc9735..d203f44e2 100644 --- a/sale_variant_configurator/i18n/nl_NL.po +++ b/sale_variant_configurator/i18n/nl_NL.po @@ -6,7 +6,7 @@ # Peter Hageman , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/pl.po b/sale_variant_configurator/i18n/pl.po index b007ae7cf..6ea825e6c 100644 --- a/sale_variant_configurator/i18n/pl.po +++ b/sale_variant_configurator/i18n/pl.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/pt.po b/sale_variant_configurator/i18n/pt.po index c58709d0f..9e50ee167 100644 --- a/sale_variant_configurator/i18n/pt.po +++ b/sale_variant_configurator/i18n/pt.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/pt_BR.po b/sale_variant_configurator/i18n/pt_BR.po index ece5a2f5a..b199e6b8b 100644 --- a/sale_variant_configurator/i18n/pt_BR.po +++ b/sale_variant_configurator/i18n/pt_BR.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/pt_PT.po b/sale_variant_configurator/i18n/pt_PT.po index 3d857eac0..0e3c0149b 100644 --- a/sale_variant_configurator/i18n/pt_PT.po +++ b/sale_variant_configurator/i18n/pt_PT.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/ro.po b/sale_variant_configurator/i18n/ro.po index c66c09d63..c23e64151 100644 --- a/sale_variant_configurator/i18n/ro.po +++ b/sale_variant_configurator/i18n/ro.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/ru.po b/sale_variant_configurator/i18n/ru.po index c3eef575b..60a02bfb6 100644 --- a/sale_variant_configurator/i18n/ru.po +++ b/sale_variant_configurator/i18n/ru.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/sale_variant_configurator.pot b/sale_variant_configurator/i18n/sale_variant_configurator.pot index 69b312898..4c4ca100a 100644 --- a/sale_variant_configurator/i18n/sale_variant_configurator.pot +++ b/sale_variant_configurator/i18n/sale_variant_configurator.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: <>\n" "Language-Team: \n" diff --git a/sale_variant_configurator/i18n/sl.po b/sale_variant_configurator/i18n/sl.po index 8b6b5e575..c51ec62ba 100644 --- a/sale_variant_configurator/i18n/sl.po +++ b/sale_variant_configurator/i18n/sl.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/sv.po b/sale_variant_configurator/i18n/sv.po index 07b975375..d03201550 100644 --- a/sale_variant_configurator/i18n/sv.po +++ b/sale_variant_configurator/i18n/sv.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/tr.po b/sale_variant_configurator/i18n/tr.po index a45288136..d319d1643 100644 --- a/sale_variant_configurator/i18n/tr.po +++ b/sale_variant_configurator/i18n/tr.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/tr_TR.po b/sale_variant_configurator/i18n/tr_TR.po index d26c13923..a0a464cd6 100644 --- a/sale_variant_configurator/i18n/tr_TR.po +++ b/sale_variant_configurator/i18n/tr_TR.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/vi_VN.po b/sale_variant_configurator/i18n/vi_VN.po index 6a54ec4dd..2dee7476b 100644 --- a/sale_variant_configurator/i18n/vi_VN.po +++ b/sale_variant_configurator/i18n/vi_VN.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/i18n/zh_CN.po b/sale_variant_configurator/i18n/zh_CN.po index 3bf11fddd..9af3165e3 100644 --- a/sale_variant_configurator/i18n/zh_CN.po +++ b/sale_variant_configurator/i18n/zh_CN.po @@ -6,7 +6,7 @@ # OCA Transbot , 2017 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2017-12-04 12:43+0000\n" diff --git a/sale_variant_configurator/models/__init__.py b/sale_variant_configurator/models/__init__.py index 35c6d2ff3..deea1350f 100644 --- a/sale_variant_configurator/models/__init__.py +++ b/sale_variant_configurator/models/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html from . import sale_order diff --git a/sale_variant_configurator/models/sale_order.py b/sale_variant_configurator/models/sale_order.py index ab1f8f877..aff357c9f 100644 --- a/sale_variant_configurator/models/sale_order.py +++ b/sale_variant_configurator/models/sale_order.py @@ -1,46 +1,13 @@ -# -*- coding: utf-8 -*- # © 2014-2016 Oihane Crucelaegui - AvanzOSC # © 2015-2016 Pedro M. Baeza # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html from odoo import api, fields, models -from lxml import etree class SaleOrder(models.Model): _inherit = "sale.order" - @api.model - def fields_view_get(self, view_id=None, view_type='form', toolbar=False, - submenu=False): - """Avoid to have 2 times the field product_tmpl_id, as modules like - sale_stock adds this field as invisible, so we can't trust the order - of them. We also override the modifiers to avoid a readonly field. - """ - res = super(SaleOrder, self).fields_view_get( - view_id=view_id, view_type=view_type, toolbar=toolbar, - submenu=submenu) - if view_type != 'form': - return res # pragma: no cover - if 'order_line' not in res['fields']: - return res # pragma: no cover - line_field = res['fields']['order_line'] - if 'form' not in line_field['views']: - return res # pragma: no cover - view = line_field['views']['form'] - eview = etree.fromstring(view['arch']) - fields = eview.xpath("//field[@name='product_tmpl_id']") - field_added = False - for field in fields: - if field.get('invisible') or field_added: - field.getparent().remove(field) - else: - # Remove modifiers that makes the field readonly - field.set('modifiers', "") - field_added = True - view['arch'] = etree.tostring(eview) - return res - @api.multi def action_confirm(self): product_obj = self.env['product.product'] diff --git a/sale_variant_configurator/tests/__init__.py b/sale_variant_configurator/tests/__init__.py index 79f690d7b..6f699d0d8 100644 --- a/sale_variant_configurator/tests/__init__.py +++ b/sale_variant_configurator/tests/__init__.py @@ -1,3 +1 @@ -# -*- coding: utf-8 -*- - from . import test_sale_order diff --git a/sale_variant_configurator/tests/test_sale_order.py b/sale_variant_configurator/tests/test_sale_order.py index af1bd1dc4..1c045d1f8 100644 --- a/sale_variant_configurator/tests/test_sale_order.py +++ b/sale_variant_configurator/tests/test_sale_order.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2017 David Vidal # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html From 5da821347051b0d947d9e4f6b99be6eac45920c9 Mon Sep 17 00:00:00 2001 From: cubells Date: Thu, 25 Oct 2018 08:42:37 +0200 Subject: [PATCH 07/24] [FIX] sale_variant_configurator: typo, field does not exist --- sale_variant_configurator/__manifest__.py | 2 +- sale_variant_configurator/tests/test_sale_order.py | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sale_variant_configurator/__manifest__.py b/sale_variant_configurator/__manifest__.py index 99c8fa189..8d46345d0 100644 --- a/sale_variant_configurator/__manifest__.py +++ b/sale_variant_configurator/__manifest__.py @@ -6,7 +6,7 @@ { "name": "Sale - Product variants", "summary": "Product variants in sale management", - "version": "11.0.1.0.0", + "version": "11.0.1.0.1", "license": "AGPL-3", "depends": [ "sale", diff --git a/sale_variant_configurator/tests/test_sale_order.py b/sale_variant_configurator/tests/test_sale_order.py index 1c045d1f8..fc577d80a 100644 --- a/sale_variant_configurator/tests/test_sale_order.py +++ b/sale_variant_configurator/tests/test_sale_order.py @@ -68,7 +68,7 @@ def test_onchange_product_tmpl_id(self): 'product_tmpl_id': self.product_template_yes.id, 'price_unit': 100, 'product_uom': self.product_template_yes.uom_id.id, - 'product_qty': 1, + 'product_uom_qty': 1, }) result = line1._onchange_product_tmpl_id_configurator() self.assertEqual(len(line1.product_attribute_ids), 1) @@ -80,7 +80,7 @@ def test_onchange_product_tmpl_id(self): 'order_id': sale.id, 'product_tmpl_id': self.product_template_no.id, 'product_uom': self.product_template_no.uom_id.id, - 'product_qty': 1, + 'product_uom_qty': 1, 'price_unit': 200, 'name': 'Line 2', }) @@ -102,7 +102,7 @@ def test_onchange_product_attribute_ids(self): 'product_tmpl_id': self.product_template_yes.id, 'price_unit': 0, 'name': 'Line 1', - 'product_qty': 1, + 'product_uom_qty': 1, 'product_uom': self.product_template_yes.uom_id.id, }) line._onchange_product_tmpl_id_configurator() @@ -170,7 +170,7 @@ def test_onchange_product_id(self): 'product_id': product.id, 'price_unit': 100, 'name': 'Line 1', - 'product_qty': 1, + 'product_uom_qty': 1, 'product_uom': product.uom_id.id, })] }) @@ -188,7 +188,7 @@ def test_action_confirm(self): 'product_tmpl_id': self.product_template_yes.id, 'price_unit': 100, 'name': 'Line 1', - 'product_qty': 1, + 'product_uom_qty': 1, 'product_uom': self.product_template_yes.uom_id.id, 'product_attribute_ids': [(0, 0, { 'product_tmpl_id': self.product_template_yes.id, @@ -202,7 +202,7 @@ def test_action_confirm(self): 'order_id': order.id, 'product_tmpl_id': self.product_template_no.id, 'product_uom': self.product_template_no.uom_id.id, - 'product_qty': 1, + 'product_uom_qty': 1, 'price_unit': 200, 'name': 'Line 2', 'create_product_variant': True, From 4f746a46c2a38227f39efbbfde43c2e9ba9d3e52 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Thu, 29 Nov 2018 19:58:11 +0100 Subject: [PATCH 08/24] [FIX] *_variant_configurator: don't lose attribute on save --- sale_variant_configurator/views/sale_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sale_variant_configurator/views/sale_view.xml b/sale_variant_configurator/views/sale_view.xml index d74ac8507..b3d1bd59f 100644 --- a/sale_variant_configurator/views/sale_view.xml +++ b/sale_variant_configurator/views/sale_view.xml @@ -26,7 +26,7 @@ - + From e0cfc86d834c541cd35844cfabad4a5ca7e67acc Mon Sep 17 00:00:00 2001 From: cubells Date: Wed, 5 Dec 2018 10:28:58 +0100 Subject: [PATCH 09/24] [FIX] sale_variant_configurator: attribute lines are not created --- sale_variant_configurator/__manifest__.py | 2 +- sale_variant_configurator/views/sale_view.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sale_variant_configurator/__manifest__.py b/sale_variant_configurator/__manifest__.py index 8d46345d0..2f0ce98b7 100644 --- a/sale_variant_configurator/__manifest__.py +++ b/sale_variant_configurator/__manifest__.py @@ -6,7 +6,7 @@ { "name": "Sale - Product variants", "summary": "Product variants in sale management", - "version": "11.0.1.0.1", + "version": "11.0.1.1.0", "license": "AGPL-3", "depends": [ "sale", diff --git a/sale_variant_configurator/views/sale_view.xml b/sale_variant_configurator/views/sale_view.xml index b3d1bd59f..67b3c49b4 100644 --- a/sale_variant_configurator/views/sale_view.xml +++ b/sale_variant_configurator/views/sale_view.xml @@ -29,7 +29,7 @@ - + From f926c39b9d3908bb5e7911ac38b88f38e811caac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20L=2E=20S=2E=20A?= Date: Wed, 12 Dec 2018 09:54:42 +0300 Subject: [PATCH 10/24] [11.0][FIX] Filter products according to the view - saleable products for Sale Orders. - purchable products for Purchase Orders. --- sale_variant_configurator/__manifest__.py | 2 +- sale_variant_configurator/views/sale_view.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sale_variant_configurator/__manifest__.py b/sale_variant_configurator/__manifest__.py index 2f0ce98b7..c97522bb2 100644 --- a/sale_variant_configurator/__manifest__.py +++ b/sale_variant_configurator/__manifest__.py @@ -6,7 +6,7 @@ { "name": "Sale - Product variants", "summary": "Product variants in sale management", - "version": "11.0.1.1.0", + "version": "11.0.1.2.0", "license": "AGPL-3", "depends": [ "sale", diff --git a/sale_variant_configurator/views/sale_view.xml b/sale_variant_configurator/views/sale_view.xml index 67b3c49b4..250fc03e0 100644 --- a/sale_variant_configurator/views/sale_view.xml +++ b/sale_variant_configurator/views/sale_view.xml @@ -18,7 +18,7 @@ - + From 78ef6ead8c43ac54a3c9e8f9d37d50129f316cfc Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Wed, 30 Jan 2019 22:24:18 +0100 Subject: [PATCH 11/24] [FIX] sale_variant_configurator: Proper SO line description Depending on the onchange order loaded in runtime, description put in the SO line might be the one got from the regular way. With this, we assure we get the proper description, and also in the partner language (using the trick with the partner field). --- sale_variant_configurator/models/sale_order.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sale_variant_configurator/models/sale_order.py b/sale_variant_configurator/models/sale_order.py index aff357c9f..48eb35c72 100644 --- a/sale_variant_configurator/models/sale_order.py +++ b/sale_variant_configurator/models/sale_order.py @@ -33,6 +33,12 @@ class SaleOrderLine(models.Model): product_tmpl_id = fields.Many2one(store=True, readonly=False, related=False) product_id = fields.Many2one(required=False) + # this is for getting the proper language for product description + partner_id = fields.Many2one( + comodel_name='res.partner', + related='order_id.partner_id', + readonly=True, + ) @api.onchange('product_tmpl_id') def _onchange_product_tmpl_id_configurator(self): @@ -77,6 +83,15 @@ def _onchange_product_tmpl_id_configurator(self): ) return res + @api.onchange('product_id') + def product_id_change(self): + """Call again the configurator onchange after this main onchange + for making sure the SO line description is correct. + """ + res = super().product_id_change() + self._onchange_product_id_configurator() + return res + def _update_price_configurator(self): """If there are enough data (template, pricelist & partner), check new price and update line if different. From 3e5f4ed511ee22db0afdb65712126a847f201fa1 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Wed, 30 Jan 2019 23:00:10 +0100 Subject: [PATCH 12/24] [FIX] sale_variant_configurator: Don't lose sales description --- sale_variant_configurator/models/sale_order.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sale_variant_configurator/models/sale_order.py b/sale_variant_configurator/models/sale_order.py index 48eb35c72..22728fb49 100644 --- a/sale_variant_configurator/models/sale_order.py +++ b/sale_variant_configurator/models/sale_order.py @@ -42,8 +42,7 @@ class SaleOrderLine(models.Model): @api.onchange('product_tmpl_id') def _onchange_product_tmpl_id_configurator(self): - obj = super(SaleOrderLine, self) - res = obj._onchange_product_tmpl_id_configurator() + res = super()._onchange_product_tmpl_id_configurator() if self.product_tmpl_id.attribute_line_ids: domain = res.setdefault('domain', {}) domain['product_uom'] = [ @@ -72,7 +71,7 @@ def _onchange_product_tmpl_id_configurator(self): pricelist=self.order_id.pricelist_id.id, uom=self.product_uom.id, ) - # TODO: Check why this is reset + # product_configurator methods don't take into account this description if product_tmpl.description_sale: self.name = ( (self.name or '') + '\n' + product_tmpl.description_sale @@ -90,6 +89,11 @@ def product_id_change(self): """ res = super().product_id_change() self._onchange_product_id_configurator() + # product_configurator methods don't take into account this description + if self.product_id.description_sale: + self.name = ( + (self.name or '') + '\n' + self.product_id.description_sale + ) return res def _update_price_configurator(self): From d45a96451f7b73c73b059e3f71143bf09b332877 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Fri, 1 Feb 2019 01:47:24 +0100 Subject: [PATCH 13/24] [FIX+IMP] sale_variant_configurator: Variant creation when confirmed * Use generic method for creating the variant if needed * Create the variant when the sales is already confirmed --- .../models/sale_order.py | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/sale_variant_configurator/models/sale_order.py b/sale_variant_configurator/models/sale_order.py index 22728fb49..db3ec3492 100644 --- a/sale_variant_configurator/models/sale_order.py +++ b/sale_variant_configurator/models/sale_order.py @@ -10,19 +10,12 @@ class SaleOrder(models.Model): @api.multi def action_confirm(self): - product_obj = self.env['product.product'] - lines = self.mapped('order_line').filtered(lambda x: not x.product_id) - for line in lines: - product = product_obj._product_find( - line.product_tmpl_id, line.product_attribute_ids, - ) - if not product: - values = line.product_attribute_ids.mapped('value_id') - product = product_obj.create({ - 'product_tmpl_id': line.product_tmpl_id.id, - 'attribute_value_ids': [(6, 0, values.ids)], - }) - line.write({'product_id': product.id}) + """Create possible product variants not yet created.""" + lines_without_product = self.mapped('order_line').filtered( + lambda x: not x.product_id and x.product_tmpl_id + ) + for line in lines_without_product: + line.create_variant_if_needed() super(SaleOrder, self).action_confirm() @@ -40,6 +33,19 @@ class SaleOrderLine(models.Model): readonly=True, ) + @api.model + def create(self, vals): + """Create product if not exist when the sales order is already + confirmed and a line is added. + """ + if vals.get('order_id') and not vals.get('product_id'): + order = self.env['sale.order'].browse(vals['order_id']) + if order.state == 'sale': + line = self.new(vals) + product = line.create_variant_if_needed() + vals['product_id'] = product.id + return super().create(vals) + @api.onchange('product_tmpl_id') def _onchange_product_tmpl_id_configurator(self): res = super()._onchange_product_tmpl_id_configurator() From 6e6b05e971a74243a3a88300a11b2250e27bacf9 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Tue, 26 Feb 2019 16:44:51 +0100 Subject: [PATCH 14/24] [FIX] sale_variant_configurator: Return value in action_confirm --- sale_variant_configurator/models/sale_order.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sale_variant_configurator/models/sale_order.py b/sale_variant_configurator/models/sale_order.py index db3ec3492..796240f61 100644 --- a/sale_variant_configurator/models/sale_order.py +++ b/sale_variant_configurator/models/sale_order.py @@ -16,7 +16,7 @@ def action_confirm(self): ) for line in lines_without_product: line.create_variant_if_needed() - super(SaleOrder, self).action_confirm() + return super(SaleOrder, self).action_confirm() class SaleOrderLine(models.Model): From 31cc5fc10d19af91b802a4f86eeb9b653cdd4abb Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 3 Apr 2019 03:13:49 +0000 Subject: [PATCH 15/24] [ADD] icon.png --- sale_variant_configurator/i18n/ca.po | 7 ++++++- sale_variant_configurator/i18n/de.po | 7 ++++++- sale_variant_configurator/i18n/es.po | 7 ++++++- sale_variant_configurator/i18n/es_AR.po | 7 ++++++- sale_variant_configurator/i18n/es_CR.po | 7 ++++++- sale_variant_configurator/i18n/es_MX.po | 7 ++++++- sale_variant_configurator/i18n/es_VE.po | 7 ++++++- sale_variant_configurator/i18n/fi.po | 7 ++++++- sale_variant_configurator/i18n/fr.po | 7 ++++++- sale_variant_configurator/i18n/fr_CH.po | 7 ++++++- sale_variant_configurator/i18n/gl.po | 7 ++++++- sale_variant_configurator/i18n/hr.po | 12 ++++++++++-- sale_variant_configurator/i18n/hr_HR.po | 7 ++++++- sale_variant_configurator/i18n/hu.po | 7 ++++++- sale_variant_configurator/i18n/it.po | 12 ++++++++++-- sale_variant_configurator/i18n/mk.po | 7 ++++++- sale_variant_configurator/i18n/mn.po | 7 ++++++- sale_variant_configurator/i18n/nl.po | 7 ++++++- sale_variant_configurator/i18n/nl_NL.po | 7 ++++++- sale_variant_configurator/i18n/pl.po | 7 ++++++- sale_variant_configurator/i18n/pt.po | 7 ++++++- sale_variant_configurator/i18n/pt_BR.po | 7 ++++++- sale_variant_configurator/i18n/pt_PT.po | 7 ++++++- sale_variant_configurator/i18n/ro.po | 7 ++++++- sale_variant_configurator/i18n/ru.po | 7 ++++++- .../i18n/sale_variant_configurator.pot | 7 ++++++- sale_variant_configurator/i18n/sl.po | 7 ++++++- sale_variant_configurator/i18n/sv.po | 7 ++++++- sale_variant_configurator/i18n/tr.po | 7 ++++++- sale_variant_configurator/i18n/tr_TR.po | 7 ++++++- sale_variant_configurator/i18n/vi_VN.po | 7 ++++++- sale_variant_configurator/i18n/zh_CN.po | 7 ++++++- .../static/description/icon.png | Bin 0 -> 9455 bytes 33 files changed, 200 insertions(+), 34 deletions(-) create mode 100644 sale_variant_configurator/static/description/icon.png diff --git a/sale_variant_configurator/i18n/ca.po b/sale_variant_configurator/i18n/ca.po index 4b89f2447..9c148b8c1 100644 --- a/sale_variant_configurator/i18n/ca.po +++ b/sale_variant_configurator/i18n/ca.po @@ -18,6 +18,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -25,7 +30,7 @@ msgstr "Plantilla del producte" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/de.po b/sale_variant_configurator/i18n/de.po index dda7c9f31..edba59e6a 100644 --- a/sale_variant_configurator/i18n/de.po +++ b/sale_variant_configurator/i18n/de.po @@ -18,6 +18,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -25,7 +30,7 @@ msgstr "Produktvorlage" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/es.po b/sale_variant_configurator/i18n/es.po index de01a21e0..1ad962c07 100644 --- a/sale_variant_configurator/i18n/es.po +++ b/sale_variant_configurator/i18n/es.po @@ -18,6 +18,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -25,7 +30,7 @@ msgstr "Plantilla producto" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/es_AR.po b/sale_variant_configurator/i18n/es_AR.po index 3bed4aaf8..98a6508bc 100644 --- a/sale_variant_configurator/i18n/es_AR.po +++ b/sale_variant_configurator/i18n/es_AR.po @@ -19,6 +19,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -26,7 +31,7 @@ msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/es_CR.po b/sale_variant_configurator/i18n/es_CR.po index 8e9ad6b9f..b9b1c5800 100644 --- a/sale_variant_configurator/i18n/es_CR.po +++ b/sale_variant_configurator/i18n/es_CR.po @@ -19,6 +19,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -26,7 +31,7 @@ msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/es_MX.po b/sale_variant_configurator/i18n/es_MX.po index 5dea29834..765715582 100644 --- a/sale_variant_configurator/i18n/es_MX.po +++ b/sale_variant_configurator/i18n/es_MX.po @@ -19,6 +19,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -26,7 +31,7 @@ msgstr "Plantilla del producto" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/es_VE.po b/sale_variant_configurator/i18n/es_VE.po index b6d4aa472..024d696b6 100644 --- a/sale_variant_configurator/i18n/es_VE.po +++ b/sale_variant_configurator/i18n/es_VE.po @@ -19,6 +19,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -26,7 +31,7 @@ msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/fi.po b/sale_variant_configurator/i18n/fi.po index 4ea8bb407..803ea8ef6 100644 --- a/sale_variant_configurator/i18n/fi.po +++ b/sale_variant_configurator/i18n/fi.po @@ -18,6 +18,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -25,7 +30,7 @@ msgstr "Tuotteen malli" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/fr.po b/sale_variant_configurator/i18n/fr.po index 26d58c652..2c5527903 100644 --- a/sale_variant_configurator/i18n/fr.po +++ b/sale_variant_configurator/i18n/fr.po @@ -18,6 +18,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -25,7 +30,7 @@ msgstr "Modèle de produit" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/fr_CH.po b/sale_variant_configurator/i18n/fr_CH.po index d89636ac4..762d38dcc 100644 --- a/sale_variant_configurator/i18n/fr_CH.po +++ b/sale_variant_configurator/i18n/fr_CH.po @@ -19,6 +19,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -26,7 +31,7 @@ msgstr "Template de produit" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/gl.po b/sale_variant_configurator/i18n/gl.po index a37507e53..66885941f 100644 --- a/sale_variant_configurator/i18n/gl.po +++ b/sale_variant_configurator/i18n/gl.po @@ -18,6 +18,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -25,7 +30,7 @@ msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/hr.po b/sale_variant_configurator/i18n/hr.po index 54ea326a1..73c1cfe78 100644 --- a/sale_variant_configurator/i18n/hr.po +++ b/sale_variant_configurator/i18n/hr.po @@ -20,6 +20,11 @@ msgstr "" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -27,8 +32,8 @@ msgstr "Predložak proizvoda" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" -msgstr "Ponuda " +msgid "Quotation" +msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order_line @@ -39,3 +44,6 @@ msgstr "Stavka ponude" #: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Predložak" + +#~ msgid "Sales Order" +#~ msgstr "Ponuda " diff --git a/sale_variant_configurator/i18n/hr_HR.po b/sale_variant_configurator/i18n/hr_HR.po index 8d9b0577a..ece784fe0 100644 --- a/sale_variant_configurator/i18n/hr_HR.po +++ b/sale_variant_configurator/i18n/hr_HR.po @@ -20,6 +20,11 @@ msgstr "" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -27,7 +32,7 @@ msgstr "Predložak proizvoda" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/hu.po b/sale_variant_configurator/i18n/hu.po index 1c0be90c9..42a2702ad 100644 --- a/sale_variant_configurator/i18n/hu.po +++ b/sale_variant_configurator/i18n/hu.po @@ -18,6 +18,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -25,7 +30,7 @@ msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/it.po b/sale_variant_configurator/i18n/it.po index 1d52b3c55..cf1f53b63 100644 --- a/sale_variant_configurator/i18n/it.po +++ b/sale_variant_configurator/i18n/it.po @@ -19,6 +19,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -26,8 +31,8 @@ msgstr "Template Prodotto" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" -msgstr "Ordine di Vendita" +msgid "Quotation" +msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order_line @@ -38,3 +43,6 @@ msgstr "Linea d'ordine di vendita" #: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Modello" + +#~ msgid "Sales Order" +#~ msgstr "Ordine di Vendita" diff --git a/sale_variant_configurator/i18n/mk.po b/sale_variant_configurator/i18n/mk.po index 4d9de8b44..609278e67 100644 --- a/sale_variant_configurator/i18n/mk.po +++ b/sale_variant_configurator/i18n/mk.po @@ -18,6 +18,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -25,7 +30,7 @@ msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/mn.po b/sale_variant_configurator/i18n/mn.po index 8bebde8a8..48e5c08ab 100644 --- a/sale_variant_configurator/i18n/mn.po +++ b/sale_variant_configurator/i18n/mn.po @@ -18,6 +18,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -25,7 +30,7 @@ msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/nl.po b/sale_variant_configurator/i18n/nl.po index 23443665f..39b4e98e7 100644 --- a/sale_variant_configurator/i18n/nl.po +++ b/sale_variant_configurator/i18n/nl.po @@ -18,6 +18,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -25,7 +30,7 @@ msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/nl_NL.po b/sale_variant_configurator/i18n/nl_NL.po index d203f44e2..80f39f7d6 100644 --- a/sale_variant_configurator/i18n/nl_NL.po +++ b/sale_variant_configurator/i18n/nl_NL.po @@ -19,6 +19,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -26,7 +31,7 @@ msgstr "Productsjabloon" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/pl.po b/sale_variant_configurator/i18n/pl.po index 6ea825e6c..9be3689e3 100644 --- a/sale_variant_configurator/i18n/pl.po +++ b/sale_variant_configurator/i18n/pl.po @@ -20,6 +20,11 @@ msgstr "" "%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n" "%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -27,7 +32,7 @@ msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/pt.po b/sale_variant_configurator/i18n/pt.po index 9e50ee167..11093dbb2 100644 --- a/sale_variant_configurator/i18n/pt.po +++ b/sale_variant_configurator/i18n/pt.po @@ -18,6 +18,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -25,7 +30,7 @@ msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/pt_BR.po b/sale_variant_configurator/i18n/pt_BR.po index b199e6b8b..439ae2f0c 100644 --- a/sale_variant_configurator/i18n/pt_BR.po +++ b/sale_variant_configurator/i18n/pt_BR.po @@ -19,6 +19,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -26,7 +31,7 @@ msgstr "Modelo Produto" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/pt_PT.po b/sale_variant_configurator/i18n/pt_PT.po index 0e3c0149b..c6cb15b0b 100644 --- a/sale_variant_configurator/i18n/pt_PT.po +++ b/sale_variant_configurator/i18n/pt_PT.po @@ -19,6 +19,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -26,7 +31,7 @@ msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/ro.po b/sale_variant_configurator/i18n/ro.po index c23e64151..a51dcd329 100644 --- a/sale_variant_configurator/i18n/ro.po +++ b/sale_variant_configurator/i18n/ro.po @@ -19,6 +19,11 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" "2:1));\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -26,7 +31,7 @@ msgstr "Produs șablon" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/ru.po b/sale_variant_configurator/i18n/ru.po index 60a02bfb6..b826fdbe2 100644 --- a/sale_variant_configurator/i18n/ru.po +++ b/sale_variant_configurator/i18n/ru.po @@ -20,6 +20,11 @@ msgstr "" "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" "%100>=11 && n%100<=14)? 2 : 3);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -27,7 +32,7 @@ msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/sale_variant_configurator.pot b/sale_variant_configurator/i18n/sale_variant_configurator.pot index 4c4ca100a..4371974b4 100644 --- a/sale_variant_configurator/i18n/sale_variant_configurator.pot +++ b/sale_variant_configurator/i18n/sale_variant_configurator.pot @@ -13,6 +13,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -20,7 +25,7 @@ msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/sl.po b/sale_variant_configurator/i18n/sl.po index c51ec62ba..fe229dc3f 100644 --- a/sale_variant_configurator/i18n/sl.po +++ b/sale_variant_configurator/i18n/sl.po @@ -19,6 +19,11 @@ msgstr "" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" "%100==4 ? 2 : 3);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -26,7 +31,7 @@ msgstr "Predloga proizvoda" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/sv.po b/sale_variant_configurator/i18n/sv.po index d03201550..da7d3d7df 100644 --- a/sale_variant_configurator/i18n/sv.po +++ b/sale_variant_configurator/i18n/sv.po @@ -18,6 +18,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -25,7 +30,7 @@ msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/tr.po b/sale_variant_configurator/i18n/tr.po index d319d1643..6dc8fa0ac 100644 --- a/sale_variant_configurator/i18n/tr.po +++ b/sale_variant_configurator/i18n/tr.po @@ -18,6 +18,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -25,7 +30,7 @@ msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/tr_TR.po b/sale_variant_configurator/i18n/tr_TR.po index a0a464cd6..1e9fc6711 100644 --- a/sale_variant_configurator/i18n/tr_TR.po +++ b/sale_variant_configurator/i18n/tr_TR.po @@ -19,6 +19,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=1; plural=0;\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -26,7 +31,7 @@ msgstr "Ürün şablonu" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/vi_VN.po b/sale_variant_configurator/i18n/vi_VN.po index 2dee7476b..0a2eefd46 100644 --- a/sale_variant_configurator/i18n/vi_VN.po +++ b/sale_variant_configurator/i18n/vi_VN.po @@ -19,6 +19,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=1; plural=0;\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -26,7 +31,7 @@ msgstr "Mẫu sản phẩm" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/i18n/zh_CN.po b/sale_variant_configurator/i18n/zh_CN.po index 9af3165e3..3ccaf8242 100644 --- a/sale_variant_configurator/i18n/zh_CN.po +++ b/sale_variant_configurator/i18n/zh_CN.po @@ -19,6 +19,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=1; plural=0;\n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id +msgid "Customer" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" @@ -26,7 +31,7 @@ msgstr "产品模板" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Sales Order" +msgid "Quotation" msgstr "" #. module: sale_variant_configurator diff --git a/sale_variant_configurator/static/description/icon.png b/sale_variant_configurator/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 zcmW++2RxMjAAjx~&dlBk9S+%}OXg)AGE&Cb*&}d0jUxM@u(PQx^-s)697TX`ehR4?GS^qbkof1cslKgkU)h65qZ9Oc=ml_0temigYLJfnz{IDzUf>bGs4N!v3=Z3jMq&A#7%rM5eQ#dc?k~! zVpnB`o+K7|Al`Q_U;eD$B zfJtP*jH`siUq~{KE)`jP2|#TUEFGRryE2`i0**z#*^6~AI|YzIWy$Cu#CSLW3q=GA z6`?GZymC;dCPk~rBS%eCb`5OLr;RUZ;D`}um=H)BfVIq%7VhiMr)_#G0N#zrNH|__ zc+blN2UAB0=617@>_u;MPHN;P;N#YoE=)R#i$k_`UAA>WWCcEVMh~L_ zj--gtp&|K1#58Yz*AHCTMziU1Jzt_jG0I@qAOHsk$2}yTmVkBp_eHuY$A9)>P6o~I z%aQ?!(GqeQ-Y+b0I(m9pwgi(IIZZzsbMv+9w{PFtd_<_(LA~0H(xz{=FhLB@(1&qHA5EJw1>>=%q2f&^X>IQ{!GJ4e9U z&KlB)z(84HmNgm2hg2C0>WM{E(DdPr+EeU_N@57;PC2&DmGFW_9kP&%?X4}+xWi)( z;)z%wI5>D4a*5XwD)P--sPkoY(a~WBw;E~AW`Yue4kFa^LM3X`8x|}ZUeMnqr}>kH zG%WWW>3ml$Yez?i%)2pbKPI7?5o?hydokgQyZsNEr{a|mLdt;X2TX(#B1j35xPnPW z*bMSSOauW>o;*=kO8ojw91VX!qoOQb)zHJ!odWB}d+*K?#sY_jqPdg{Sm2HdYzdEx zOGVPhVRTGPtv0o}RfVP;Nd(|CB)I;*t&QO8h zFfekr30S!-LHmV_Su-W+rEwYXJ^;6&3|L$mMC8*bQptyOo9;>Qb9Q9`ySe3%V$A*9 zeKEe+b0{#KWGp$F+tga)0RtI)nhMa-K@JS}2krK~n8vJ=Ngm?R!9G<~RyuU0d?nz# z-5EK$o(!F?hmX*2Yt6+coY`6jGbb7tF#6nHA zuKk=GGJ;ZwON1iAfG$E#Y7MnZVmrY|j0eVI(DN_MNFJmyZ|;w4tf@=CCDZ#5N_0K= z$;R~bbk?}TpfDjfB&aiQ$VA}s?P}xPERJG{kxk5~R`iRS(SK5d+Xs9swCozZISbnS zk!)I0>t=A<-^z(cmSFz3=jZ23u13X><0b)P)^1T_))Kr`e!-pb#q&J*Q`p+B6la%C zuVl&0duN<;uOsB3%T9Fp8t{ED108<+W(nOZd?gDnfNBC3>M8WE61$So|P zVvqH0SNtDTcsUdzaMDpT=Ty0pDHHNL@Z0w$Y`XO z2M-_r1S+GaH%pz#Uy0*w$Vdl=X=rQXEzO}d6J^R6zjM1u&c9vYLvLp?W7w(?np9x1 zE_0JSAJCPB%i7p*Wvg)pn5T`8k3-uR?*NT|J`eS#_#54p>!p(mLDvmc-3o0mX*mp_ zN*AeS<>#^-{S%W<*mz^!X$w_2dHWpcJ6^j64qFBft-o}o_Vx80o0>}Du;>kLts;$8 zC`7q$QI(dKYG`Wa8#wl@V4jVWBRGQ@1dr-hstpQL)Tl+aqVpGpbSfN>5i&QMXfiZ> zaA?T1VGe?rpQ@;+pkrVdd{klI&jVS@I5_iz!=UMpTsa~mBga?1r}aRBm1WS;TT*s0f0lY=JBl66Upy)-k4J}lh=P^8(SXk~0xW=T9v*B|gzIhN z>qsO7dFd~mgxAy4V?&)=5ieYq?zi?ZEoj)&2o)RLy=@hbCRcfT5jigwtQGE{L*8<@Yd{zg;CsL5mvzfDY}P-wos_6PfprFVaeqNE%h zKZhLtcQld;ZD+>=nqN~>GvROfueSzJD&BE*}XfU|H&(FssBqY=hPCt`d zH?@s2>I(|;fcW&YM6#V#!kUIP8$Nkdh0A(bEVj``-AAyYgwY~jB zT|I7Bf@%;7aL7Wf4dZ%VqF$eiaC38OV6oy3Z#TER2G+fOCd9Iaoy6aLYbPTN{XRPz z;U!V|vBf%H!}52L2gH_+j;`bTcQRXB+y9onc^wLm5wi3-Be}U>k_u>2Eg$=k!(l@I zcCg+flakT2Nej3i0yn+g+}%NYb?ta;R?(g5SnwsQ49U8Wng8d|{B+lyRcEDvR3+`O{zfmrmvFrL6acVP%yG98X zo&+VBg@px@i)%o?dG(`T;n*$S5*rnyiR#=wW}}GsAcfyQpE|>a{=$Hjg=-*_K;UtD z#z-)AXwSRY?OPefw^iI+ z)AXz#PfEjlwTes|_{sB?4(O@fg0AJ^g8gP}ex9Ucf*@_^J(s_5jJV}c)s$`Myn|Kd z$6>}#q^n{4vN@+Os$m7KV+`}c%4)4pv@06af4-x5#wj!KKb%caK{A&Y#Rfs z-po?Dcb1({W=6FKIUirH&(yg=*6aLCekcKwyfK^JN5{wcA3nhO(o}SK#!CINhI`-I z1)6&n7O&ZmyFMuNwvEic#IiOAwNkR=u5it{B9n2sAJV5pNhar=j5`*N!Na;c7g!l$ z3aYBqUkqqTJ=Re-;)s!EOeij=7SQZ3Hq}ZRds%IM*PtM$wV z@;rlc*NRK7i3y5BETSKuumEN`Xu_8GP1Ri=OKQ$@I^ko8>H6)4rjiG5{VBM>B|%`&&s^)jS|-_95&yc=GqjNo{zFkw%%HHhS~e=s zD#sfS+-?*t|J!+ozP6KvtOl!R)@@-z24}`9{QaVLD^9VCSR2b`b!KC#o;Ki<+wXB6 zx3&O0LOWcg4&rv4QG0)4yb}7BFSEg~=IR5#ZRj8kg}dS7_V&^%#Do==#`u zpy6{ox?jWuR(;pg+f@mT>#HGWHAJRRDDDv~@(IDw&R>9643kK#HN`!1vBJHnC+RM&yIh8{gG2q zA%e*U3|N0XSRa~oX-3EAneep)@{h2vvd3Xvy$7og(sayr@95+e6~Xvi1tUqnIxoIH zVWo*OwYElb#uyW{Imam6f2rGbjR!Y3`#gPqkv57dB6K^wRGxc9B(t|aYDGS=m$&S!NmCtrMMaUg(c zc2qC=2Z`EEFMW-me5B)24AqF*bV5Dr-M5ig(l-WPS%CgaPzs6p_gnCIvTJ=Y<6!gT zVt@AfYCzjjsMEGi=rDQHo0yc;HqoRNnNFeWZgcm?f;cp(6CNylj36DoL(?TS7eU#+ z7&mfr#y))+CJOXQKUMZ7QIdS9@#-}7y2K1{8)cCt0~-X0O!O?Qx#E4Og+;A2SjalQ zs7r?qn0H044=sDN$SRG$arw~n=+T_DNdSrarmu)V6@|?1-ZB#hRn`uilTGPJ@fqEy zGt(f0B+^JDP&f=r{#Y_wi#AVDf-y!RIXU^0jXsFpf>=Ji*TeqSY!H~AMbJdCGLhC) zn7Rx+sXw6uYj;WRYrLd^5IZq@6JI1C^YkgnedZEYy<&4(z%Q$5yv#Boo{AH8n$a zhb4Y3PWdr269&?V%uI$xMcUrMzl=;w<_nm*qr=c3Rl@i5wWB;e-`t7D&c-mcQl7x! zZWB`UGcw=Y2=}~wzrfLx=uet<;m3~=8I~ZRuzvMQUQdr+yTV|ATf1Uuomr__nDf=X zZ3WYJtHp_ri(}SQAPjv+Y+0=fH4krOP@S&=zZ-t1jW1o@}z;xk8 z(Nz1co&El^HK^NrhVHa-_;&88vTU>_J33=%{if;BEY*J#1n59=07jrGQ#IP>@u#3A z;!q+E1Rj3ZJ+!4bq9F8PXJ@yMgZL;>&gYA0%_Kbi8?S=XGM~dnQZQ!yBSgcZhY96H zrWnU;k)qy`rX&&xlDyA%(a1Hhi5CWkmg(`Gb%m(HKi-7Z!LKGRP_B8@`7&hdDy5n= z`OIxqxiVfX@OX1p(mQu>0Ai*v_cTMiw4qRt3~NBvr9oBy0)r>w3p~V0SCm=An6@3n)>@z!|o-$HvDK z|3D2ZMJkLE5loMKl6R^ez@Zz%S$&mbeoqH5`Bb){Ei21q&VP)hWS2tjShfFtGE+$z zzCR$P#uktu+#!w)cX!lWN1XU%K-r=s{|j?)Akf@q#3b#{6cZCuJ~gCxuMXRmI$nGtnH+-h z+GEi!*X=AP<|fG`1>MBdTb?28JYc=fGvAi2I<$B(rs$;eoJCyR6_bc~p!XR@O-+sD z=eH`-ye})I5ic1eL~TDmtfJ|8`0VJ*Yr=hNCd)G1p2MMz4C3^Mj?7;!w|Ly%JqmuW zlIEW^Ft%z?*|fpXda>Jr^1noFZEwFgVV%|*XhH@acv8rdGxeEX{M$(vG{Zw+x(ei@ zmfXb22}8-?Fi`vo-YVrTH*C?a8%M=Hv9MqVH7H^J$KsD?>!SFZ;ZsvnHr_gn=7acz z#W?0eCdVhVMWN12VV^$>WlQ?f;P^{(&pYTops|btm6aj>_Uz+hqpGwB)vWp0Cf5y< zft8-je~nn?W11plq}N)4A{l8I7$!ks_x$PXW-2XaRFswX_BnF{R#6YIwMhAgd5F9X zGmwdadS6(a^fjHtXg8=l?Rc0Sm%hk6E9!5cLVloEy4eh(=FwgP`)~I^5~pBEWo+F6 zSf2ncyMurJN91#cJTy_u8Y}@%!bq1RkGC~-bV@SXRd4F{R-*V`bS+6;W5vZ(&+I<9$;-V|eNfLa5n-6% z2(}&uGRF;p92eS*sE*oR$@pexaqr*meB)VhmIg@h{uzkk$9~qh#cHhw#>O%)b@+(| z^IQgqzuj~Sk(J;swEM-3TrJAPCq9k^^^`q{IItKBRXYe}e0Tdr=Huf7da3$l4PdpwWDop%^}n;dD#K4s#DYA8SHZ z&1!riV4W4R7R#C))JH1~axJ)RYnM$$lIR%6fIVA@zV{XVyx}C+a-Dt8Y9M)^KU0+H zR4IUb2CJ{Hg>CuaXtD50jB(_Tcx=Z$^WYu2u5kubqmwp%drJ6 z?Fo40g!Qd<-l=TQxqHEOuPX0;^z7iX?Ke^a%XT<13TA^5`4Xcw6D@Ur&VT&CUe0d} z1GjOVF1^L@>O)l@?bD~$wzgf(nxX1OGD8fEV?TdJcZc2KoUe|oP1#=$$7ee|xbY)A zDZq+cuTpc(fFdj^=!;{k03C69lMQ(|>uhRfRu%+!k&YOi-3|1QKB z z?n?eq1XP>p-IM$Z^C;2L3itnbJZAip*Zo0aw2bs8@(s^~*8T9go!%dHcAz2lM;`yp zD=7&xjFV$S&5uDaiScyD?B-i1ze`+CoRtz`Wn+Zl&#s4&}MO{@N!ufrzjG$B79)Y2d3tBk&)TxUTw@QS0TEL_?njX|@vq?Uz(nBFK5Pq7*xj#u*R&i|?7+6# z+|r_n#SW&LXhtheZdah{ZVoqwyT{D>MC3nkFF#N)xLi{p7J1jXlmVeb;cP5?e(=f# zuT7fvjSbjS781v?7{)-X3*?>tq?)Yd)~|1{BDS(pqC zC}~H#WXlkUW*H5CDOo<)#x7%RY)A;ShGhI5s*#cRDA8YgqG(HeKDx+#(ZQ?386dv! zlXCO)w91~Vw4AmOcATuV653fa9R$fyK8ul%rG z-wfS zihugoZyr38Im?Zuh6@RcF~t1anQu7>#lPpb#}4cOA!EM11`%f*07RqOVkmX{p~KJ9 z^zP;K#|)$`^Rb{rnHGH{~>1(fawV0*Z#)}M`m8-?ZJV<+e}s9wE# z)l&az?w^5{)`S(%MRzxdNqrs1n*-=jS^_jqE*5XDrA0+VE`5^*p3CuM<&dZEeCjoz zR;uu_H9ZPZV|fQq`Cyw4nscrVwi!fE6ciMmX$!_hN7uF;jjKG)d2@aC4ropY)8etW=xJvni)8eHi`H$%#zn^WJ5NLc-rqk|u&&4Z6fD_m&JfSI1Bvb?b<*n&sfl0^t z=HnmRl`XrFvMKB%9}>PaA`m-fK6a0(8=qPkWS5bb4=v?XcWi&hRY?O5HdulRi4?fN zlsJ*N-0Qw+Yic@s0(2uy%F@ib;GjXt01Fmx5XbRo6+n|pP(&nodMoap^z{~q ziEeaUT@Mxe3vJSfI6?uLND(CNr=#^W<1b}jzW58bIfyWTDle$mmS(|x-0|2UlX+9k zQ^EX7Nw}?EzVoBfT(-LT|=9N@^hcn-_p&sqG z&*oVs2JSU+N4ZD`FhCAWaS;>|wH2G*Id|?pa#@>tyxX`+4HyIArWDvVrX)2WAOQff z0qyHu&-S@i^MS-+j--!pr4fPBj~_8({~e1bfcl0wI1kaoN>mJL6KUPQm5N7lB(ui1 zE-o%kq)&djzWJ}ob<-GfDlkB;F31j-VHKvQUGQ3sp`CwyGJk_i!y^sD0fqC@$9|jO zOqN!r!8-p==F@ZVP=U$qSpY(gQ0)59P1&t@y?5rvg<}E+GB}26NYPp4f2YFQrQtot5mn3wu_qprZ=>Ig-$ zbW26Ws~IgY>}^5w`vTB(G`PTZaDiGBo5o(tp)qli|NeV( z@H_=R8V39rt5J5YB2Ky?4eJJ#b`_iBe2ot~6%7mLt5t8Vwi^Jy7|jWXqa3amOIoRb zOr}WVFP--DsS`1WpN%~)t3R!arKF^Q$e12KEqU36AWwnCBICpH4XCsfnyrHr>$I$4 z!DpKX$OKLWarN7nv@!uIA+~RNO)l$$w}p(;b>mx8pwYvu;dD_unryX_NhT8*Tj>BTrTTL&!?O+%Rv;b?B??gSzdp?6Uug9{ zd@V08Z$BdI?fpoCS$)t4mg4rT8Q_I}h`0d-vYZ^|dOB*Q^S|xqTV*vIg?@fVFSmMpaw0qtTRbx} z({Pg?#{2`sc9)M5N$*N|4;^t$+QP?#mov zGVC@I*lBVrOU-%2y!7%)fAKjpEFsgQc4{amtiHb95KQEwvf<(3T<9-Zm$xIew#P22 zc2Ix|App^>v6(3L_MCU0d3W##AB0M~3D00EWoKZqsJYT(#@w$Y_H7G22M~ApVFTRHMI_3be)Lkn#0F*V8Pq zc}`Cjy$bE;FJ6H7p=0y#R>`}-m4(0F>%@P|?7fx{=R^uFdISRnZ2W_xQhD{YuR3t< z{6yxu=4~JkeA;|(J6_nv#>Nvs&FuLA&PW^he@t(UwFFE8)|a!R{`E`K`i^ZnyE4$k z;(749Ix|oi$c3QbEJ3b~D_kQsPz~fIUKym($a_7dJ?o+40*OLl^{=&oq$<#Q(yyrp z{J-FAniyAw9tPbe&IhQ|a`DqFTVQGQ&Gq3!C2==4x{6EJwiPZ8zub-iXoUtkJiG{} zPaR&}_fn8_z~(=;5lD-aPWD3z8PZS@AaUiomF!G8I}Mf>e~0g#BelA-5#`cj;O5>N Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 From 4c6f0e5a5d9836548d4d6df32008f9019726d84a Mon Sep 17 00:00:00 2001 From: Alexandre Fayolle Date: Mon, 10 Feb 2020 11:56:21 +0100 Subject: [PATCH 16/24] [FIX] broken test in sale_variant_configurator for some reason, after the creation of the product, the sale.order.line was emptied (e.g. product_tmpl_id was False) -> the onchange would do nothing. I split the test in two, and in the second test, I create the product before creating the sale order line. --- sale_variant_configurator/tests/test_sale_order.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sale_variant_configurator/tests/test_sale_order.py b/sale_variant_configurator/tests/test_sale_order.py index fc577d80a..bc1ddd1e2 100644 --- a/sale_variant_configurator/tests/test_sale_order.py +++ b/sale_variant_configurator/tests/test_sale_order.py @@ -117,6 +117,9 @@ def test_onchange_product_attribute_ids(self): self.assertDictEqual(result['domain'], {'product_id': expected_domain}) # Check price brought to line with extra self.assertEqual(line.price_unit, 110) + + def test_onchange_product_attribute_ids2(self): + sale = self.sale_order.create({'partner_id': self.customer.id}) # Create product and onchange again to see if the product is selected product = self.product_product.create({ 'product_tmpl_id': self.product_template_yes.id, @@ -127,6 +130,16 @@ def test_onchange_product_attribute_ids(self): 'owner_model': 'sale.order.line', })] }) + line = self.sale_order_line.new({ + 'order_id': sale.id, + 'product_tmpl_id': self.product_template_yes.id, + 'price_unit': 0, + 'name': 'Line 1', + 'product_uom_qty': 1, + 'product_uom': self.product_template_yes.uom_id.id, + }) + line._onchange_product_tmpl_id_configurator() + line.product_attribute_ids[0].value_id = self.value1.id line._onchange_product_attribute_ids_configurator() self.assertEqual(line.product_id, product) From 87d3abd6a7296e3560ab4e7c023148f802aa78fc Mon Sep 17 00:00:00 2001 From: david Date: Mon, 25 Jan 2021 16:38:18 +0100 Subject: [PATCH 17/24] "[IMP] sale_variant_configurator: black, isort, prettier" --- sale_variant_configurator/__manifest__.py | 17 +- sale_variant_configurator/hooks.py | 6 +- .../models/sale_order.py | 78 ++-- .../tests/test_sale_order.py | 394 ++++++++++-------- sale_variant_configurator/views/sale_view.xml | 60 +-- 5 files changed, 310 insertions(+), 245 deletions(-) diff --git a/sale_variant_configurator/__manifest__.py b/sale_variant_configurator/__manifest__.py index c97522bb2..02c9c228a 100644 --- a/sale_variant_configurator/__manifest__.py +++ b/sale_variant_configurator/__manifest__.py @@ -6,21 +6,16 @@ { "name": "Sale - Product variants", "summary": "Product variants in sale management", - "version": "11.0.1.2.0", + "version": "13.0.1.0.0", "license": "AGPL-3", - "depends": [ - "sale", - "product_variant_configurator", - ], + "depends": ["sale", "product_variant_configurator"], "author": "OdooMRP team," - "AvanzOSC," - "Tecnativa," - "Odoo Community Association (OCA)", + "AvanzOSC," + "Tecnativa," + "Odoo Community Association (OCA)", "category": "Sales Management", "website": "https://github.com/OCA/product-variant", - "data": [ - "views/sale_view.xml", - ], + "data": ["views/sale_view.xml"], "installable": True, "post_init_hook": "assign_product_template", } diff --git a/sale_variant_configurator/hooks.py b/sale_variant_configurator/hooks.py index 8aaaab29d..e6b970002 100644 --- a/sale_variant_configurator/hooks.py +++ b/sale_variant_configurator/hooks.py @@ -4,8 +4,10 @@ def assign_product_template(cr, registry): """This post-init-hook will update all existing sale.order.line""" - cr.execute(""" + cr.execute( + """ UPDATE sale_order_line AS line SET product_tmpl_id = product_product.product_tmpl_id FROM product_product - WHERE line.product_id = product_product.id;""") + WHERE line.product_id = product_product.id;""" + ) diff --git a/sale_variant_configurator/models/sale_order.py b/sale_variant_configurator/models/sale_order.py index 796240f61..0a8d85750 100644 --- a/sale_variant_configurator/models/sale_order.py +++ b/sale_variant_configurator/models/sale_order.py @@ -11,7 +11,7 @@ class SaleOrder(models.Model): @api.multi def action_confirm(self): """Create possible product variants not yet created.""" - lines_without_product = self.mapped('order_line').filtered( + lines_without_product = self.mapped("order_line").filtered( lambda x: not x.product_id and x.product_tmpl_id ) for line in lines_without_product: @@ -23,14 +23,11 @@ class SaleOrderLine(models.Model): _inherit = ["sale.order.line", "product.configurator"] _name = "sale.order.line" - product_tmpl_id = fields.Many2one(store=True, readonly=False, - related=False) + product_tmpl_id = fields.Many2one(store=True, readonly=False, related=False) product_id = fields.Many2one(required=False) # this is for getting the proper language for product description partner_id = fields.Many2one( - comodel_name='res.partner', - related='order_id.partner_id', - readonly=True, + comodel_name="res.partner", related="order_id.partner_id", readonly=True, ) @api.model @@ -38,32 +35,37 @@ def create(self, vals): """Create product if not exist when the sales order is already confirmed and a line is added. """ - if vals.get('order_id') and not vals.get('product_id'): - order = self.env['sale.order'].browse(vals['order_id']) - if order.state == 'sale': + if vals.get("order_id") and not vals.get("product_id"): + order = self.env["sale.order"].browse(vals["order_id"]) + if order.state == "sale": line = self.new(vals) product = line.create_variant_if_needed() - vals['product_id'] = product.id + vals["product_id"] = product.id return super().create(vals) - @api.onchange('product_tmpl_id') + @api.onchange("product_tmpl_id") def _onchange_product_tmpl_id_configurator(self): res = super()._onchange_product_tmpl_id_configurator() if self.product_tmpl_id.attribute_line_ids: - domain = res.setdefault('domain', {}) - domain['product_uom'] = [ - ('category_id', '=', - self.product_tmpl_id.uom_id.category_id.id), + domain = res.setdefault("domain", {}) + domain["product_uom"] = [ + ("category_id", "=", self.product_tmpl_id.uom_id.category_id.id), ] self.product_uom = self.product_tmpl_id.uom_id self.price_unit = self.order_id.pricelist_id.with_context( - {'uom': self.product_uom.id, - 'date': self.order_id.date_order}).template_price_get( - self.product_tmpl_id.id, self.product_uom_qty or 1.0, - self.order_id.partner_id.id)[self.order_id.pricelist_id.id] + {"uom": self.product_uom.id, "date": self.order_id.date_order} + ).template_price_get( + self.product_tmpl_id.id, + self.product_uom_qty or 1.0, + self.order_id.partner_id.id, + )[ + self.order_id.pricelist_id.id + ] # Update taxes - fpos = (self.order_id.fiscal_position_id or - self.order_id.partner_id.property_account_position_id) + fpos = ( + self.order_id.fiscal_position_id + or self.order_id.partner_id.property_account_position_id + ) # If company_id is set, always filter taxes by the company taxes = self.product_tmpl_id.taxes_id.filtered( lambda r: not self.company_id or r.company_id == self.company_id @@ -79,16 +81,14 @@ def _onchange_product_tmpl_id_configurator(self): ) # product_configurator methods don't take into account this description if product_tmpl.description_sale: - self.name = ( - (self.name or '') + '\n' + product_tmpl.description_sale - ) + self.name = (self.name or "") + "\n" + product_tmpl.description_sale if self.order_id.pricelist_id and self.order_id.partner_id: - self.price_unit = self.env['account.tax']._fix_tax_included_price( + self.price_unit = self.env["account.tax"]._fix_tax_included_price( product_tmpl.price, product_tmpl.taxes_id, self.tax_id, ) return res - @api.onchange('product_id') + @api.onchange("product_id") def product_id_change(self): """Call again the configurator onchange after this main onchange for making sure the SO line description is correct. @@ -97,9 +97,7 @@ def product_id_change(self): self._onchange_product_id_configurator() # product_configurator methods don't take into account this description if self.product_id.description_sale: - self.name = ( - (self.name or '') + '\n' + self.product_id.description_sale - ) + self.name = (self.name or "") + "\n" + self.product_id.description_sale return res def _update_price_configurator(self): @@ -107,8 +105,11 @@ def _update_price_configurator(self): price and update line if different. """ self.ensure_one() - if (not self.product_tmpl_id or not self.order_id.pricelist_id or - not self.order_id.partner_id): + if ( + not self.product_tmpl_id + or not self.order_id.pricelist_id + or not self.order_id.partner_id + ): return product_tmpl = self.product_tmpl_id.with_context( lang=self.order_id.partner_id.lang, @@ -117,25 +118,24 @@ def _update_price_configurator(self): date_order=self.order_id.date_order, pricelist=self.order_id.pricelist_id.id, uom=self.product_uom.id, - fiscal_position=self.env.context.get('fiscal_position') + fiscal_position=self.env.context.get("fiscal_position"), ) - price = self.env['account.tax']._fix_tax_included_price( + price = self.env["account.tax"]._fix_tax_included_price( self.price_extra + self._get_display_price(product_tmpl), product_tmpl.taxes_id, - self.tax_id) + self.tax_id, + ) if self.price_unit != price: self.price_unit = price - @api.onchange('product_attribute_ids') + @api.onchange("product_attribute_ids") def _onchange_product_attribute_ids_configurator(self): """Update price for having into account possible extra prices""" - res = super( - SaleOrderLine, self, - )._onchange_product_attribute_ids_configurator() + res = super(SaleOrderLine, self,)._onchange_product_attribute_ids_configurator() self._update_price_configurator() return res - @api.onchange('product_uom', 'product_uom_qty') + @api.onchange("product_uom", "product_uom_qty") def product_uom_change(self): """Update price for having into account changes due to qty""" res = super(SaleOrderLine, self).product_uom_change() diff --git a/sale_variant_configurator/tests/test_sale_order.py b/sale_variant_configurator/tests/test_sale_order.py index bc1ddd1e2..98d1d4338 100644 --- a/sale_variant_configurator/tests/test_sale_order.py +++ b/sale_variant_configurator/tests/test_sale_order.py @@ -5,161 +5,189 @@ class TestSaleOrder(common.SavepointCase): - @classmethod def setUpClass(cls): super(TestSaleOrder, cls).setUpClass() # Environments - cls.product_attribute = cls.env['product.attribute'] - cls.product_attribute_value = cls.env['product.attribute.value'] - cls.product_template = cls.env['product.template'].with_context( - check_variant_creation=True) - cls.sale_order = cls.env['sale.order'] - cls.product_product = cls.env['product.product'] - cls.sale_order_line = cls.env['sale.order.line'] - cls.res_partner = cls.env['res.partner'] - cls.product_category = cls.env['product.category'] + cls.product_attribute = cls.env["product.attribute"] + cls.product_attribute_value = cls.env["product.attribute.value"] + cls.product_template = cls.env["product.template"].with_context( + check_variant_creation=True + ) + cls.sale_order = cls.env["sale.order"] + cls.product_product = cls.env["product.product"] + cls.sale_order_line = cls.env["sale.order.line"] + cls.res_partner = cls.env["res.partner"] + cls.product_category = cls.env["product.category"] # Instances - cls.category1 = cls.product_category.create({ - 'name': 'No create variants category', - }) - cls.attribute1 = cls.product_attribute.create({ - 'name': 'Color (sale_variante_configurator)', - }) - cls.value1 = cls.product_attribute_value.create({ - 'name': 'Red', - 'attribute_id': cls.attribute1.id, - }) - cls.value2 = cls.product_attribute_value.create({ - 'name': 'Green', - 'attribute_id': cls.attribute1.id, - }) - cls.product_template_yes = cls.product_template.create({ - 'name': 'Product template 1', - 'list_price': 100, - 'no_create_variants': 'yes', - 'categ_id': cls.category1.id, - 'attribute_line_ids': [ - (0, 0, {'attribute_id': cls.attribute1.id, - 'value_ids': [(6, 0, [cls.value1.id, - cls.value2.id])]})], - }) - cls.product_template_no = cls.product_template.create({ - 'name': 'Product template 2', - 'list_price': 100, - 'categ_id': cls.category1.id, - 'no_create_variants': 'no', - 'description_sale': 'Template description' - }) - cls.attribute_price1 = cls.env['product.attribute.price'].create({ - 'product_tmpl_id': cls.product_template_yes.id, - 'attribute_id': cls.attribute1.id, - 'value_id': cls.value1.id, - 'price_extra': 10, - }) - cls.customer = cls.res_partner.create({ - 'name': 'Customer 1', - }) + cls.category1 = cls.product_category.create( + {"name": "No create variants category"} + ) + cls.attribute1 = cls.product_attribute.create( + {"name": "Color (sale_variante_configurator)"} + ) + cls.value1 = cls.product_attribute_value.create( + {"name": "Red", "attribute_id": cls.attribute1.id} + ) + cls.value2 = cls.product_attribute_value.create( + {"name": "Green", "attribute_id": cls.attribute1.id} + ) + cls.product_template_yes = cls.product_template.create( + { + "name": "Product template 1", + "list_price": 100, + "no_create_variants": "yes", + "categ_id": cls.category1.id, + "attribute_line_ids": [ + ( + 0, + 0, + { + "attribute_id": cls.attribute1.id, + "value_ids": [(6, 0, [cls.value1.id, cls.value2.id])], + }, + ) + ], + } + ) + cls.product_template_no = cls.product_template.create( + { + "name": "Product template 2", + "list_price": 100, + "categ_id": cls.category1.id, + "no_create_variants": "no", + "description_sale": "Template description", + } + ) + cls.attribute_price1 = cls.env["product.attribute.price"].create( + { + "product_tmpl_id": cls.product_template_yes.id, + "attribute_id": cls.attribute1.id, + "value_id": cls.value1.id, + "price_extra": 10, + } + ) + cls.customer = cls.res_partner.create({"name": "Customer 1"}) def test_onchange_product_tmpl_id(self): - sale = self.sale_order.create({'partner_id': self.customer.id}) - line1 = self.sale_order_line.new({ - 'order_id': sale.id, - 'product_tmpl_id': self.product_template_yes.id, - 'price_unit': 100, - 'product_uom': self.product_template_yes.uom_id.id, - 'product_uom_qty': 1, - }) + sale = self.sale_order.create({"partner_id": self.customer.id}) + line1 = self.sale_order_line.new( + { + "order_id": sale.id, + "product_tmpl_id": self.product_template_yes.id, + "price_unit": 100, + "product_uom": self.product_template_yes.uom_id.id, + "product_uom_qty": 1, + } + ) result = line1._onchange_product_tmpl_id_configurator() self.assertEqual(len(line1.product_attribute_ids), 1) - expected_domain = [ - ('product_tmpl_id', '=', self.product_template_yes.id) - ] - self.assertEqual(result['domain']['product_id'], expected_domain) - line2 = self.sale_order_line.new({ - 'order_id': sale.id, - 'product_tmpl_id': self.product_template_no.id, - 'product_uom': self.product_template_no.uom_id.id, - 'product_uom_qty': 1, - 'price_unit': 200, - 'name': 'Line 2', - }) + expected_domain = [("product_tmpl_id", "=", self.product_template_yes.id)] + self.assertEqual(result["domain"]["product_id"], expected_domain) + line2 = self.sale_order_line.new( + { + "order_id": sale.id, + "product_tmpl_id": self.product_template_no.id, + "product_uom": self.product_template_no.uom_id.id, + "product_uom_qty": 1, + "price_unit": 200, + "name": "Line 2", + } + ) line2._onchange_product_tmpl_id_configurator() line2._onchange_product_id_configurator() line2.product_id_change() - self.assertEqual(line2.product_id, - self.product_template_no.product_variant_ids) - self.assertEqual(line2.name, - '%s\n%s' % ( - self.product_template_no.name, - (self.product_template_no.description_sale) - )) + self.assertEqual(line2.product_id, self.product_template_no.product_variant_ids) + self.assertEqual( + line2.name, + "%s\n%s" + % ( + self.product_template_no.name, + (self.product_template_no.description_sale), + ), + ) def test_onchange_product_attribute_ids(self): - sale = self.sale_order.create({'partner_id': self.customer.id}) - line = self.sale_order_line.new({ - 'order_id': sale.id, - 'product_tmpl_id': self.product_template_yes.id, - 'price_unit': 0, - 'name': 'Line 1', - 'product_uom_qty': 1, - 'product_uom': self.product_template_yes.uom_id.id, - }) + sale = self.sale_order.create({"partner_id": self.customer.id}) + line = self.sale_order_line.new( + { + "order_id": sale.id, + "product_tmpl_id": self.product_template_yes.id, + "price_unit": 0, + "name": "Line 1", + "product_uom_qty": 1, + "product_uom": self.product_template_yes.uom_id.id, + } + ) line._onchange_product_tmpl_id_configurator() self.assertEqual(line.price_unit, 100) # List price line.product_attribute_ids[0].value_id = self.value1.id result = line._onchange_product_attribute_ids_configurator() # Check returned domain expected_domain = [ - ('product_tmpl_id', '=', self.product_template_yes.id), - ('attribute_value_ids', '=', self.value1.id) + ("product_tmpl_id", "=", self.product_template_yes.id), + ("attribute_value_ids", "=", self.value1.id), ] - self.assertDictEqual(result['domain'], {'product_id': expected_domain}) + self.assertDictEqual(result["domain"], {"product_id": expected_domain}) # Check price brought to line with extra self.assertEqual(line.price_unit, 110) def test_onchange_product_attribute_ids2(self): - sale = self.sale_order.create({'partner_id': self.customer.id}) + sale = self.sale_order.create({"partner_id": self.customer.id}) # Create product and onchange again to see if the product is selected - product = self.product_product.create({ - 'product_tmpl_id': self.product_template_yes.id, - 'product_attribute_ids': [(0, 0, { - 'product_tmpl_id': self.product_template_yes.id, - 'attribute_id': self.attribute1.id, - 'value_id': self.value1.id, - 'owner_model': 'sale.order.line', - })] - }) - line = self.sale_order_line.new({ - 'order_id': sale.id, - 'product_tmpl_id': self.product_template_yes.id, - 'price_unit': 0, - 'name': 'Line 1', - 'product_uom_qty': 1, - 'product_uom': self.product_template_yes.uom_id.id, - }) + product = self.product_product.create( + { + "product_tmpl_id": self.product_template_yes.id, + "product_attribute_ids": [ + ( + 0, + 0, + { + "product_tmpl_id": self.product_template_yes.id, + "attribute_id": self.attribute1.id, + "value_id": self.value1.id, + "owner_model": "sale.order.line", + }, + ) + ], + } + ) + line = self.sale_order_line.new( + { + "order_id": sale.id, + "product_tmpl_id": self.product_template_yes.id, + "price_unit": 0, + "name": "Line 1", + "product_uom_qty": 1, + "product_uom": self.product_template_yes.uom_id.id, + } + ) line._onchange_product_tmpl_id_configurator() line.product_attribute_ids[0].value_id = self.value1.id line._onchange_product_attribute_ids_configurator() self.assertEqual(line.product_id, product) def test_can_create_product_variant(self): - sale = self.sale_order.create({'partner_id': self.customer.id}) - line = self.sale_order_line.new({ - 'order_id': sale.id, - 'product_tmpl_id': self.product_template_yes.id, - 'price_unit': 100, - 'name': 'Line 1', - 'product_uom': self.product_template_yes.uom_id.id, - }) + sale = self.sale_order.create({"partner_id": self.customer.id}) + line = self.sale_order_line.new( + { + "order_id": sale.id, + "product_tmpl_id": self.product_template_yes.id, + "price_unit": 100, + "name": "Line 1", + "product_uom": self.product_template_yes.uom_id.id, + } + ) self.assertFalse(line.can_create_product) - attributes = self.env['product.configurator.attribute'].create({ - 'product_tmpl_id': self.product_template_yes.id, - 'attribute_id': self.attribute1.id, - 'value_id': self.value1.id, - 'owner_model': 'sale.order.line', - 'owner_id': line.id, - }) + attributes = self.env["product.configurator.attribute"].create( + { + "product_tmpl_id": self.product_template_yes.id, + "attribute_id": self.attribute1.id, + "value_id": self.value1.id, + "owner_model": "sale.order.line", + "owner_id": line.id, + } + ) line.product_attribute_ids = attributes line._onchange_product_attribute_ids_configurator() self.assertTrue(line.can_create_product) @@ -169,24 +197,40 @@ def test_can_create_product_variant(self): self.assertFalse(line.create_product_variant) def test_onchange_product_id(self): - product = self.product_product.create({ - 'product_tmpl_id': self.product_template_yes.id, - 'product_attribute_ids': [(0, 0, { - 'product_tmpl_id': self.product_template_yes.id, - 'attribute_id': self.attribute1.id, - 'value_id': self.value1.id - })] - }) - order = self.sale_order.create({ - 'partner_id': self.customer.id, - 'order_line': [(0, 0, { - 'product_id': product.id, - 'price_unit': 100, - 'name': 'Line 1', - 'product_uom_qty': 1, - 'product_uom': product.uom_id.id, - })] - }) + product = self.product_product.create( + { + "product_tmpl_id": self.product_template_yes.id, + "product_attribute_ids": [ + ( + 0, + 0, + { + "product_tmpl_id": self.product_template_yes.id, + "attribute_id": self.attribute1.id, + "value_id": self.value1.id, + }, + ) + ], + } + ) + order = self.sale_order.create( + { + "partner_id": self.customer.id, + "order_line": [ + ( + 0, + 0, + { + "product_id": product.id, + "price_unit": 100, + "name": "Line 1", + "product_uom_qty": 1, + "product_uom": product.uom_id.id, + }, + ) + ], + } + ) line = order.order_line[0] with self.cr.savepoint(): line.product_id_change() @@ -195,31 +239,41 @@ def test_onchange_product_id(self): self.assertEqual(line.product_tmpl_id, self.product_template_yes) def test_action_confirm(self): - order = self.sale_order.create({'partner_id': self.customer.id}) - line_1 = self.sale_order_line.new({ - 'order_id': order.id, - 'product_tmpl_id': self.product_template_yes.id, - 'price_unit': 100, - 'name': 'Line 1', - 'product_uom_qty': 1, - 'product_uom': self.product_template_yes.uom_id.id, - 'product_attribute_ids': [(0, 0, { - 'product_tmpl_id': self.product_template_yes.id, - 'attribute_id': self.attribute1.id, - 'value_id': self.value1.id, - 'owner_model': 'sale.order.line' - })], - 'create_product_variant': True, - }) - line_2 = self.sale_order_line.new({ - 'order_id': order.id, - 'product_tmpl_id': self.product_template_no.id, - 'product_uom': self.product_template_no.uom_id.id, - 'product_uom_qty': 1, - 'price_unit': 200, - 'name': 'Line 2', - 'create_product_variant': True, - }) + order = self.sale_order.create({"partner_id": self.customer.id}) + line_1 = self.sale_order_line.new( + { + "order_id": order.id, + "product_tmpl_id": self.product_template_yes.id, + "price_unit": 100, + "name": "Line 1", + "product_uom_qty": 1, + "product_uom": self.product_template_yes.uom_id.id, + "product_attribute_ids": [ + ( + 0, + 0, + { + "product_tmpl_id": self.product_template_yes.id, + "attribute_id": self.attribute1.id, + "value_id": self.value1.id, + "owner_model": "sale.order.line", + }, + ) + ], + "create_product_variant": True, + } + ) + line_2 = self.sale_order_line.new( + { + "order_id": order.id, + "product_tmpl_id": self.product_template_no.id, + "product_uom": self.product_template_no.uom_id.id, + "product_uom_qty": 1, + "price_unit": 200, + "name": "Line 2", + "create_product_variant": True, + } + ) for line in (line_1, line_2): line._onchange_product_tmpl_id_configurator() line._onchange_product_id_configurator() @@ -229,9 +283,11 @@ def test_action_confirm(self): line.create_variant_if_needed() line.create_product_variant = True line._onchange_create_product_variant() - order.write({'order_line': [(4, line_1.id), (4, line_2.id)]}) + order.write({"order_line": [(4, line_1.id), (4, line_2.id)]}) order.action_confirm() order_line_without_product = order.order_line.filtered( - lambda x: not x.product_id) - self.assertEqual(len(order_line_without_product), 0, - "All purchase lines must have a product") + lambda x: not x.product_id + ) + self.assertEqual( + len(order_line_without_product), 0, "All purchase lines must have a product" + ) diff --git a/sale_variant_configurator/views/sale_view.xml b/sale_variant_configurator/views/sale_view.xml index 250fc03e0..ecd72df56 100644 --- a/sale_variant_configurator/views/sale_view.xml +++ b/sale_variant_configurator/views/sale_view.xml @@ -1,42 +1,53 @@ - + - sale.order - + - + {'reload_on_button': true} - - - + + + - - - - - - - + + + + + + + - sale.order.line @@ -47,7 +58,6 @@ - sale.order.line @@ -56,11 +66,13 @@ - + - From c03ea197ab7bba6cdac789b38c27a3073d85c641 Mon Sep 17 00:00:00 2001 From: david Date: Wed, 27 Jan 2021 12:32:47 +0100 Subject: [PATCH 18/24] [MIG] sale_variant_configurator: Migration to 13.0 --- sale_variant_configurator/i18n/es.po | 11 ++--- sale_variant_configurator/i18n/es_AR.po | 19 ++++----- .../i18n/sale_variant_configurator.pot | 34 +++++++++++----- .../models/sale_order.py | 40 ++++++++++++++----- .../tests/test_sale_order.py | 15 +++---- sale_variant_configurator/views/sale_view.xml | 20 ++++++++-- 6 files changed, 92 insertions(+), 47 deletions(-) diff --git a/sale_variant_configurator/i18n/es.po b/sale_variant_configurator/i18n/es.po index 1ad962c07..d32f2f5b2 100644 --- a/sale_variant_configurator/i18n/es.po +++ b/sale_variant_configurator/i18n/es.po @@ -9,19 +9,20 @@ msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" -"PO-Revision-Date: 2017-12-04 12:43+0000\n" -"Last-Translator: OCA Transbot , 2017\n" +"PO-Revision-Date: 2021-03-16 18:45+0000\n" +"Last-Translator: Ana Suárez \n" "Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.3.2\n" #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id msgid "Customer" -msgstr "" +msgstr "Cliente" #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id @@ -31,7 +32,7 @@ msgstr "Plantilla producto" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order msgid "Quotation" -msgstr "" +msgstr "Presupuesto" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order_line diff --git a/sale_variant_configurator/i18n/es_AR.po b/sale_variant_configurator/i18n/es_AR.po index 98a6508bc..52b30ebe3 100644 --- a/sale_variant_configurator/i18n/es_AR.po +++ b/sale_variant_configurator/i18n/es_AR.po @@ -9,35 +9,36 @@ msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" -"PO-Revision-Date: 2017-12-04 12:43+0000\n" -"Last-Translator: OCA Transbot , 2017\n" -"Language-Team: Spanish (Argentina) (https://www.transifex.com/oca/" -"teams/23907/es_AR/)\n" +"PO-Revision-Date: 2021-04-04 20:46+0000\n" +"Last-Translator: Ignacio Buioli \n" +"Language-Team: Spanish (Argentina) (https://www.transifex.com/oca/teams/" +"23907/es_AR/)\n" "Language: es_AR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.3.2\n" #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id msgid "Customer" -msgstr "" +msgstr "Cliente" #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id msgid "Product Template" -msgstr "" +msgstr "Plantilla del Producto" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order msgid "Quotation" -msgstr "" +msgstr "Presupuesto" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order_line msgid "Sales Order Line" -msgstr "" +msgstr "Línea del Pedido de Ventas" #. module: sale_variant_configurator #: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter diff --git a/sale_variant_configurator/i18n/sale_variant_configurator.pot b/sale_variant_configurator/i18n/sale_variant_configurator.pot index 4371974b4..ce24f8cc4 100644 --- a/sale_variant_configurator/i18n/sale_variant_configurator.pot +++ b/sale_variant_configurator/i18n/sale_variant_configurator.pot @@ -1,12 +1,12 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * sale_variant_configurator +# * sale_variant_configurator # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 11.0\n" +"Project-Id-Version: Odoo Server 13.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: <>\n" +"Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,18 +14,35 @@ msgstr "" "Plural-Forms: \n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -34,7 +51,6 @@ msgid "Sales Order Line" msgstr "" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "" - diff --git a/sale_variant_configurator/models/sale_order.py b/sale_variant_configurator/models/sale_order.py index 0a8d85750..48c3b8875 100644 --- a/sale_variant_configurator/models/sale_order.py +++ b/sale_variant_configurator/models/sale_order.py @@ -8,7 +8,6 @@ class SaleOrder(models.Model): _inherit = "sale.order" - @api.multi def action_confirm(self): """Create possible product variants not yet created.""" lines_without_product = self.mapped("order_line").filtered( @@ -16,19 +15,38 @@ def action_confirm(self): ) for line in lines_without_product: line.create_variant_if_needed() - return super(SaleOrder, self).action_confirm() + return super().action_confirm() class SaleOrderLine(models.Model): _inherit = ["sale.order.line", "product.configurator"] _name = "sale.order.line" - product_tmpl_id = fields.Many2one(store=True, readonly=False, related=False) - product_id = fields.Many2one(required=False) - # this is for getting the proper language for product description - partner_id = fields.Many2one( - comodel_name="res.partner", related="order_id.partner_id", readonly=True, + product_tmpl_id = fields.Many2one( + store=True, + readonly=False, + related=False, + string="Product Template (no related)", ) + product_id = fields.Many2one(required=False) + + _sql_constraints = [ + ( + "accountable_required_fields", + "CHECK(display_type IS NOT NULL OR " + "((product_id IS NOT NULL OR product_tmpl_id IS NOT NULL) AND " + "product_uom IS NOT NULL))", + "Missing required fields on accountable sale order line.", + ), + ( + "non_accountable_null_fields", + "CHECK(display_type IS NULL OR " + "(product_id IS NULL AND product_tmpl_id IS NULL AND " + "price_unit = 0 AND product_uom_qty = 0 AND " + "product_uom IS NULL AND customer_lead = 0))", + "Forbidden values on non-accountable sale order line", + ), + ] @api.model def create(self, vals): @@ -73,7 +91,7 @@ def _onchange_product_tmpl_id_configurator(self): self.tax_id = fpos.map_tax(taxes) if fpos else taxes product_tmpl = self.product_tmpl_id.with_context( lang=self.order_id.partner_id.lang, - partner=self.order_id.partner_id.id, + partner=self.order_id.partner_id, quantity=self.product_uom_qty, date=self.order_id.date_order, pricelist=self.order_id.pricelist_id.id, @@ -113,7 +131,7 @@ def _update_price_configurator(self): return product_tmpl = self.product_tmpl_id.with_context( lang=self.order_id.partner_id.lang, - partner=self.order_id.partner_id.id, + partner=self.order_id.partner_id, quantity=self.product_uom_qty, date_order=self.order_id.date_order, pricelist=self.order_id.pricelist_id.id, @@ -131,14 +149,14 @@ def _update_price_configurator(self): @api.onchange("product_attribute_ids") def _onchange_product_attribute_ids_configurator(self): """Update price for having into account possible extra prices""" - res = super(SaleOrderLine, self,)._onchange_product_attribute_ids_configurator() + res = super()._onchange_product_attribute_ids_configurator() self._update_price_configurator() return res @api.onchange("product_uom", "product_uom_qty") def product_uom_change(self): """Update price for having into account changes due to qty""" - res = super(SaleOrderLine, self).product_uom_change() + res = super().product_uom_change() if not self.product_id: self._update_price_configurator() return res diff --git a/sale_variant_configurator/tests/test_sale_order.py b/sale_variant_configurator/tests/test_sale_order.py index 98d1d4338..d3763a05e 100644 --- a/sale_variant_configurator/tests/test_sale_order.py +++ b/sale_variant_configurator/tests/test_sale_order.py @@ -7,7 +7,7 @@ class TestSaleOrder(common.SavepointCase): @classmethod def setUpClass(cls): - super(TestSaleOrder, cls).setUpClass() + super().setUpClass() # Environments cls.product_attribute = cls.env["product.attribute"] cls.product_attribute_value = cls.env["product.attribute.value"] @@ -59,14 +59,11 @@ def setUpClass(cls): "description_sale": "Template description", } ) - cls.attribute_price1 = cls.env["product.attribute.price"].create( - { - "product_tmpl_id": cls.product_template_yes.id, - "attribute_id": cls.attribute1.id, - "value_id": cls.value1.id, - "price_extra": 10, - } + cls.attr_lines = cls.product_template_yes.attribute_line_ids + cls.ptav_1 = cls.attr_lines.product_template_value_ids.filtered( + lambda x: x.product_attribute_value_id == cls.value1[0] ) + cls.ptav_1.price_extra = 10 cls.customer = cls.res_partner.create({"name": "Customer 1"}) def test_onchange_product_tmpl_id(self): @@ -126,7 +123,7 @@ def test_onchange_product_attribute_ids(self): # Check returned domain expected_domain = [ ("product_tmpl_id", "=", self.product_template_yes.id), - ("attribute_value_ids", "=", self.value1.id), + ("product_template_attribute_value_ids", "=", self.ptav_1.id), ] self.assertDictEqual(result["domain"], {"product_id": expected_domain}) # Check price brought to line with extra diff --git a/sale_variant_configurator/views/sale_view.xml b/sale_variant_configurator/views/sale_view.xml index ecd72df56..efb0d51e9 100644 --- a/sale_variant_configurator/views/sale_view.xml +++ b/sale_variant_configurator/views/sale_view.xml @@ -12,16 +12,28 @@ expr="//field[@name='order_line']/tree//field[@name='product_id']" position="before" > - + {'reload_on_button': true} + + {'readonly': [('product_updatable', '=', False)]} + - + - + @@ -63,7 +75,7 @@ - + Date: Thu, 18 Nov 2021 18:39:56 +0100 Subject: [PATCH 19/24] [FIX] sale_variant_configurator: Populate product description in customer language As the model `sale.order.line` doesn't have `partner_id` field, the description is not populated in the customer language, as the automatism put in product_configurator makes use of this trick. For not adding such field that can conflict with other parts, let's overwrite the methods that populate the description and pass upstream the customer language in the context. TT33029 --- sale_variant_configurator/__manifest__.py | 4 +- sale_variant_configurator/i18n/ca.po | 27 ++++++++--- sale_variant_configurator/i18n/de.po | 27 ++++++++--- sale_variant_configurator/i18n/es.po | 37 ++++++++++++--- sale_variant_configurator/i18n/es_AR.po | 41 +++++++++++++---- sale_variant_configurator/i18n/es_CR.po | 27 ++++++++--- sale_variant_configurator/i18n/es_MX.po | 27 ++++++++--- sale_variant_configurator/i18n/es_VE.po | 27 ++++++++--- sale_variant_configurator/i18n/fi.po | 27 ++++++++--- sale_variant_configurator/i18n/fr.po | 27 ++++++++--- sale_variant_configurator/i18n/fr_CH.po | 27 ++++++++--- sale_variant_configurator/i18n/gl.po | 27 ++++++++--- sale_variant_configurator/i18n/hr.po | 32 +++++++++---- sale_variant_configurator/i18n/hr_HR.po | 27 ++++++++--- sale_variant_configurator/i18n/hu.po | 27 ++++++++--- sale_variant_configurator/i18n/it.po | 45 ++++++++++++------- sale_variant_configurator/i18n/mk.po | 27 ++++++++--- sale_variant_configurator/i18n/mn.po | 27 ++++++++--- sale_variant_configurator/i18n/nl.po | 27 ++++++++--- sale_variant_configurator/i18n/nl_NL.po | 27 ++++++++--- sale_variant_configurator/i18n/pl.po | 27 ++++++++--- sale_variant_configurator/i18n/pt.po | 27 ++++++++--- sale_variant_configurator/i18n/pt_BR.po | 27 ++++++++--- sale_variant_configurator/i18n/pt_PT.po | 27 ++++++++--- sale_variant_configurator/i18n/ro.po | 27 ++++++++--- sale_variant_configurator/i18n/ru.po | 27 ++++++++--- sale_variant_configurator/i18n/sl.po | 27 ++++++++--- sale_variant_configurator/i18n/sv.po | 27 ++++++++--- sale_variant_configurator/i18n/tr.po | 27 ++++++++--- sale_variant_configurator/i18n/tr_TR.po | 27 ++++++++--- sale_variant_configurator/i18n/vi_VN.po | 27 ++++++++--- sale_variant_configurator/i18n/zh_CN.po | 27 ++++++++--- .../models/sale_order.py | 22 ++++++--- 33 files changed, 727 insertions(+), 183 deletions(-) diff --git a/sale_variant_configurator/__manifest__.py b/sale_variant_configurator/__manifest__.py index 02c9c228a..f0ab1c9a6 100644 --- a/sale_variant_configurator/__manifest__.py +++ b/sale_variant_configurator/__manifest__.py @@ -1,12 +1,12 @@ # Copyright 2014-2016 Oihane Crucelaegui - AvanzOSC -# Copyright 2015-2016 Pedro M. Baeza # Copyright 2017 David Vidal +# Copyright 2015-2021 Tecnativa - Pedro M. Baeza # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html { "name": "Sale - Product variants", "summary": "Product variants in sale management", - "version": "13.0.1.0.0", + "version": "13.0.1.0.1", "license": "AGPL-3", "depends": ["sale", "product_variant_configurator"], "author": "OdooMRP team," diff --git a/sale_variant_configurator/i18n/ca.po b/sale_variant_configurator/i18n/ca.po index 9c148b8c1..d0ce77b41 100644 --- a/sale_variant_configurator/i18n/ca.po +++ b/sale_variant_configurator/i18n/ca.po @@ -19,18 +19,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "Plantilla del producte" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -39,6 +56,6 @@ msgid "Sales Order Line" msgstr "Línia de comanda de vendes" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Plantilla" diff --git a/sale_variant_configurator/i18n/de.po b/sale_variant_configurator/i18n/de.po index edba59e6a..6b5af9e05 100644 --- a/sale_variant_configurator/i18n/de.po +++ b/sale_variant_configurator/i18n/de.po @@ -19,18 +19,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "Produktvorlage" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -39,6 +56,6 @@ msgid "Sales Order Line" msgstr "Auftragsposition" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Vorlage" diff --git a/sale_variant_configurator/i18n/es.po b/sale_variant_configurator/i18n/es.po index d32f2f5b2..a2523b194 100644 --- a/sale_variant_configurator/i18n/es.po +++ b/sale_variant_configurator/i18n/es.po @@ -20,19 +20,36 @@ msgstr "" "X-Generator: Weblate 4.3.2\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" -msgstr "Cliente" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "Plantilla producto" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" -msgstr "Presupuesto" +msgid "Sales Order" +msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order_line @@ -40,6 +57,12 @@ msgid "Sales Order Line" msgstr "Línea pedido de venta" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Plantilla" + +#~ msgid "Customer" +#~ msgstr "Cliente" + +#~ msgid "Quotation" +#~ msgstr "Presupuesto" diff --git a/sale_variant_configurator/i18n/es_AR.po b/sale_variant_configurator/i18n/es_AR.po index 52b30ebe3..38cf6c2eb 100644 --- a/sale_variant_configurator/i18n/es_AR.po +++ b/sale_variant_configurator/i18n/es_AR.po @@ -11,8 +11,8 @@ msgstr "" "POT-Creation-Date: 2017-12-04 12:43+0000\n" "PO-Revision-Date: 2021-04-04 20:46+0000\n" "Last-Translator: Ignacio Buioli \n" -"Language-Team: Spanish (Argentina) (https://www.transifex.com/oca/teams/" -"23907/es_AR/)\n" +"Language-Team: Spanish (Argentina) (https://www.transifex.com/oca/" +"teams/23907/es_AR/)\n" "Language: es_AR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,19 +21,36 @@ msgstr "" "X-Generator: Weblate 4.3.2\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" -msgstr "Cliente" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "Plantilla del Producto" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" -msgstr "Presupuesto" +msgid "Sales Order" +msgstr "" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order_line @@ -41,6 +58,12 @@ msgid "Sales Order Line" msgstr "Línea del Pedido de Ventas" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Plantilla" + +#~ msgid "Customer" +#~ msgstr "Cliente" + +#~ msgid "Quotation" +#~ msgstr "Presupuesto" diff --git a/sale_variant_configurator/i18n/es_CR.po b/sale_variant_configurator/i18n/es_CR.po index b9b1c5800..3e2c3edd5 100644 --- a/sale_variant_configurator/i18n/es_CR.po +++ b/sale_variant_configurator/i18n/es_CR.po @@ -20,18 +20,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -40,6 +57,6 @@ msgid "Sales Order Line" msgstr "" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Plantilla" diff --git a/sale_variant_configurator/i18n/es_MX.po b/sale_variant_configurator/i18n/es_MX.po index 765715582..19ac328f5 100644 --- a/sale_variant_configurator/i18n/es_MX.po +++ b/sale_variant_configurator/i18n/es_MX.po @@ -20,18 +20,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "Plantilla del producto" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -40,6 +57,6 @@ msgid "Sales Order Line" msgstr "" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Plantilla" diff --git a/sale_variant_configurator/i18n/es_VE.po b/sale_variant_configurator/i18n/es_VE.po index 024d696b6..106db56ea 100644 --- a/sale_variant_configurator/i18n/es_VE.po +++ b/sale_variant_configurator/i18n/es_VE.po @@ -20,18 +20,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -40,6 +57,6 @@ msgid "Sales Order Line" msgstr "Línea de pedido de venta" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Plantilla" diff --git a/sale_variant_configurator/i18n/fi.po b/sale_variant_configurator/i18n/fi.po index 803ea8ef6..128a22aa0 100644 --- a/sale_variant_configurator/i18n/fi.po +++ b/sale_variant_configurator/i18n/fi.po @@ -19,18 +19,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "Tuotteen malli" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -39,6 +56,6 @@ msgid "Sales Order Line" msgstr "Myyntitilausrivi" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Malli" diff --git a/sale_variant_configurator/i18n/fr.po b/sale_variant_configurator/i18n/fr.po index 2c5527903..6fb2da51b 100644 --- a/sale_variant_configurator/i18n/fr.po +++ b/sale_variant_configurator/i18n/fr.po @@ -19,18 +19,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "Modèle de produit" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -39,6 +56,6 @@ msgid "Sales Order Line" msgstr "Ligne de commandes de vente" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Modèle" diff --git a/sale_variant_configurator/i18n/fr_CH.po b/sale_variant_configurator/i18n/fr_CH.po index 762d38dcc..db2eda0bc 100644 --- a/sale_variant_configurator/i18n/fr_CH.po +++ b/sale_variant_configurator/i18n/fr_CH.po @@ -20,18 +20,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "Template de produit" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -40,6 +57,6 @@ msgid "Sales Order Line" msgstr "" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "" diff --git a/sale_variant_configurator/i18n/gl.po b/sale_variant_configurator/i18n/gl.po index 66885941f..7b5ef028e 100644 --- a/sale_variant_configurator/i18n/gl.po +++ b/sale_variant_configurator/i18n/gl.po @@ -19,18 +19,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -39,6 +56,6 @@ msgid "Sales Order Line" msgstr "" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Modelo" diff --git a/sale_variant_configurator/i18n/hr.po b/sale_variant_configurator/i18n/hr.po index 73c1cfe78..33fc8e860 100644 --- a/sale_variant_configurator/i18n/hr.po +++ b/sale_variant_configurator/i18n/hr.po @@ -21,29 +21,43 @@ msgstr "" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "Predložak proizvoda" #. module: sale_variant_configurator -#: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" msgstr "" +#. module: sale_variant_configurator +#: model:ir.model,name:sale_variant_configurator.model_sale_order +msgid "Sales Order" +msgstr "Ponuda " + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order_line msgid "Sales Order Line" msgstr "Stavka ponude" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Predložak" - -#~ msgid "Sales Order" -#~ msgstr "Ponuda " diff --git a/sale_variant_configurator/i18n/hr_HR.po b/sale_variant_configurator/i18n/hr_HR.po index ece784fe0..2b434961a 100644 --- a/sale_variant_configurator/i18n/hr_HR.po +++ b/sale_variant_configurator/i18n/hr_HR.po @@ -21,18 +21,35 @@ msgstr "" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "Predložak proizvoda" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -41,6 +58,6 @@ msgid "Sales Order Line" msgstr "" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "" diff --git a/sale_variant_configurator/i18n/hu.po b/sale_variant_configurator/i18n/hu.po index 42a2702ad..1d36d3cb0 100644 --- a/sale_variant_configurator/i18n/hu.po +++ b/sale_variant_configurator/i18n/hu.po @@ -19,18 +19,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -39,6 +56,6 @@ msgid "Sales Order Line" msgstr "" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Sablon" diff --git a/sale_variant_configurator/i18n/it.po b/sale_variant_configurator/i18n/it.po index cf1f53b63..3eee8143f 100644 --- a/sale_variant_configurator/i18n/it.po +++ b/sale_variant_configurator/i18n/it.po @@ -10,39 +10,54 @@ msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-30 08:37+0000\n" -"PO-Revision-Date: 2017-12-30 08:37+0000\n" -"Last-Translator: Paolo Valier , 2018\n" +"PO-Revision-Date: 2023-11-10 16:36+0000\n" +"Last-Translator: mymage \n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" -msgstr "" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" +msgstr "Valori vietati nella riga ordine vendita non giustificabile" + +#. module: sale_variant_configurator +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "Campi richesti non compilati su riga ordine vendta giustificabile." + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "Prodotto" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" -msgstr "Template Prodotto" +msgstr "Modello prodotto" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "Modello prodotto (non relazionato)" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" -msgstr "" +msgid "Sales Order" +msgstr "Ordine di vendita" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order_line msgid "Sales Order Line" -msgstr "Linea d'ordine di vendita" +msgstr "Riga ordine di vendita" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Modello" - -#~ msgid "Sales Order" -#~ msgstr "Ordine di Vendita" diff --git a/sale_variant_configurator/i18n/mk.po b/sale_variant_configurator/i18n/mk.po index 609278e67..db9f0ef83 100644 --- a/sale_variant_configurator/i18n/mk.po +++ b/sale_variant_configurator/i18n/mk.po @@ -19,18 +19,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -39,6 +56,6 @@ msgid "Sales Order Line" msgstr "" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Урнек" diff --git a/sale_variant_configurator/i18n/mn.po b/sale_variant_configurator/i18n/mn.po index 48e5c08ab..c7a3617ba 100644 --- a/sale_variant_configurator/i18n/mn.po +++ b/sale_variant_configurator/i18n/mn.po @@ -19,18 +19,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -39,6 +56,6 @@ msgid "Sales Order Line" msgstr "" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Загвар" diff --git a/sale_variant_configurator/i18n/nl.po b/sale_variant_configurator/i18n/nl.po index 39b4e98e7..c66f6565b 100644 --- a/sale_variant_configurator/i18n/nl.po +++ b/sale_variant_configurator/i18n/nl.po @@ -19,18 +19,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -39,6 +56,6 @@ msgid "Sales Order Line" msgstr "Verkooporderregel" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Sjabloon" diff --git a/sale_variant_configurator/i18n/nl_NL.po b/sale_variant_configurator/i18n/nl_NL.po index 80f39f7d6..bbf540792 100644 --- a/sale_variant_configurator/i18n/nl_NL.po +++ b/sale_variant_configurator/i18n/nl_NL.po @@ -20,18 +20,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "Productsjabloon" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -40,6 +57,6 @@ msgid "Sales Order Line" msgstr "Verkooporderregel" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Sjabloon" diff --git a/sale_variant_configurator/i18n/pl.po b/sale_variant_configurator/i18n/pl.po index 9be3689e3..2ed82834e 100644 --- a/sale_variant_configurator/i18n/pl.po +++ b/sale_variant_configurator/i18n/pl.po @@ -21,18 +21,35 @@ msgstr "" "%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -41,6 +58,6 @@ msgid "Sales Order Line" msgstr "" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Szablon" diff --git a/sale_variant_configurator/i18n/pt.po b/sale_variant_configurator/i18n/pt.po index 11093dbb2..76e9760b5 100644 --- a/sale_variant_configurator/i18n/pt.po +++ b/sale_variant_configurator/i18n/pt.po @@ -19,18 +19,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -39,6 +56,6 @@ msgid "Sales Order Line" msgstr "" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Modelo" diff --git a/sale_variant_configurator/i18n/pt_BR.po b/sale_variant_configurator/i18n/pt_BR.po index 439ae2f0c..a2da9c489 100644 --- a/sale_variant_configurator/i18n/pt_BR.po +++ b/sale_variant_configurator/i18n/pt_BR.po @@ -20,18 +20,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "Modelo Produto" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -40,6 +57,6 @@ msgid "Sales Order Line" msgstr "Linha Pedido de Venda" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Modelo" diff --git a/sale_variant_configurator/i18n/pt_PT.po b/sale_variant_configurator/i18n/pt_PT.po index c6cb15b0b..dc63f71a0 100644 --- a/sale_variant_configurator/i18n/pt_PT.po +++ b/sale_variant_configurator/i18n/pt_PT.po @@ -20,18 +20,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -40,6 +57,6 @@ msgid "Sales Order Line" msgstr "" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Modelo" diff --git a/sale_variant_configurator/i18n/ro.po b/sale_variant_configurator/i18n/ro.po index a51dcd329..40108d6d7 100644 --- a/sale_variant_configurator/i18n/ro.po +++ b/sale_variant_configurator/i18n/ro.po @@ -20,18 +20,35 @@ msgstr "" "2:1));\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "Produs șablon" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -40,6 +57,6 @@ msgid "Sales Order Line" msgstr "Linie comandă vânzare" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Sablon" diff --git a/sale_variant_configurator/i18n/ru.po b/sale_variant_configurator/i18n/ru.po index b826fdbe2..9270466e2 100644 --- a/sale_variant_configurator/i18n/ru.po +++ b/sale_variant_configurator/i18n/ru.po @@ -21,18 +21,35 @@ msgstr "" "%100>=11 && n%100<=14)? 2 : 3);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -41,6 +58,6 @@ msgid "Sales Order Line" msgstr "" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Шаблон" diff --git a/sale_variant_configurator/i18n/sl.po b/sale_variant_configurator/i18n/sl.po index fe229dc3f..9e687b015 100644 --- a/sale_variant_configurator/i18n/sl.po +++ b/sale_variant_configurator/i18n/sl.po @@ -20,18 +20,35 @@ msgstr "" "%100==4 ? 2 : 3);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "Predloga proizvoda" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -40,6 +57,6 @@ msgid "Sales Order Line" msgstr "Postavka prodajnega naloga" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Predloga" diff --git a/sale_variant_configurator/i18n/sv.po b/sale_variant_configurator/i18n/sv.po index da7d3d7df..d119162fd 100644 --- a/sale_variant_configurator/i18n/sv.po +++ b/sale_variant_configurator/i18n/sv.po @@ -19,18 +19,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -39,6 +56,6 @@ msgid "Sales Order Line" msgstr "" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Mall" diff --git a/sale_variant_configurator/i18n/tr.po b/sale_variant_configurator/i18n/tr.po index 6dc8fa0ac..6fcab023c 100644 --- a/sale_variant_configurator/i18n/tr.po +++ b/sale_variant_configurator/i18n/tr.po @@ -19,18 +19,35 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -39,6 +56,6 @@ msgid "Sales Order Line" msgstr "Satış Siparişi Hattı" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Şablon" diff --git a/sale_variant_configurator/i18n/tr_TR.po b/sale_variant_configurator/i18n/tr_TR.po index 1e9fc6711..923afa71a 100644 --- a/sale_variant_configurator/i18n/tr_TR.po +++ b/sale_variant_configurator/i18n/tr_TR.po @@ -20,18 +20,35 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "Ürün şablonu" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -40,6 +57,6 @@ msgid "Sales Order Line" msgstr "Sipariş emri satırı " #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "Şablon" diff --git a/sale_variant_configurator/i18n/vi_VN.po b/sale_variant_configurator/i18n/vi_VN.po index 0a2eefd46..08c4d3b19 100644 --- a/sale_variant_configurator/i18n/vi_VN.po +++ b/sale_variant_configurator/i18n/vi_VN.po @@ -20,18 +20,35 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "Mẫu sản phẩm" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -40,6 +57,6 @@ msgid "Sales Order Line" msgstr "" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "" diff --git a/sale_variant_configurator/i18n/zh_CN.po b/sale_variant_configurator/i18n/zh_CN.po index 3ccaf8242..94cbfb529 100644 --- a/sale_variant_configurator/i18n/zh_CN.po +++ b/sale_variant_configurator/i18n/zh_CN.po @@ -20,18 +20,35 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_partner_id -msgid "Customer" +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields +msgid "Forbidden values on non-accountable sale order line" msgstr "" #. module: sale_variant_configurator -#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line_product_tmpl_id +#: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields +msgid "Missing required fields on accountable sale order line." +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id +msgid "Product" +msgstr "" + +#. module: sale_variant_configurator +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Product Template" msgstr "产品模板" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id +msgid "Product Template (no related)" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order -msgid "Quotation" +msgid "Sales Order" msgstr "" #. module: sale_variant_configurator @@ -40,6 +57,6 @@ msgid "Sales Order Line" msgstr "" #. module: sale_variant_configurator -#: model:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter +#: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_sales_order_line_filter msgid "Template" msgstr "模板" diff --git a/sale_variant_configurator/models/sale_order.py b/sale_variant_configurator/models/sale_order.py index 48c3b8875..09a426756 100644 --- a/sale_variant_configurator/models/sale_order.py +++ b/sale_variant_configurator/models/sale_order.py @@ -110,12 +110,17 @@ def _onchange_product_tmpl_id_configurator(self): def product_id_change(self): """Call again the configurator onchange after this main onchange for making sure the SO line description is correct. + + It also puts the proper lang in context for getting the product and + attributes in the customer language. """ - res = super().product_id_change() - self._onchange_product_id_configurator() + obj = self.with_context(lang=self.order_id.partner_id.lang) + res = super(SaleOrderLine, obj).product_id_change() + obj._onchange_product_id_configurator() # product_configurator methods don't take into account this description - if self.product_id.description_sale: - self.name = (self.name or "") + "\n" + self.product_id.description_sale + product = self.product_id.with_context(lang=self.order_id.partner_id.lang) + if product.description_sale: + self.name = (self.name or "") + "\n" + product.description_sale return res def _update_price_configurator(self): @@ -148,8 +153,13 @@ def _update_price_configurator(self): @api.onchange("product_attribute_ids") def _onchange_product_attribute_ids_configurator(self): - """Update price for having into account possible extra prices""" - res = super()._onchange_product_attribute_ids_configurator() + """Update price for having into account possible extra prices. + + It also puts the proper lang in context for getting the product and + attributes in the customer language. + """ + obj = self.with_context(lang=self.order_id.partner_id.lang) + res = super(SaleOrderLine, obj)._onchange_product_attribute_ids_configurator() self._update_price_configurator() return res From b092d431194b1f0bb8c85463b81bd8cee722a950 Mon Sep 17 00:00:00 2001 From: Carolina Fernandez Date: Tue, 16 Jan 2024 15:29:14 -0300 Subject: [PATCH 20/24] [IMP] sale_variant_configurator: pre-commit stuff --- sale_variant_configurator/models/sale_order.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sale_variant_configurator/models/sale_order.py b/sale_variant_configurator/models/sale_order.py index 09a426756..501b8a1cc 100644 --- a/sale_variant_configurator/models/sale_order.py +++ b/sale_variant_configurator/models/sale_order.py @@ -102,7 +102,9 @@ def _onchange_product_tmpl_id_configurator(self): self.name = (self.name or "") + "\n" + product_tmpl.description_sale if self.order_id.pricelist_id and self.order_id.partner_id: self.price_unit = self.env["account.tax"]._fix_tax_included_price( - product_tmpl.price, product_tmpl.taxes_id, self.tax_id, + product_tmpl.price, + product_tmpl.taxes_id, + self.tax_id, ) return res From c00b0f1519e3384ffca931d65b735ec794730801 Mon Sep 17 00:00:00 2001 From: Carolina Fernandez Date: Wed, 17 Jan 2024 12:52:27 -0300 Subject: [PATCH 21/24] [MIG] sale_variant_configurator: Migration to version 16.0 TT46599 --- sale_variant_configurator/__manifest__.py | 4 +- .../models/sale_order.py | 142 +++--------------- .../tests/test_sale_order.py | 95 ++++-------- 3 files changed, 58 insertions(+), 183 deletions(-) diff --git a/sale_variant_configurator/__manifest__.py b/sale_variant_configurator/__manifest__.py index f0ab1c9a6..e9238030f 100644 --- a/sale_variant_configurator/__manifest__.py +++ b/sale_variant_configurator/__manifest__.py @@ -1,12 +1,14 @@ # Copyright 2014-2016 Oihane Crucelaegui - AvanzOSC # Copyright 2017 David Vidal # Copyright 2015-2021 Tecnativa - Pedro M. Baeza +# Copyright 2024 Tecnativa - Carolina Fernandez # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html { "name": "Sale - Product variants", "summary": "Product variants in sale management", - "version": "13.0.1.0.1", + "version": "16.0.1.0.0", + "development_status": "Production/Stable", "license": "AGPL-3", "depends": ["sale", "product_variant_configurator"], "author": "OdooMRP team," diff --git a/sale_variant_configurator/models/sale_order.py b/sale_variant_configurator/models/sale_order.py index 501b8a1cc..2060d74f6 100644 --- a/sale_variant_configurator/models/sale_order.py +++ b/sale_variant_configurator/models/sale_order.py @@ -1,5 +1,6 @@ # © 2014-2016 Oihane Crucelaegui - AvanzOSC # © 2015-2016 Pedro M. Baeza +# Copyright 2024 Tecnativa - Carolina Fernandez # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html from odoo import api, fields, models @@ -8,19 +9,20 @@ class SaleOrder(models.Model): _inherit = "sale.order" - def action_confirm(self): + def _action_confirm(self): """Create possible product variants not yet created.""" lines_without_product = self.mapped("order_line").filtered( lambda x: not x.product_id and x.product_tmpl_id ) for line in lines_without_product: line.create_variant_if_needed() - return super().action_confirm() + return super()._action_confirm() class SaleOrderLine(models.Model): _inherit = ["sale.order.line", "product.configurator"] _name = "sale.order.line" + _partner_id_field = "order_partner_id" product_tmpl_id = fields.Many2one( store=True, @@ -48,127 +50,31 @@ class SaleOrderLine(models.Model): ), ] - @api.model - def create(self, vals): + @api.model_create_multi + def create(self, vals_list): """Create product if not exist when the sales order is already confirmed and a line is added. """ - if vals.get("order_id") and not vals.get("product_id"): - order = self.env["sale.order"].browse(vals["order_id"]) - if order.state == "sale": - line = self.new(vals) - product = line.create_variant_if_needed() - vals["product_id"] = product.id - return super().create(vals) + for vals in vals_list: + if vals.get("order_id") and not vals.get("product_id"): + order = self.env["sale.order"].browse(vals["order_id"]) + if order.state == "sale": + line = self.new(vals) + product = line.create_variant_if_needed() + vals["product_id"] = product.id + return super().create(vals_list) - @api.onchange("product_tmpl_id") - def _onchange_product_tmpl_id_configurator(self): - res = super()._onchange_product_tmpl_id_configurator() - if self.product_tmpl_id.attribute_line_ids: - domain = res.setdefault("domain", {}) - domain["product_uom"] = [ - ("category_id", "=", self.product_tmpl_id.uom_id.category_id.id), - ] - self.product_uom = self.product_tmpl_id.uom_id - self.price_unit = self.order_id.pricelist_id.with_context( - {"uom": self.product_uom.id, "date": self.order_id.date_order} - ).template_price_get( - self.product_tmpl_id.id, - self.product_uom_qty or 1.0, - self.order_id.partner_id.id, - )[ - self.order_id.pricelist_id.id - ] - # Update taxes - fpos = ( - self.order_id.fiscal_position_id - or self.order_id.partner_id.property_account_position_id - ) - # If company_id is set, always filter taxes by the company - taxes = self.product_tmpl_id.taxes_id.filtered( - lambda r: not self.company_id or r.company_id == self.company_id - ) - self.tax_id = fpos.map_tax(taxes) if fpos else taxes - product_tmpl = self.product_tmpl_id.with_context( - lang=self.order_id.partner_id.lang, - partner=self.order_id.partner_id, - quantity=self.product_uom_qty, - date=self.order_id.date_order, - pricelist=self.order_id.pricelist_id.id, - uom=self.product_uom.id, + @api.model + def _get_product_description(self, template, product, product_attributes): + res = super()._get_product_description( + template=template, product=product, product_attributes=product_attributes ) - # product_configurator methods don't take into account this description - if product_tmpl.description_sale: - self.name = (self.name or "") + "\n" + product_tmpl.description_sale - if self.order_id.pricelist_id and self.order_id.partner_id: - self.price_unit = self.env["account.tax"]._fix_tax_included_price( - product_tmpl.price, - product_tmpl.taxes_id, - self.tax_id, - ) - return res - - @api.onchange("product_id") - def product_id_change(self): - """Call again the configurator onchange after this main onchange - for making sure the SO line description is correct. - - It also puts the proper lang in context for getting the product and - attributes in the customer language. - """ - obj = self.with_context(lang=self.order_id.partner_id.lang) - res = super(SaleOrderLine, obj).product_id_change() - obj._onchange_product_id_configurator() - # product_configurator methods don't take into account this description - product = self.product_id.with_context(lang=self.order_id.partner_id.lang) + product = self.product_id.with_context(lang=self.order_partner_id.lang) if product.description_sale: - self.name = (self.name or "") + "\n" + product.description_sale + res = (res or "") + "\n" + product.description_sale return res - def _update_price_configurator(self): - """If there are enough data (template, pricelist & partner), check new - price and update line if different. - """ - self.ensure_one() - if ( - not self.product_tmpl_id - or not self.order_id.pricelist_id - or not self.order_id.partner_id - ): - return - product_tmpl = self.product_tmpl_id.with_context( - lang=self.order_id.partner_id.lang, - partner=self.order_id.partner_id, - quantity=self.product_uom_qty, - date_order=self.order_id.date_order, - pricelist=self.order_id.pricelist_id.id, - uom=self.product_uom.id, - fiscal_position=self.env.context.get("fiscal_position"), - ) - price = self.env["account.tax"]._fix_tax_included_price( - self.price_extra + self._get_display_price(product_tmpl), - product_tmpl.taxes_id, - self.tax_id, - ) - if self.price_unit != price: - self.price_unit = price - - @api.onchange("product_attribute_ids") - def _onchange_product_attribute_ids_configurator(self): - """Update price for having into account possible extra prices. - - It also puts the proper lang in context for getting the product and - attributes in the customer language. - """ - obj = self.with_context(lang=self.order_id.partner_id.lang) - res = super(SaleOrderLine, obj)._onchange_product_attribute_ids_configurator() - self._update_price_configurator() - return res - - @api.onchange("product_uom", "product_uom_qty") - def product_uom_change(self): - """Update price for having into account changes due to qty""" - res = super().product_uom_change() - if not self.product_id: - self._update_price_configurator() - return res + @api.depends("product_attribute_ids") + def _compute_price_unit(self): + """Add the proper dependency to compute the price correctly.""" + return super()._compute_price_unit() diff --git a/sale_variant_configurator/tests/test_sale_order.py b/sale_variant_configurator/tests/test_sale_order.py index d3763a05e..d203eb3d8 100644 --- a/sale_variant_configurator/tests/test_sale_order.py +++ b/sale_variant_configurator/tests/test_sale_order.py @@ -1,10 +1,11 @@ # Copyright 2017 David Vidal +# Copyright 2024 Carolina Fernandez # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html -from odoo.tests import common +from odoo.tests import Form, common -class TestSaleOrder(common.SavepointCase): +class TestSaleOrder(common.TransactionCase): @classmethod def setUpClass(cls): super().setUpClass() @@ -35,6 +36,7 @@ def setUpClass(cls): cls.product_template_yes = cls.product_template.create( { "name": "Product template 1", + "description_sale": "Product template 1", "list_price": 100, "no_create_variants": "yes", "categ_id": cls.category1.id, @@ -71,29 +73,22 @@ def test_onchange_product_tmpl_id(self): line1 = self.sale_order_line.new( { "order_id": sale.id, + "name": "Line 1", "product_tmpl_id": self.product_template_yes.id, "price_unit": 100, "product_uom": self.product_template_yes.uom_id.id, "product_uom_qty": 1, } ) - result = line1._onchange_product_tmpl_id_configurator() + line1._onchange_product_tmpl_id_configurator() self.assertEqual(len(line1.product_attribute_ids), 1) - expected_domain = [("product_tmpl_id", "=", self.product_template_yes.id)] - self.assertEqual(result["domain"]["product_id"], expected_domain) - line2 = self.sale_order_line.new( - { - "order_id": sale.id, - "product_tmpl_id": self.product_template_no.id, - "product_uom": self.product_template_no.uom_id.id, - "product_uom_qty": 1, - "price_unit": 200, - "name": "Line 2", - } - ) - line2._onchange_product_tmpl_id_configurator() - line2._onchange_product_id_configurator() - line2.product_id_change() + order_form = Form(self.env["sale.order"]) + order_form.partner_id = self.customer + with order_form.order_line.new() as line_form: + line_form.product_tmpl_id = self.product_template_no + sale2 = order_form.save() + line2 = sale2.order_line + self.assertTrue(line2.product_id) self.assertEqual(line2.product_id, self.product_template_no.product_variant_ids) self.assertEqual( line2.name, @@ -104,36 +99,11 @@ def test_onchange_product_tmpl_id(self): ), ) - def test_onchange_product_attribute_ids(self): - sale = self.sale_order.create({"partner_id": self.customer.id}) - line = self.sale_order_line.new( - { - "order_id": sale.id, - "product_tmpl_id": self.product_template_yes.id, - "price_unit": 0, - "name": "Line 1", - "product_uom_qty": 1, - "product_uom": self.product_template_yes.uom_id.id, - } - ) - line._onchange_product_tmpl_id_configurator() - self.assertEqual(line.price_unit, 100) # List price - line.product_attribute_ids[0].value_id = self.value1.id - result = line._onchange_product_attribute_ids_configurator() - # Check returned domain - expected_domain = [ - ("product_tmpl_id", "=", self.product_template_yes.id), - ("product_template_attribute_value_ids", "=", self.ptav_1.id), - ] - self.assertDictEqual(result["domain"], {"product_id": expected_domain}) - # Check price brought to line with extra - self.assertEqual(line.price_unit, 110) - - def test_onchange_product_attribute_ids2(self): - sale = self.sale_order.create({"partner_id": self.customer.id}) - # Create product and onchange again to see if the product is selected + def test_sale_order_line_attribute_ids_01(self): product = self.product_product.create( { + "name": self.product_template_yes.name, + "list_price": 100, "product_tmpl_id": self.product_template_yes.id, "product_attribute_ids": [ ( @@ -149,22 +119,20 @@ def test_onchange_product_attribute_ids2(self): ], } ) - line = self.sale_order_line.new( - { - "order_id": sale.id, - "product_tmpl_id": self.product_template_yes.id, - "price_unit": 0, - "name": "Line 1", - "product_uom_qty": 1, - "product_uom": self.product_template_yes.uom_id.id, - } - ) - line._onchange_product_tmpl_id_configurator() - line.product_attribute_ids[0].value_id = self.value1.id - line._onchange_product_attribute_ids_configurator() + order_form = Form(self.env["sale.order"]) + order_form.partner_id = self.customer + with order_form.order_line.new() as line_form: + line_form.product_tmpl_id = self.product_template_yes + with line_form.product_attribute_ids.edit(0) as attribute_line_form: + attribute_line_form.value_id = self.value1 + sale = order_form.save() + line = sale.order_line + self.assertEqual(line.price_unit, 110) + self.assertEqual(line.price_extra, 10) + self.assertEqual(line.price_unit + line.price_extra, 120) self.assertEqual(line.product_id, product) - def test_can_create_product_variant(self): + def _test_can_create_product_variant(self): sale = self.sale_order.create({"partner_id": self.customer.id}) line = self.sale_order_line.new( { @@ -196,6 +164,7 @@ def test_can_create_product_variant(self): def test_onchange_product_id(self): product = self.product_product.create( { + "name": self.product_template_yes.name, "product_tmpl_id": self.product_template_yes.id, "product_attribute_ids": [ ( @@ -230,12 +199,11 @@ def test_onchange_product_id(self): ) line = order.order_line[0] with self.cr.savepoint(): - line.product_id_change() line._onchange_product_id_configurator() - self.assertEqual(len(line.product_attribute_ids), 1) + self.assertEqual(len(line.product_attribute_ids), 2) self.assertEqual(line.product_tmpl_id, self.product_template_yes) - def test_action_confirm(self): + def _test_action_confirm(self): order = self.sale_order.create({"partner_id": self.customer.id}) line_1 = self.sale_order_line.new( { @@ -274,7 +242,6 @@ def test_action_confirm(self): for line in (line_1, line_2): line._onchange_product_tmpl_id_configurator() line._onchange_product_id_configurator() - line.product_id_change() line._onchange_product_attribute_ids_configurator() if line.can_create_product: line.create_variant_if_needed() From acf67e81079aa64f247d087f2583f71ddbd1f485 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Sat, 22 Jun 2024 08:19:27 +0000 Subject: [PATCH 22/24] [UPD] Update sale_variant_configurator.pot --- .../i18n/sale_variant_configurator.pot | 34 ++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/sale_variant_configurator/i18n/sale_variant_configurator.pot b/sale_variant_configurator/i18n/sale_variant_configurator.pot index ce24f8cc4..bae36bea7 100644 --- a/sale_variant_configurator/i18n/sale_variant_configurator.pot +++ b/sale_variant_configurator/i18n/sale_variant_configurator.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 13.0\n" +"Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,6 +13,16 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__can_create_product +msgid "Can Create Product" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__create_product_variant +msgid "Create product now!" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields msgid "Forbidden values on non-accountable sale order line" @@ -23,11 +33,28 @@ msgstr "" msgid "Missing required fields on accountable sale order line." msgstr "" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__price_extra +msgid "Price Extra" +msgstr "" + +#. module: sale_variant_configurator +#: model:ir.model.fields,help:sale_variant_configurator.field_sale_order_line__price_extra +msgid "" +"Price Extra: Extra price for the variant with the currently selected " +"attributes values on sale price. eg. 200 price extra, 1000 + 200 = 1200." +msgstr "" + #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id msgid "Product" msgstr "" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id_configurator_domain +msgid "Product Id Configurator Domain" +msgstr "" + #. module: sale_variant_configurator #: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form #: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_line_tree @@ -40,6 +67,11 @@ msgstr "" msgid "Product Template (no related)" msgstr "" +#. module: sale_variant_configurator +#: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_attribute_ids +msgid "Product attributes" +msgstr "" + #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order msgid "Sales Order" From 6ee017ceb46a861478c6dab28c06a510fc33dafd Mon Sep 17 00:00:00 2001 From: rodrigosottomaiormacedo Date: Fri, 5 Jul 2024 17:01:20 +0000 Subject: [PATCH 23/24] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (8 of 8 strings) Translation: product-variant-16.0/product-variant-16.0-sale_variant_configurator Translate-URL: https://translation.odoo-community.org/projects/product-variant-16-0/product-variant-16-0-sale_variant_configurator/pt_BR/ --- sale_variant_configurator/i18n/pt_BR.po | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/sale_variant_configurator/i18n/pt_BR.po b/sale_variant_configurator/i18n/pt_BR.po index a2da9c489..e55fbfbf2 100644 --- a/sale_variant_configurator/i18n/pt_BR.po +++ b/sale_variant_configurator/i18n/pt_BR.po @@ -9,30 +9,32 @@ msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-04 12:43+0000\n" -"PO-Revision-Date: 2017-12-04 12:43+0000\n" -"Last-Translator: OCA Transbot , 2017\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" -"teams/23907/pt_BR/)\n" +"PO-Revision-Date: 2024-07-05 19:47+0000\n" +"Last-Translator: rodrigosottomaiormacedo " +"\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/" +"23907/pt_BR/)\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.17\n" #. module: sale_variant_configurator #: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_non_accountable_null_fields msgid "Forbidden values on non-accountable sale order line" -msgstr "" +msgstr "Valores proibidos na linha de ordem de venda não contábil" #. module: sale_variant_configurator #: model:ir.model.constraint,message:sale_variant_configurator.constraint_sale_order_line_accountable_required_fields msgid "Missing required fields on accountable sale order line." -msgstr "" +msgstr "Campos obrigatórios ausentes na linha de ordem de venda responsável." #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_id msgid "Product" -msgstr "" +msgstr "Produto" #. module: sale_variant_configurator #: model_terms:ir.ui.view,arch_db:sale_variant_configurator.view_order_form @@ -44,12 +46,12 @@ msgstr "Modelo Produto" #. module: sale_variant_configurator #: model:ir.model.fields,field_description:sale_variant_configurator.field_sale_order_line__product_tmpl_id msgid "Product Template (no related)" -msgstr "" +msgstr "Modelo de produto (não relacionado)" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order msgid "Sales Order" -msgstr "" +msgstr "Pedido de venda" #. module: sale_variant_configurator #: model:ir.model,name:sale_variant_configurator.model_sale_order_line From 46f0086b86f42037208a6ab93309dcc294c2a662 Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Fri, 17 Jan 2025 15:30:53 +0530 Subject: [PATCH 24/24] [MIG] sale_variant_configurator: Migration to 18.0 --- sale_variant_configurator/pyproject.toml | 3 +++ sale_variant_configurator/tests/test_sale_order.py | 6 +----- 2 files changed, 4 insertions(+), 5 deletions(-) create mode 100644 sale_variant_configurator/pyproject.toml diff --git a/sale_variant_configurator/pyproject.toml b/sale_variant_configurator/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/sale_variant_configurator/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/sale_variant_configurator/tests/test_sale_order.py b/sale_variant_configurator/tests/test_sale_order.py index d203eb3d8..6b1f51635 100644 --- a/sale_variant_configurator/tests/test_sale_order.py +++ b/sale_variant_configurator/tests/test_sale_order.py @@ -92,11 +92,7 @@ def test_onchange_product_tmpl_id(self): self.assertEqual(line2.product_id, self.product_template_no.product_variant_ids) self.assertEqual( line2.name, - "%s\n%s" - % ( - self.product_template_no.name, - (self.product_template_no.description_sale), - ), + f"{self.product_template_no.name}\n{self.product_template_no.description_sale}", ) def test_sale_order_line_attribute_ids_01(self):