From 66a067be30574d18629251d2486c4078c6e0eca4 Mon Sep 17 00:00:00 2001
From: "sergio.teruel"
Date: Sat, 22 Sep 2018 00:17:23 +0200
Subject: [PATCH 01/28] 11.0[WIP]product_pricelist_revision
---
product_pricelist_revision/README.rst | 57 ++++++++
product_pricelist_revision/__init__.py | 2 +
product_pricelist_revision/__manifest__.py | 20 +++
product_pricelist_revision/i18n/es.po | 136 ++++++++++++++++++
product_pricelist_revision/models/__init__.py | 1 +
.../models/pricelist.py | 41 ++++++
.../static/description/icon.png | Bin 0 -> 9455 bytes
.../views/pricelist_view.xml | 73 ++++++++++
.../wizards/__init__.py | 1 +
.../wizards/pricelist_duplicate_wizard.py | 42 ++++++
.../pricelist_duplicate_wizard_view.xml | 42 ++++++
11 files changed, 415 insertions(+)
create mode 100644 product_pricelist_revision/README.rst
create mode 100644 product_pricelist_revision/__init__.py
create mode 100644 product_pricelist_revision/__manifest__.py
create mode 100644 product_pricelist_revision/i18n/es.po
create mode 100644 product_pricelist_revision/models/__init__.py
create mode 100644 product_pricelist_revision/models/pricelist.py
create mode 100644 product_pricelist_revision/static/description/icon.png
create mode 100644 product_pricelist_revision/views/pricelist_view.xml
create mode 100644 product_pricelist_revision/wizards/__init__.py
create mode 100644 product_pricelist_revision/wizards/pricelist_duplicate_wizard.py
create mode 100644 product_pricelist_revision/wizards/pricelist_duplicate_wizard_view.xml
diff --git a/product_pricelist_revision/README.rst b/product_pricelist_revision/README.rst
new file mode 100644
index 00000000000..c4faa10a163
--- /dev/null
+++ b/product_pricelist_revision/README.rst
@@ -0,0 +1,57 @@
+.. 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
+
+==========================
+Product Pricelist Revision
+==========================
+
+This module allow create revisions of pricelist prices.
+
+Usage
+=====
+
+To use this module, you need to:
+
+#. Go to...
+
+
+.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
+ :alt: Try me on Runbot
+ :target: https://runbot.odoo-community.org/runbot/135/11.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.
+
+Images
+------
+
+* Odoo Community Association: `Icon `_.
+
+Contributors
+------------
+
+* `Tecnativa `_:
+
+ * Carlos Dauden
+
+
+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/product_pricelist_revision/__init__.py b/product_pricelist_revision/__init__.py
new file mode 100644
index 00000000000..aee8895e7a3
--- /dev/null
+++ b/product_pricelist_revision/__init__.py
@@ -0,0 +1,2 @@
+from . import models
+from . import wizards
diff --git a/product_pricelist_revision/__manifest__.py b/product_pricelist_revision/__manifest__.py
new file mode 100644
index 00000000000..aa1cc5afaf3
--- /dev/null
+++ b/product_pricelist_revision/__manifest__.py
@@ -0,0 +1,20 @@
+# Copyright 2018 Carlos Dauden - Tecnativa
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+{
+ "name": "Product Pricelist Revision",
+ "summary": "Product Pricelist Revision",
+ "version": "11.0.1.0.0",
+ "category": "Product",
+ "website": "http://www.tecnativa.com",
+ "author": "Tecnativa S.L.",
+ "license": "AGPL-3",
+ "installable": True,
+ "depends": [
+ "sale_management",
+ ],
+ "data": [
+ "views/pricelist_view.xml",
+ "wizards/pricelist_duplicate_wizard_view.xml",
+ ],
+}
diff --git a/product_pricelist_revision/i18n/es.po b/product_pricelist_revision/i18n/es.po
new file mode 100644
index 00000000000..a313429f71d
--- /dev/null
+++ b/product_pricelist_revision/i18n/es.po
@@ -0,0 +1,136 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * product_pricelist_revision
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 9.0c\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-04-30 01:33+0200\n"
+"PO-Revision-Date: 2017-04-30 01:41+0200\n"
+"Last-Translator: Carlos Dauden \n"
+"Language-Team: carlos.dauden@tecnativa.com\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 1.8.7.1\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
+msgid "Apply"
+msgstr "Aplicar"
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_create_uid
+msgid "Created by"
+msgstr "Creado por"
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_create_date
+msgid "Created on"
+msgstr "Creado en"
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_date_end
+msgid "Date end"
+msgstr "Fecha final"
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_date_start
+msgid "Date start"
+msgstr "Fecha inicial"
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_display_name
+msgid "Display Name"
+msgstr "Nombre mostrado"
+
+#. module: product_pricelist_revision
+#: model:ir.actions.act_window,name:product_pricelist_revision.pricelist_item_duplicate_wizard_action
+msgid "Duplicate Item"
+msgstr "Duplicar elemento"
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_previous_price
+msgid "Fixed Price"
+msgstr "Precio fijo"
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_id
+msgid "ID"
+msgstr "ID (identificación)"
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard___last_update
+msgid "Last Modified on"
+msgstr "Última modificación en"
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_write_uid
+msgid "Last Updated by"
+msgstr "Última actualización de"
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_write_date
+msgid "Last Updated on"
+msgstr "Última actualización en"
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_previous_item_id
+msgid "Previous Item"
+msgstr "Elemento previo"
+
+#. module: product_pricelist_revision
+#: model:ir.actions.act_window,name:product_pricelist_revision.product_pricelist_item_action
+#: model:ir.ui.menu,name:product_pricelist_revision.menu_product_pricelist_item_action
+msgid "Pricelist Items"
+msgstr "Elementos de tarifa"
+
+#. module: product_pricelist_revision
+#: model:ir.model,name:product_pricelist_revision.model_product_pricelist_item
+msgid "Pricelist item"
+msgstr "Elemento de la tarifa"
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,help:product_pricelist_revision.field_product_pricelist_item_previous_item_id
+msgid "Relation with previous item when duplicate line"
+msgstr "Relacion con elemento previo cuando se duplica la linea"
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
+msgid ""
+"Set new start date and variation percent to duplicate.\n"
+" This process set start date previous day as end date of\n"
+" origin record.\n"
+" \n"
+" "
+msgstr ""
+"Establece fecha inicio y porcentage de variación para duplicar.\n"
+" Este proceso establecerá como fecha final el día previo a la fecha final en\n"
+" el registro original.\n"
+" \n"
+" "
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_variation_percent
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_variation_percent
+msgid "Variation %"
+msgstr "Variación %"
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
+msgid "or"
+msgstr "o"
+
+#. module: product_pricelist_revision
+#: model:ir.model,name:product_pricelist_revision.model_product_pricelist_item_duplicate_wizard
+msgid "product.pricelist.item.duplicate.wizard"
+msgstr ""
diff --git a/product_pricelist_revision/models/__init__.py b/product_pricelist_revision/models/__init__.py
new file mode 100644
index 00000000000..fa640d16f1a
--- /dev/null
+++ b/product_pricelist_revision/models/__init__.py
@@ -0,0 +1 @@
+from . import pricelist
diff --git a/product_pricelist_revision/models/pricelist.py b/product_pricelist_revision/models/pricelist.py
new file mode 100644
index 00000000000..93ea4fe3936
--- /dev/null
+++ b/product_pricelist_revision/models/pricelist.py
@@ -0,0 +1,41 @@
+# Copyright 2018 Carlos Dauden - Tecnativa
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from odoo import api, fields, models
+from odoo.addons import decimal_precision as dp
+
+
+class ProductPricelistItem(models.Model):
+ _inherit = 'product.pricelist.item'
+
+ name = fields.Char(search='_search_name')
+
+ previous_item_id = fields.Many2one(
+ comodel_name='product.pricelist.item',
+ string='Previous Item',
+ help='Relation with previous item when duplicate line',
+ )
+ previous_price = fields.Float(
+ related='previous_item_id.fixed_price',
+ readonly=True,
+ )
+ variation_percent = fields.Float(
+ compute='_compute_variation_percent',
+ store=True,
+ digits=dp.get_precision('Product Price'),
+ string='Variation %',
+ )
+
+ @api.model
+ def _search_name(self, operator, value):
+ domain = []
+ return [('applied_on', '=', '3_global'),]
+
+ @api.multi
+ @api.depends('fixed_price', 'previous_item_id.fixed_price')
+ def _compute_variation_percent(self):
+ for line in self:
+ if not (line.fixed_price and line.previous_price):
+ continue
+ line.variation_percent = (
+ (line.fixed_price / line.previous_price - 1) * 100)
diff --git a/product_pricelist_revision/static/description/icon.png b/product_pricelist_revision/static/description/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d
GIT binary patch
literal 9455
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
z
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
Xviia!U7SGha1wx#SCgwmn*{w2TRX*I
literal 0
HcmV?d00001
diff --git a/product_pricelist_revision/views/pricelist_view.xml b/product_pricelist_revision/views/pricelist_view.xml
new file mode 100644
index 00000000000..0899d0fd562
--- /dev/null
+++ b/product_pricelist_revision/views/pricelist_view.xml
@@ -0,0 +1,73 @@
+
+
+
+
+
+ product.pricelist.item
+
+ primary
+
+
+ bottom
+ false
+
+
+
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+ product.pricelist.item.search
+ product.pricelist.item
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Pricelist Items
+ ir.actions.act_window
+ product.pricelist.item
+ form
+ tree,form
+
+
+
+
+
+
diff --git a/product_pricelist_revision/wizards/__init__.py b/product_pricelist_revision/wizards/__init__.py
new file mode 100644
index 00000000000..2e393da49ab
--- /dev/null
+++ b/product_pricelist_revision/wizards/__init__.py
@@ -0,0 +1 @@
+from . import pricelist_duplicate_wizard
diff --git a/product_pricelist_revision/wizards/pricelist_duplicate_wizard.py b/product_pricelist_revision/wizards/pricelist_duplicate_wizard.py
new file mode 100644
index 00000000000..685fec85df5
--- /dev/null
+++ b/product_pricelist_revision/wizards/pricelist_duplicate_wizard.py
@@ -0,0 +1,42 @@
+# Copyright 2018 Carlos Dauden - Tecnativa
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from dateutil.relativedelta import relativedelta
+
+from odoo import api, fields, models
+from odoo.addons import decimal_precision as dp
+
+
+class ProductPricelistItemDuplicateWizard(models.TransientModel):
+ _name = 'product.pricelist.item.duplicate.wizard'
+
+ date_start = fields.Date(required=True)
+ date_end = fields.Date()
+ variation_percent = fields.Float(
+ digits=dp.get_precision('Product Price'),
+ string='Variation %',
+ )
+
+ @api.multi
+ def action_apply(self):
+ PricelistItem = self.env['product.pricelist.item']
+ new_items = PricelistItem
+ for item in PricelistItem.browse(self.env.context['active_ids']):
+ new_items |= item.copy({
+ 'date_start': self.date_start,
+ 'date_end': self.date_end,
+ 'previous_item_id': item.id,
+ 'fixed_price': item.fixed_price * (
+ 1.0 + self.variation_percent / 100.0),
+ })
+ item.date_end = (fields.Date.from_string(self.date_start) -
+ relativedelta(days=1))
+
+ action = self.env.ref(
+ 'product_pricelist_revision.product_pricelist_item_action'
+ ).read()[0]
+ if len(new_items) > 0:
+ action['domain'] = [('id', 'in', new_items.ids)]
+ else:
+ action = {'type': 'ir.actions.act_window_close'}
+ return action
diff --git a/product_pricelist_revision/wizards/pricelist_duplicate_wizard_view.xml b/product_pricelist_revision/wizards/pricelist_duplicate_wizard_view.xml
new file mode 100644
index 00000000000..e386d7893c0
--- /dev/null
+++ b/product_pricelist_revision/wizards/pricelist_duplicate_wizard_view.xml
@@ -0,0 +1,42 @@
+
+
+
+
+ Pricelist Item Duplicate
+ product.pricelist.item.duplicate.wizard
+
+
+
+
+
+
+
+
From 4e23ae416f4484cf65496d5d2421c430945512f2 Mon Sep 17 00:00:00 2001
From: Sergio Teruel
Date: Fri, 8 Feb 2019 10:32:37 +0100
Subject: [PATCH 02/28] [11.0][IMP] product_pricelist_revision: Complete
translations
---
product_pricelist_revision/i18n/es.po | 83 +++++++-
.../i18n/product_pricelist_revision.pot | 193 ++++++++++++++++++
2 files changed, 268 insertions(+), 8 deletions(-)
create mode 100644 product_pricelist_revision/i18n/product_pricelist_revision.pot
diff --git a/product_pricelist_revision/i18n/es.po b/product_pricelist_revision/i18n/es.po
index a313429f71d..2c781c4485f 100644
--- a/product_pricelist_revision/i18n/es.po
+++ b/product_pricelist_revision/i18n/es.po
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 9.0c\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-04-30 01:33+0200\n"
-"PO-Revision-Date: 2017-04-30 01:41+0200\n"
+"POT-Creation-Date: 2019-02-08 08:47+0000\n"
+"PO-Revision-Date: 2019-02-08 10:28+0100\n"
"Last-Translator: Carlos Dauden \n"
"Language-Team: carlos.dauden@tecnativa.com\n"
"Language: es\n"
@@ -15,9 +15,29 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.8.7.1\n"
+"X-Generator: Poedit 2.0.6\n"
"X-Poedit-SourceCharset: UTF-8\n"
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Applied on categories"
+msgstr "Aplicado a categorías"
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Applied on global"
+msgstr "Aplicado a todo"
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Applied on products"
+msgstr "Aplicado a plantilla de prouctos"
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Applied on variants"
+msgstr "Aplicado a variantes"
+
#. module: product_pricelist_revision
#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
msgid "Apply"
@@ -40,13 +60,13 @@ msgstr "Creado en"
#. module: product_pricelist_revision
#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_date_end
-msgid "Date end"
+msgid "Date End"
msgstr "Fecha final"
#. module: product_pricelist_revision
#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_date_start
-msgid "Date start"
-msgstr "Fecha inicial"
+msgid "Date Start"
+msgstr "Fecha inicio"
#. module: product_pricelist_revision
#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_display_name
@@ -63,11 +83,21 @@ msgstr "Duplicar elemento"
msgid "Fixed Price"
msgstr "Precio fijo"
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Group By"
+msgstr "Agrupado por"
+
#. module: product_pricelist_revision
#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_id
msgid "ID"
msgstr "ID (identificación)"
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Item"
+msgstr "Elemento"
+
#. module: product_pricelist_revision
#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard___last_update
msgid "Last Modified on"
@@ -88,17 +118,52 @@ msgstr "Última actualización en"
msgid "Previous Item"
msgstr "Elemento previo"
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Pricelist"
+msgstr "Tarifa"
+
#. module: product_pricelist_revision
#: model:ir.actions.act_window,name:product_pricelist_revision.product_pricelist_item_action
#: model:ir.ui.menu,name:product_pricelist_revision.menu_product_pricelist_item_action
msgid "Pricelist Items"
msgstr "Elementos de tarifa"
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Pricelist Items Search"
+msgstr "Buscar elementos de tarifa"
+
#. module: product_pricelist_revision
#: model:ir.model,name:product_pricelist_revision.model_product_pricelist_item
msgid "Pricelist item"
msgstr "Elemento de la tarifa"
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Product"
+msgstr "Producto"
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Product Category"
+msgstr "Categoría"
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Product Template"
+msgstr "Plantilla de producto"
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Product Variant"
+msgstr "Variantes de producto"
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Products"
+msgstr "Productos"
+
#. module: product_pricelist_revision
#: model:ir.model.fields,help:product_pricelist_revision.field_product_pricelist_item_previous_item_id
msgid "Relation with previous item when duplicate line"
@@ -108,13 +173,15 @@ msgstr "Relacion con elemento previo cuando se duplica la linea"
#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
msgid ""
"Set new start date and variation percent to duplicate.\n"
-" This process set start date previous day as end date of\n"
+" This process set start date previous day as end date "
+"of\n"
" origin record.\n"
" \n"
" "
msgstr ""
"Establece fecha inicio y porcentage de variación para duplicar.\n"
-" Este proceso establecerá como fecha final el día previo a la fecha final en\n"
+" Este proceso establecerá como fecha final el día previo "
+"a la fecha final en\n"
" el registro original.\n"
" \n"
" "
diff --git a/product_pricelist_revision/i18n/product_pricelist_revision.pot b/product_pricelist_revision/i18n/product_pricelist_revision.pot
new file mode 100644
index 00000000000..74794963b83
--- /dev/null
+++ b/product_pricelist_revision/i18n/product_pricelist_revision.pot
@@ -0,0 +1,193 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * product_pricelist_revision
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2019-02-08 08:47+0000\n"
+"PO-Revision-Date: 2019-02-08 08:47+0000\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: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Applied on categories"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Applied on global"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Applied on products"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Applied on variants"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
+msgid "Apply"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
+msgid "Cancel"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_create_date
+msgid "Created on"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_date_end
+msgid "Date End"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_date_start
+msgid "Date Start"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.actions.act_window,name:product_pricelist_revision.pricelist_item_duplicate_wizard_action
+msgid "Duplicate Item"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_previous_price
+msgid "Fixed Price"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Group By"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_id
+msgid "ID"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Item"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard___last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_previous_item_id
+msgid "Previous Item"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Pricelist"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.actions.act_window,name:product_pricelist_revision.product_pricelist_item_action
+#: model:ir.ui.menu,name:product_pricelist_revision.menu_product_pricelist_item_action
+msgid "Pricelist Items"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Pricelist Items Search"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model,name:product_pricelist_revision.model_product_pricelist_item
+msgid "Pricelist item"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Product"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Product Category"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Product Template"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Product Variant"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+msgid "Products"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,help:product_pricelist_revision.field_product_pricelist_item_previous_item_id
+msgid "Relation with previous item when duplicate line"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
+msgid "Set new start date and variation percent to duplicate.\n"
+" This process set start date previous day as end date of\n"
+" origin record.\n"
+" \n"
+" "
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_variation_percent
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_variation_percent
+msgid "Variation %"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
+msgid "or"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model,name:product_pricelist_revision.model_product_pricelist_item_duplicate_wizard
+msgid "product.pricelist.item.duplicate.wizard"
+msgstr ""
+
From 63fa1585001f3638c0582b58bcbbbbf20a3f2a49 Mon Sep 17 00:00:00 2001
From: ernesto
Date: Tue, 5 Nov 2019 10:16:52 -0500
Subject: [PATCH 03/28] [MIG] product_pricelist_revision: Migration to 12.0
[UPD] Update product_pricelist_revision.pot
[UPD] README.rst
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: product-attribute-12.0/product-attribute-12.0-product_pricelist_revision
Translate-URL: https://translation.odoo-community.org/projects/product-attribute-12-0/product-attribute-12-0-product_pricelist_revision/
---
product_pricelist_revision/README.rst | 95 +++-
product_pricelist_revision/__manifest__.py | 6 +-
product_pricelist_revision/i18n/es.po | 104 ++--
.../i18n/product_pricelist_revision.pot | 94 ++--
.../models/pricelist.py | 9 +-
.../readme/CONFIGURE.rst | 5 +
.../readme/CONTRIBUTORS.rst | 4 +
.../readme/DESCRIPTION.rst | 3 +
product_pricelist_revision/readme/USAGE.rst | 13 +
.../static/description/index.html | 453 ++++++++++++++++++
product_pricelist_revision/tests/__init__.py | 3 +
.../tests/test_product_pricelist_revision.py | 91 ++++
.../views/pricelist_view.xml | 4 +-
.../wizards/pricelist_duplicate_wizard.py | 4 +-
14 files changed, 768 insertions(+), 120 deletions(-)
create mode 100644 product_pricelist_revision/readme/CONFIGURE.rst
create mode 100644 product_pricelist_revision/readme/CONTRIBUTORS.rst
create mode 100644 product_pricelist_revision/readme/DESCRIPTION.rst
create mode 100644 product_pricelist_revision/readme/USAGE.rst
create mode 100644 product_pricelist_revision/static/description/index.html
create mode 100644 product_pricelist_revision/tests/__init__.py
create mode 100644 product_pricelist_revision/tests/test_product_pricelist_revision.py
diff --git a/product_pricelist_revision/README.rst b/product_pricelist_revision/README.rst
index c4faa10a163..ef69640189f 100644
--- a/product_pricelist_revision/README.rst
+++ b/product_pricelist_revision/README.rst
@@ -1,57 +1,104 @@
-.. 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
-
==========================
Product Pricelist Revision
==========================
-This module allow create revisions of pricelist prices.
+.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! This file is generated by oca-gen-addon-readme !!
+ !! changes will be overwritten. !!
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
+ :target: https://odoo-community.org/page/development-status
+ :alt: Beta
+.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
+ :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
+ :alt: License: AGPL-3
+.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproduct--attribute-lightgray.png?logo=github
+ :target: https://github.com/OCA/product-attribute/tree/12.0/product_pricelist_revision
+ :alt: OCA/product-attribute
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+ :target: https://translation.odoo-community.org/projects/product-attribute-12-0/product-attribute-12-0-product_pricelist_revision
+ :alt: Translate me on Weblate
+.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
+ :target: https://runbot.odoo-community.org/runbot/135/12.0
+ :alt: Try me on Runbot
+
+|badge1| |badge2| |badge3| |badge4| |badge5|
+
+This module adds a 'Pricelist items' tree view that allows to select several
+elements to version them and also to see the percentage 'fixed price'
+variation between a version and the previous one.
+
+**Table of contents**
+
+.. contents::
+ :local:
+
+Configuration
+=============
+
+To configure this module, you need to:
+
+#. Go to *Sales > Configuration > Settings* and check
+ "Multiple Sales Prices per Product" option and
+ "Prices computed from formulas" after that.
Usage
=====
To use this module, you need to:
-#. Go to...
-
-
-.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
- :alt: Try me on Runbot
- :target: https://runbot.odoo-community.org/runbot/135/11.0
+#. Go to *Sales > Products > Pricelists* and create a new Price List.
+#. Add a Pricelist Items to that Price List. Set 'Fix Price' value on the field
+ 'Compute Price' and set a fixed price.
+#. Go to the new menu *Sales > Products > Pricelist Items*, select the
+ previously created item and click on *Action > Duplicate Item*.
+#. In the wizard set 'Date Start', set 'Date End' and set 'Variation %' to
+ a value different from 100.
+#. Click on 'Apply' and you will see a new Price List Item that is a copy of
+ the previous item. In that new Item the value of the 'Fixed Price' field
+ will be the previous price plus that price multiplied by the variation
+ percentage and the value of the 'Variation %' will contain that value.
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 smashing it by providing a detailed and welcomed
+`feedback `_.
+
+Do not contact contributors directly about support or help with technical issues.
+
+Credits
+=======
-Images
-------
+Authors
+~~~~~~~
-* Odoo Community Association: `Icon `_.
+* Tecnativa
Contributors
-------------
+~~~~~~~~~~~~
* `Tecnativa `_:
* Carlos Dauden
+ * Ernesto Tejeda
+Maintainers
+~~~~~~~~~~~
-Maintainer
-----------
+This module is maintained by the OCA.
.. 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.
+This module is part of the `OCA/product-attribute `_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/product_pricelist_revision/__manifest__.py b/product_pricelist_revision/__manifest__.py
index aa1cc5afaf3..d2410012df0 100644
--- a/product_pricelist_revision/__manifest__.py
+++ b/product_pricelist_revision/__manifest__.py
@@ -4,10 +4,10 @@
{
"name": "Product Pricelist Revision",
"summary": "Product Pricelist Revision",
- "version": "11.0.1.0.0",
+ "version": "12.0.1.0.0",
"category": "Product",
- "website": "http://www.tecnativa.com",
- "author": "Tecnativa S.L.",
+ "website": "https://www.github.com/OCA/product-attribute",
+ "author": "Tecnativa, Odoo Community Association (OCA)",
"license": "AGPL-3",
"installable": True,
"depends": [
diff --git a/product_pricelist_revision/i18n/es.po b/product_pricelist_revision/i18n/es.po
index 2c781c4485f..cf50c1d7cd5 100644
--- a/product_pricelist_revision/i18n/es.po
+++ b/product_pricelist_revision/i18n/es.po
@@ -19,57 +19,57 @@ msgstr ""
"X-Poedit-SourceCharset: UTF-8\n"
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Applied on categories"
msgstr "Aplicado a categorías"
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Applied on global"
msgstr "Aplicado a todo"
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Applied on products"
msgstr "Aplicado a plantilla de prouctos"
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Applied on variants"
msgstr "Aplicado a variantes"
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
msgid "Apply"
msgstr "Aplicar"
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
msgid "Cancel"
msgstr "Cancelar"
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_create_uid
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__create_uid
msgid "Created by"
msgstr "Creado por"
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_create_date
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__create_date
msgid "Created on"
msgstr "Creado en"
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_date_end
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__date_end
msgid "Date End"
msgstr "Fecha final"
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_date_start
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__date_start
msgid "Date Start"
msgstr "Fecha inicio"
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_display_name
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__display_name
msgid "Display Name"
msgstr "Nombre mostrado"
@@ -79,50 +79,69 @@ msgid "Duplicate Item"
msgstr "Duplicar elemento"
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_previous_price
-msgid "Fixed Price"
-msgstr "Precio fijo"
+#: model:ir.model.fields,help:product_pricelist_revision.field_product_pricelist_item__name
+msgid "Explicit rule name for this pricelist line."
+msgstr ""
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Group By"
msgstr "Agrupado por"
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_id
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__id
msgid "ID"
msgstr "ID (identificación)"
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Item"
msgstr "Elemento"
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard___last_update
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard____last_update
msgid "Last Modified on"
msgstr "Última modificación en"
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_write_uid
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__write_uid
msgid "Last Updated by"
msgstr "Última actualización de"
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_write_date
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__write_date
msgid "Last Updated on"
msgstr "Última actualización en"
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_previous_item_id
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item__name
+msgid "Name"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item__previous_price
+#, fuzzy
+#| msgid "Fixed Price"
+msgid "Previous Fixed Price"
+msgstr "Precio fijo"
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item__previous_item_id
msgid "Previous Item"
msgstr "Elemento previo"
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Pricelist"
msgstr "Tarifa"
+#. module: product_pricelist_revision
+#: model:ir.model,name:product_pricelist_revision.model_product_pricelist_item
+#, fuzzy
+#| msgid "Pricelist Items"
+msgid "Pricelist Item"
+msgstr "Elementos de tarifa"
+
#. module: product_pricelist_revision
#: model:ir.actions.act_window,name:product_pricelist_revision.product_pricelist_item_action
#: model:ir.ui.menu,name:product_pricelist_revision.menu_product_pricelist_item_action
@@ -130,51 +149,45 @@ msgid "Pricelist Items"
msgstr "Elementos de tarifa"
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Pricelist Items Search"
msgstr "Buscar elementos de tarifa"
#. module: product_pricelist_revision
-#: model:ir.model,name:product_pricelist_revision.model_product_pricelist_item
-msgid "Pricelist item"
-msgstr "Elemento de la tarifa"
-
-#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Product"
msgstr "Producto"
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Product Category"
msgstr "Categoría"
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Product Template"
msgstr "Plantilla de producto"
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Product Variant"
msgstr "Variantes de producto"
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Products"
msgstr "Productos"
#. module: product_pricelist_revision
-#: model:ir.model.fields,help:product_pricelist_revision.field_product_pricelist_item_previous_item_id
+#: model:ir.model.fields,help:product_pricelist_revision.field_product_pricelist_item__previous_item_id
msgid "Relation with previous item when duplicate line"
msgstr "Relacion con elemento previo cuando se duplica la linea"
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
msgid ""
"Set new start date and variation percent to duplicate.\n"
-" This process set start date previous day as end date "
-"of\n"
+" This process set start date previous day as end date of\n"
" origin record.\n"
" \n"
" "
@@ -187,17 +200,20 @@ msgstr ""
" "
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_variation_percent
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_variation_percent
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item__variation_percent
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__variation_percent
msgid "Variation %"
msgstr "Variación %"
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
+#: model:ir.model,name:product_pricelist_revision.model_product_pricelist_item_duplicate_wizard
+msgid "Wizard Product Pricelist Item Duplicate"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
msgid "or"
msgstr "o"
-#. module: product_pricelist_revision
-#: model:ir.model,name:product_pricelist_revision.model_product_pricelist_item_duplicate_wizard
-msgid "product.pricelist.item.duplicate.wizard"
-msgstr ""
+#~ msgid "Pricelist item"
+#~ msgstr "Elemento de la tarifa"
diff --git a/product_pricelist_revision/i18n/product_pricelist_revision.pot b/product_pricelist_revision/i18n/product_pricelist_revision.pot
index 74794963b83..09c314f69e8 100644
--- a/product_pricelist_revision/i18n/product_pricelist_revision.pot
+++ b/product_pricelist_revision/i18n/product_pricelist_revision.pot
@@ -4,10 +4,8 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 11.0\n"
+"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-08 08:47+0000\n"
-"PO-Revision-Date: 2019-02-08 08:47+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -16,57 +14,57 @@ msgstr ""
"Plural-Forms: \n"
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Applied on categories"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Applied on global"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Applied on products"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Applied on variants"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
msgid "Apply"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
msgid "Cancel"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_create_uid
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__create_uid
msgid "Created by"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_create_date
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__create_date
msgid "Created on"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_date_end
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__date_end
msgid "Date End"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_date_start
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__date_start
msgid "Date Start"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_display_name
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__display_name
msgid "Display Name"
msgstr ""
@@ -76,50 +74,65 @@ msgid "Duplicate Item"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_previous_price
-msgid "Fixed Price"
+#: model:ir.model.fields,help:product_pricelist_revision.field_product_pricelist_item__name
+msgid "Explicit rule name for this pricelist line."
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Group By"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_id
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__id
msgid "ID"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Item"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard___last_update
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard____last_update
msgid "Last Modified on"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_write_uid
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__write_uid
msgid "Last Updated by"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_write_date
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__write_date
msgid "Last Updated on"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_previous_item_id
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item__name
+msgid "Name"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item__previous_price
+msgid "Previous Fixed Price"
+msgstr ""
+
+#. module: product_pricelist_revision
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item__previous_item_id
msgid "Previous Item"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Pricelist"
msgstr ""
+#. module: product_pricelist_revision
+#: model:ir.model,name:product_pricelist_revision.model_product_pricelist_item
+msgid "Pricelist Item"
+msgstr ""
+
#. module: product_pricelist_revision
#: model:ir.actions.act_window,name:product_pricelist_revision.product_pricelist_item_action
#: model:ir.ui.menu,name:product_pricelist_revision.menu_product_pricelist_item_action
@@ -127,47 +140,42 @@ msgid "Pricelist Items"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Pricelist Items Search"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.model,name:product_pricelist_revision.model_product_pricelist_item
-msgid "Pricelist item"
-msgstr ""
-
-#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Product"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Product Category"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Product Template"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Product Variant"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.product_pricelist_item_view_search
msgid "Products"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.model.fields,help:product_pricelist_revision.field_product_pricelist_item_previous_item_id
+#: model:ir.model.fields,help:product_pricelist_revision.field_product_pricelist_item__previous_item_id
msgid "Relation with previous item when duplicate line"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
msgid "Set new start date and variation percent to duplicate.\n"
" This process set start date previous day as end date of\n"
" origin record.\n"
@@ -176,18 +184,18 @@ msgid "Set new start date and variation percent to duplicate.\n"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard_variation_percent
-#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_variation_percent
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item__variation_percent
+#: model:ir.model.fields,field_description:product_pricelist_revision.field_product_pricelist_item_duplicate_wizard__variation_percent
msgid "Variation %"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
-msgid "or"
+#: model:ir.model,name:product_pricelist_revision.model_product_pricelist_item_duplicate_wizard
+msgid "Wizard Product Pricelist Item Duplicate"
msgstr ""
#. module: product_pricelist_revision
-#: model:ir.model,name:product_pricelist_revision.model_product_pricelist_item_duplicate_wizard
-msgid "product.pricelist.item.duplicate.wizard"
+#: model_terms:ir.ui.view,arch_db:product_pricelist_revision.pricelist_item_duplicate_wizard_view
+msgid "or"
msgstr ""
diff --git a/product_pricelist_revision/models/pricelist.py b/product_pricelist_revision/models/pricelist.py
index 93ea4fe3936..bb2b11516e8 100644
--- a/product_pricelist_revision/models/pricelist.py
+++ b/product_pricelist_revision/models/pricelist.py
@@ -17,6 +17,7 @@ class ProductPricelistItem(models.Model):
)
previous_price = fields.Float(
related='previous_item_id.fixed_price',
+ string='Previous Fixed Price',
readonly=True,
)
variation_percent = fields.Float(
@@ -28,8 +29,12 @@ class ProductPricelistItem(models.Model):
@api.model
def _search_name(self, operator, value):
- domain = []
- return [('applied_on', '=', '3_global'),]
+ return [
+ '|', '|',
+ ('categ_id', operator, value),
+ ('product_tmpl_id', operator, value),
+ ('product_id', operator, value),
+ ]
@api.multi
@api.depends('fixed_price', 'previous_item_id.fixed_price')
diff --git a/product_pricelist_revision/readme/CONFIGURE.rst b/product_pricelist_revision/readme/CONFIGURE.rst
new file mode 100644
index 00000000000..d17c2e4e7a5
--- /dev/null
+++ b/product_pricelist_revision/readme/CONFIGURE.rst
@@ -0,0 +1,5 @@
+To configure this module, you need to:
+
+#. Go to *Sales > Configuration > Settings* and check
+ "Multiple Sales Prices per Product" option and
+ "Prices computed from formulas" after that.
diff --git a/product_pricelist_revision/readme/CONTRIBUTORS.rst b/product_pricelist_revision/readme/CONTRIBUTORS.rst
new file mode 100644
index 00000000000..0b072f0d593
--- /dev/null
+++ b/product_pricelist_revision/readme/CONTRIBUTORS.rst
@@ -0,0 +1,4 @@
+* `Tecnativa `_:
+
+ * Carlos Dauden
+ * Ernesto Tejeda
diff --git a/product_pricelist_revision/readme/DESCRIPTION.rst b/product_pricelist_revision/readme/DESCRIPTION.rst
new file mode 100644
index 00000000000..22b4f48eaff
--- /dev/null
+++ b/product_pricelist_revision/readme/DESCRIPTION.rst
@@ -0,0 +1,3 @@
+This module adds a 'Pricelist items' tree view that allows to select several
+elements to version them and also to see the percentage 'fixed price'
+variation between a version and the previous one.
diff --git a/product_pricelist_revision/readme/USAGE.rst b/product_pricelist_revision/readme/USAGE.rst
new file mode 100644
index 00000000000..3d6d7abd63a
--- /dev/null
+++ b/product_pricelist_revision/readme/USAGE.rst
@@ -0,0 +1,13 @@
+To use this module, you need to:
+
+#. Go to *Sales > Products > Pricelists* and create a new Price List.
+#. Add a Pricelist Items to that Price List. Set 'Fix Price' value on the field
+ 'Compute Price' and set a fixed price.
+#. Go to the new menu *Sales > Products > Pricelist Items*, select the
+ previously created item and click on *Action > Duplicate Item*.
+#. In the wizard set 'Date Start', set 'Date End' and set 'Variation %' to
+ a value different from 100.
+#. Click on 'Apply' and you will see a new Price List Item that is a copy of
+ the previous item. In that new Item the value of the 'Fixed Price' field
+ will be the previous price plus that price multiplied by the variation
+ percentage and the value of the 'Variation %' will contain that value.
diff --git a/product_pricelist_revision/static/description/index.html b/product_pricelist_revision/static/description/index.html
new file mode 100644
index 00000000000..0466325b8ac
--- /dev/null
+++ b/product_pricelist_revision/static/description/index.html
@@ -0,0 +1,453 @@
+
+
+
+
+
+
+Product Pricelist Revision
+
+
+
+
+
Product Pricelist Revision
+
+
+
+
This module adds a ‘Pricelist items’ tree view that allows to select several
+elements to version them and also to see the percentage ‘fixed price’
+variation between a version and the previous one.
Go to Sales > Products > Pricelists and create a new Price List.
+
Add a Pricelist Items to that Price List. Set ‘Fix Price’ value on the field
+‘Compute Price’ and set a fixed price.
+
Go to the new menu Sales > Products > Pricelist Items, select the
+previously created item and click on Action > Duplicate Item.
+
In the wizard set ‘Date Start’, set ‘Date End’ and set ‘Variation %’ to
+a value different from 100.
+
Click on ‘Apply’ and you will see a new Price List Item that is a copy of
+the previous item. In that new Item the value of the ‘Fixed Price’ field
+will be the previous price plus that price multiplied by the variation
+percentage and the value of the ‘Variation %’ will contain that value.
Bugs are tracked on GitHub Issues.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed
+feedback.
+
Do not contact contributors directly about support or help with technical issues.
OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
This module adds a ‘Pricelist items’ tree view that allows to select several
elements to version them and also to see the percentage ‘fixed price’
variation between a version and the previous one.
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.
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.