[tryton-debian-vcs] tryton-modules-sale-opportunity branch upstream updated. upstream/4.2.0-1-g543e87a

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Wed Jun 7 13:35:31 UTC 2017


The following commit has been merged in the upstream branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-modules-sale-opportunity.git;a=commitdiff;h=upstream/4.2.0-1-g543e87a

commit 543e87ae55762103cfb76254399751c17dea8c7b
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Wed Jun 7 15:26:57 2017 +0200

    Adding upstream version 4.4.0.
    
    Signed-off-by: Mathias Behrle <mathiasb at m9s.biz>

diff --git a/CHANGELOG b/CHANGELOG
index e54225d..5df47d6 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,8 @@
+Version 4.4.0 - 2017-05-01
+* Bug fixes (see mercurial logs for details)
+* Compute rates as ratio
+* Make Opportunity employee not required on leads
+
 Version 4.2.0 - 2016-11-28
 * Bug fixes (see mercurial logs for details)
 * Change probability into conversion probability
diff --git a/COPYRIGHT b/COPYRIGHT
index a7725d2..a936332 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1,6 +1,6 @@
 Copyright (C) 2010-2011 Open Labs Business Solutions.
-Copyright (C) 2010-2016 Cédric Krier.
-Copyright (C) 2010-2016 B2CK SPRL.
+Copyright (C) 2010-2017 Cédric Krier.
+Copyright (C) 2010-2017 B2CK SPRL.
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
diff --git a/PKG-INFO b/PKG-INFO
index 15fd7b9..723b6b7 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond_sale_opportunity
-Version: 4.2.0
+Version: 4.4.0
 Summary: Tryton module with leads and opportunities
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/4.2/
+Download-URL: http://downloads.tryton.org/4.4/
 Description: trytond_sale_opportunity
         ========================
         
@@ -51,7 +51,7 @@ Classifier: Framework :: Tryton
 Classifier: Intended Audience :: Developers
 Classifier: Intended Audience :: Financial and Insurance Industry
 Classifier: Intended Audience :: Legal Industry
-Classifier: License :: OSI Approved :: GNU General Public License (GPL)
+Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
 Classifier: Natural Language :: Bulgarian
 Classifier: Natural Language :: Catalan
 Classifier: Natural Language :: Chinese (Simplified)
diff --git a/__init__.py b/__init__.py
index 90fd680..56a1c6d 100644
--- a/__init__.py
+++ b/__init__.py
@@ -20,6 +20,7 @@ def register():
         SaleOpportunityMonthly,
         SaleOpportunityEmployeeMonthly,
         Configuration,
+        ConfigurationSequence,
         Sale,
         Party,
         Address,
diff --git a/configuration.py b/configuration.py
index 5f1630d..1c824d6 100644
--- a/configuration.py
+++ b/configuration.py
@@ -1,19 +1,75 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
+from trytond import backend
 from trytond.model import fields
 from trytond.pyson import Eval
-from trytond.pool import PoolMeta
+from trytond.pool import PoolMeta, Pool
 
-__all__ = ['Configuration']
+__all__ = ['Configuration', 'ConfigurationSequence']
 
 
 class Configuration:
     'Sale Configuration'
     __metaclass__ = PoolMeta
     __name__ = 'sale.configuration'
-    sale_opportunity_sequence = fields.Property(fields.Many2One('ir.sequence',
-            'Opportunity Sequence', domain=[
+    sale_opportunity_sequence = fields.MultiValue(fields.Many2One(
+            'ir.sequence', "Opportunity Sequence", required=True,
+            domain=[
                 ('company', 'in', [Eval('context', {}).get('company', -1),
                         None]),
                 ('code', '=', 'sale.opportunity'),
-                ], required=True))
+                ]))
+
+    @classmethod
+    def multivalue_model(cls, field):
+        pool = Pool()
+        if field == 'sale_opportunity_sequence':
+            return pool.get('sale.configuration.sequence')
+        return super(Configuration, cls).multivalue_model(field)
+
+    @classmethod
+    def default_sale_opportunity_sequence(cls, **pattern):
+        return cls.multivalue_model(
+            'sale_opportunity_sequence').default_sale_opportunity_sequence()
+
+
+class ConfigurationSequence:
+    __metaclass__ = PoolMeta
+    __name__ = 'sale.configuration.sequence'
+    sale_opportunity_sequence = fields.Many2One(
+        'ir.sequence', "Opportunity Sequence", required=True,
+        domain=[
+            ('company', 'in', [Eval('company', -1), None]),
+            ('code', '=', 'sale.opportunity'),
+            ],
+        depends=['company'])
+
+    @classmethod
+    def __register__(cls, module_name):
+        TableHandler = backend.get('TableHandler')
+        exist = TableHandler.table_exist(cls._table)
+        if exist:
+            table = TableHandler(cls, module_name)
+            exist &= table.column_exist('sale_opportunity_sequence')
+
+        super(ConfigurationSequence, cls).__register__(module_name)
+
+        if not exist:
+            cls._migrate_property([], [], [])
+
+    @classmethod
+    def _migrate_property(cls, field_names, value_names, fields):
+        field_names.append('sale_opportunity_sequence')
+        value_names.append('sale_opportunity_sequence')
+        super(ConfigurationSequence, cls)._migrate_property(
+            field_names, value_names, fields)
+
+    @classmethod
+    def default_sale_opportunity_sequence(cls):
+        pool = Pool()
+        ModelData = pool.get('ir.model.data')
+        try:
+            return ModelData.get_id(
+                'sale_opportunity', 'sequence_sale_opportunity')
+        except KeyError:
+            return None
diff --git a/configuration.xml b/configuration.xml
index 4f3db6d..71f8fea 100644
--- a/configuration.xml
+++ b/configuration.xml
@@ -10,12 +10,4 @@ this repository contains the full copyright notices and license terms. -->
             <field name="name">configuration_form</field>
         </record>
     </data>
-    <data noupdate="1">
-        <record model="ir.property" id="property_sale_opportunity_sequence">
-            <field name="field"
-                search="[('model.model', '=', 'sale.configuration'), ('name', '=', 'sale_opportunity_sequence')]"/>
-            <field name="value"
-                eval="'ir.sequence,' + str(ref('sequence_sale_opportunity'))"/>
-        </record>
-    </data>
 </tryton>
diff --git a/locale/bg.po b/locale/bg.po
index 70f224e..48edfe6 100644
--- a/locale/bg.po
+++ b/locale/bg.po
@@ -10,6 +10,10 @@ msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
 msgstr ""
 
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr ""
+
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
 msgstr "Адрес"
@@ -459,60 +463,6 @@ msgctxt "help:sale.opportunity,conversion_probability:"
 msgid "Percentage between 0 and 100"
 msgstr ""
 
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr "В %"
-
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr "В %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr "В %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr "В %"
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "В %"
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr "В %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "В %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr "В %"
-
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "В %"
-
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr "В %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "В %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr "В %"
-
 #, fuzzy
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
@@ -722,6 +672,21 @@ msgctxt "view:sale.opportunity:"
 msgid "Set as Lead"
 msgstr "Прехвърляне в инициатива"
 
+#, fuzzy
+msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
+
 msgctxt "view:sale.opportunity_employee:"
 msgid "Opportunities per Employee"
 msgstr "Възможности по служител"
diff --git a/locale/ca.po b/locale/ca.po
index 83717f8..ffa3c6c 100644
--- a/locale/ca.po
+++ b/locale/ca.po
@@ -10,6 +10,10 @@ msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
 msgstr "Seqüència d'oportunitat"
 
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr "Seqüència d'oportunitat"
+
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
 msgstr "Adreça"
@@ -450,54 +454,6 @@ msgctxt "help:sale.opportunity,conversion_probability:"
 msgid "Percentage between 0 and 100"
 msgstr "Percentatge entre 0 i 100."
 
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr "En %."
-
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
 msgstr "Vendes"
@@ -690,6 +646,18 @@ msgid "Set as Lead"
 msgstr "Convertir a iniciativa"
 
 msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
+
+msgctxt "view:sale.opportunity_employee:"
 msgid "Opportunities per Employee"
 msgstr "Oportunitats per empleat"
 
diff --git a/locale/cs.po b/locale/cs.po
index 692fae4..b39baf7 100644
--- a/locale/cs.po
+++ b/locale/cs.po
@@ -10,6 +10,10 @@ msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
 msgstr ""
 
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr ""
+
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
 msgstr ""
@@ -458,54 +462,6 @@ msgctxt "help:sale.opportunity,conversion_probability:"
 msgid "Percentage between 0 and 100"
 msgstr ""
 
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr ""
-
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
 msgstr ""
@@ -700,3 +656,18 @@ msgstr ""
 msgctxt "view:sale.opportunity:"
 msgid "Set as Lead"
 msgstr ""
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
diff --git a/locale/de.po b/locale/de.po
index f7bc811..da3b9a9 100644
--- a/locale/de.po
+++ b/locale/de.po
@@ -12,6 +12,10 @@ msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
 msgstr "Nummernkreis Varkaufschance"
 
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr "Nummernkreis Verkaufsgelegenheit"
+
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
 msgstr "Adresse"
@@ -452,54 +456,6 @@ msgctxt "help:sale.opportunity,conversion_probability:"
 msgid "Percentage between 0 and 100"
 msgstr "Prozentsatz zwischen 0 und 100"
 
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr "In %"
-
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
 msgstr "Verkäufe"
@@ -692,6 +648,18 @@ msgid "Set as Lead"
 msgstr "Auf Interessent setzen"
 
 msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
+
+msgctxt "view:sale.opportunity_employee:"
 msgid "Opportunities per Employee"
 msgstr "Verkaufschancen pro Mitarbeiter"
 
diff --git a/locale/es.po b/locale/es.po
index b5f5a11..e88050f 100644
--- a/locale/es.po
+++ b/locale/es.po
@@ -10,6 +10,10 @@ msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
 msgstr "Secuencia de oportunidad"
 
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr "Secuencia de oportunidad"
+
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
 msgstr "Dirección"
@@ -450,54 +454,6 @@ msgctxt "help:sale.opportunity,conversion_probability:"
 msgid "Percentage between 0 and 100"
 msgstr "Porcentaje entre 0 y 100."
 
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "En %."
-
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr "En %."
-
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
 msgstr "Ventas"
@@ -690,6 +646,18 @@ msgid "Set as Lead"
 msgstr "Convertir a iniciativa"
 
 msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
+
+msgctxt "view:sale.opportunity_employee:"
 msgid "Opportunities per Employee"
 msgstr "Oportunidades por empleado"
 
diff --git a/locale/es_419.po b/locale/es_419.po
index 3cab8cf..738905f 100644
--- a/locale/es_419.po
+++ b/locale/es_419.po
@@ -4,12 +4,16 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:sale.opportunity:"
 msgid "Sale Opportunity \"%s\" must be cancelled before deletion."
-msgstr ""
+msgstr "Debe cancelar la oportunidad de venta \"%s\" antes de eliminarla."
 
 msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
 msgstr ""
 
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr ""
+
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
 msgstr ""
@@ -36,7 +40,7 @@ msgstr ""
 
 msgctxt "field:sale.opportunity,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Creado por usuario"
 
 msgctxt "field:sale.opportunity,currency:"
 msgid "Currency"
@@ -68,7 +72,7 @@ msgstr ""
 
 msgctxt "field:sale.opportunity,lost_reason:"
 msgid "Reason for loss"
-msgstr ""
+msgstr "Motivo de la pérdida"
 
 msgctxt "field:sale.opportunity,number:"
 msgid "Number"
@@ -80,7 +84,7 @@ msgstr ""
 
 msgctxt "field:sale.opportunity,payment_term:"
 msgid "Payment Term"
-msgstr ""
+msgstr "Término de pago"
 
 msgctxt "field:sale.opportunity,rec_name:"
 msgid "Name"
@@ -90,10 +94,9 @@ msgctxt "field:sale.opportunity,reference:"
 msgid "Reference"
 msgstr ""
 
-#, fuzzy
 msgctxt "field:sale.opportunity,sales:"
 msgid "Sales"
-msgstr "Sales"
+msgstr ""
 
 msgctxt "field:sale.opportunity,start_date:"
 msgid "Start Date"
@@ -109,7 +112,7 @@ msgstr ""
 
 msgctxt "field:sale.opportunity,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Modificado por usuario"
 
 msgctxt "field:sale.opportunity.line,create_date:"
 msgid "Create Date"
@@ -117,16 +120,15 @@ msgstr ""
 
 msgctxt "field:sale.opportunity.line,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Creado por usuario"
 
 msgctxt "field:sale.opportunity.line,id:"
 msgid "ID"
 msgstr ""
 
-#, fuzzy
 msgctxt "field:sale.opportunity.line,opportunity:"
 msgid "Opportunity"
-msgstr "Opportunities"
+msgstr ""
 
 msgctxt "field:sale.opportunity.line,opportunity_state:"
 msgid "Opportunity State"
@@ -162,7 +164,7 @@ msgstr ""
 
 msgctxt "field:sale.opportunity.line,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Modificado por usuario"
 
 msgctxt "field:sale.opportunity_employee,amount:"
 msgid "Amount"
@@ -180,10 +182,9 @@ msgctxt "field:sale.opportunity_employee,conversion_rate:"
 msgid "Conversion Rate"
 msgstr ""
 
-#, fuzzy
 msgctxt "field:sale.opportunity_employee,converted:"
 msgid "Converted"
-msgstr "Converted"
+msgstr ""
 
 msgctxt "field:sale.opportunity_employee,converted_amount:"
 msgid "Converted Amount"
@@ -195,7 +196,7 @@ msgstr ""
 
 msgctxt "field:sale.opportunity_employee,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Creado por usuario"
 
 msgctxt "field:sale.opportunity_employee,currency:"
 msgid "Currency"
@@ -213,10 +214,9 @@ msgctxt "field:sale.opportunity_employee,id:"
 msgid "ID"
 msgstr ""
 
-#, fuzzy
 msgctxt "field:sale.opportunity_employee,lost:"
 msgid "Lost"
-msgstr "Lost"
+msgstr "Perdida"
 
 msgctxt "field:sale.opportunity_employee,number:"
 msgid "Number"
@@ -237,7 +237,7 @@ msgstr ""
 #, fuzzy
 msgctxt "field:sale.opportunity_employee,won:"
 msgid "Won"
-msgstr "Won"
+msgstr "Ganada"
 
 msgctxt "field:sale.opportunity_employee,won_amount:"
 msgid "Won Amount"
@@ -249,7 +249,7 @@ msgstr ""
 
 msgctxt "field:sale.opportunity_employee,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Modificado por usuario"
 
 msgctxt "field:sale.opportunity_employee.context,end_date:"
 msgid "End Date"
@@ -279,10 +279,9 @@ msgctxt "field:sale.opportunity_employee_monthly,conversion_rate:"
 msgid "Conversion Rate"
 msgstr ""
 
-#, fuzzy
 msgctxt "field:sale.opportunity_employee_monthly,converted:"
 msgid "Converted"
-msgstr "Converted"
+msgstr ""
 
 msgctxt "field:sale.opportunity_employee_monthly,converted_amount:"
 msgid "Converted Amount"
@@ -294,7 +293,7 @@ msgstr ""
 
 msgctxt "field:sale.opportunity_employee_monthly,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Creado por usuario"
 
 msgctxt "field:sale.opportunity_employee_monthly,currency:"
 msgid "Currency"
@@ -312,10 +311,9 @@ msgctxt "field:sale.opportunity_employee_monthly,id:"
 msgid "ID"
 msgstr ""
 
-#, fuzzy
 msgctxt "field:sale.opportunity_employee_monthly,lost:"
 msgid "Lost"
-msgstr "Lost"
+msgstr "Perdida"
 
 msgctxt "field:sale.opportunity_employee_monthly,month:"
 msgid "Month"
@@ -337,10 +335,9 @@ msgctxt "field:sale.opportunity_employee_monthly,winning_rate:"
 msgid "Winning Rate"
 msgstr ""
 
-#, fuzzy
 msgctxt "field:sale.opportunity_employee_monthly,won:"
 msgid "Won"
-msgstr "Won"
+msgstr "Ganada"
 
 msgctxt "field:sale.opportunity_employee_monthly,won_amount:"
 msgid "Won Amount"
@@ -352,7 +349,7 @@ msgstr ""
 
 msgctxt "field:sale.opportunity_employee_monthly,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Modificado por usuario"
 
 msgctxt "field:sale.opportunity_employee_monthly,year:"
 msgid "Year"
@@ -374,10 +371,9 @@ msgctxt "field:sale.opportunity_monthly,conversion_rate:"
 msgid "Conversion Rate"
 msgstr ""
 
-#, fuzzy
 msgctxt "field:sale.opportunity_monthly,converted:"
 msgid "Converted"
-msgstr "Converted"
+msgstr ""
 
 msgctxt "field:sale.opportunity_monthly,converted_amount:"
 msgid "Converted Amount"
@@ -389,7 +385,7 @@ msgstr ""
 
 msgctxt "field:sale.opportunity_monthly,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Creado por usuario"
 
 msgctxt "field:sale.opportunity_monthly,currency:"
 msgid "Currency"
@@ -403,10 +399,9 @@ msgctxt "field:sale.opportunity_monthly,id:"
 msgid "ID"
 msgstr ""
 
-#, fuzzy
 msgctxt "field:sale.opportunity_monthly,lost:"
 msgid "Lost"
-msgstr "Lost"
+msgstr "Perdida"
 
 msgctxt "field:sale.opportunity_monthly,month:"
 msgid "Month"
@@ -431,7 +426,7 @@ msgstr ""
 #, fuzzy
 msgctxt "field:sale.opportunity_monthly,won:"
 msgid "Won"
-msgstr "Won"
+msgstr "Ganada"
 
 msgctxt "field:sale.opportunity_monthly,won_amount:"
 msgid "Won Amount"
@@ -443,7 +438,7 @@ msgstr ""
 
 msgctxt "field:sale.opportunity_monthly,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Modificado por usuario"
 
 msgctxt "field:sale.opportunity_monthly,year:"
 msgid "Year"
@@ -461,234 +456,175 @@ msgctxt "help:sale.opportunity,conversion_probability:"
 msgid "Percentage between 0 and 100"
 msgstr ""
 
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr ""
-
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
-msgstr "Sales"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_opportunity_employee_form"
 msgid "Opportunities per Employee"
-msgstr "Opportunities per Employee"
+msgstr ""
 
+#, fuzzy
 msgctxt "model:ir.action,name:act_opportunity_employee_monthly_form"
 msgid "Opportunities per Employee per Month"
-msgstr "Opportunities per Employee per Month"
+msgstr "Oportunidades por empleado por mes"
 
 msgctxt "model:ir.action,name:act_opportunity_form"
 msgid "Leads and Opportunities"
-msgstr "Leads and Opportunities"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_opportunity_form2"
 msgid "Sales Leads/Opportunities"
-msgstr "Sales Leads/Opportunities"
+msgstr "Iniciativas/Oportunidades de ventas"
 
 msgctxt "model:ir.action,name:act_opportunity_monthly_form"
 msgid "Opportunities per Month"
-msgstr "Opportunities per Month"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_opportunity_form_domain_all"
 msgid "All"
-msgstr "All"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_opportunity_form_domain_cancelled"
 msgid "Cancelled"
-msgstr "Cancelled"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_opportunity_form_domain_converted"
 msgid "Converted"
-msgstr "Converted"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_opportunity_form_domain_leads"
 msgid "Leads"
-msgstr "Leads"
+msgstr ""
 
+#, fuzzy
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_opportunity_form_domain_lost"
 msgid "Lost"
-msgstr "Lost"
+msgstr "Perdida"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_opportunity_form_domain_opportunities"
 msgid "Opportunities"
-msgstr "Opportunities"
+msgstr ""
 
+#, fuzzy
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_opportunity_form_domain_won"
 msgid "Won"
-msgstr "Won"
+msgstr "Ganada"
 
 msgctxt "model:ir.sequence,name:sequence_sale_opportunity"
 msgid "Sale Opportunity"
-msgstr "Sale Opportunity"
+msgstr "Oportunidad de venta"
 
 msgctxt "model:ir.sequence.type,name:sequence_type_sale_opportunity"
 msgid "Sale Opportunity"
-msgstr "Sale Opportunity"
+msgstr "Oportunidad de venta"
 
 msgctxt "model:ir.ui.menu,name:menu_opportunity_employee_monthly_form"
 msgid "Opportunities per Employee per Month"
-msgstr "Opportunities per Employee per Month"
+msgstr "Oportunidades por empleado por mes"
 
 msgctxt "model:ir.ui.menu,name:menu_opportunity_employee_open"
 msgid "Opportunities per Employee"
-msgstr "Opportunities per Employee"
+msgstr ""
 
 msgctxt "model:ir.ui.menu,name:menu_opportunity_form"
 msgid "Leads and Opportunities"
-msgstr "Leads and Opportunities"
+msgstr ""
 
 msgctxt "model:ir.ui.menu,name:menu_opportunity_monthly_form"
 msgid "Opportunities per Month"
-msgstr "Opportunities per Month"
+msgstr ""
 
 msgctxt "model:ir.ui.menu,name:menu_reporting"
 msgid "Reporting"
-msgstr "Reporting"
+msgstr ""
 
 msgctxt "model:res.group,name:group_opportunity"
 msgid "Sale Opportunity"
-msgstr "Sale Opportunity"
+msgstr "Oportunidad de venta"
 
-#, fuzzy
 msgctxt "model:sale.opportunity,name:"
 msgid "Sale Opportunity"
-msgstr "Sale Opportunity"
+msgstr "Oportunidad de venta"
 
-#, fuzzy
 msgctxt "model:sale.opportunity.line,name:"
 msgid "Sale Opportunity Line"
-msgstr "Sale Opportunity"
+msgstr "Línea de oportunidad de venta"
 
-#, fuzzy
 msgctxt "model:sale.opportunity_employee,name:"
 msgid "Sale Opportunity per Employee"
-msgstr "Opportunities per Employee per Month"
+msgstr "Oportunidad de venta por empleado"
 
-#, fuzzy
 msgctxt "model:sale.opportunity_employee.context,name:"
 msgid "Sale Opportunity per Employee Context"
-msgstr "Opportunities per Employee per Month"
+msgstr "Contexto de oportunidades de venta por empleado"
 
-#, fuzzy
 msgctxt "model:sale.opportunity_employee_monthly,name:"
 msgid "Sale Opportunity per Employee per Month"
-msgstr "Opportunities per Employee per Month"
+msgstr "Oportunidades de venta por empleado por mes"
 
-#, fuzzy
 msgctxt "model:sale.opportunity_monthly,name:"
 msgid "Sale Opportunity per Month"
-msgstr "Opportunities per Employee per Month"
+msgstr "Oportunidades de venta por mes"
 
-#, fuzzy
 msgctxt "selection:sale.opportunity,state:"
 msgid "Cancelled"
-msgstr "Cancelled"
+msgstr ""
 
-#, fuzzy
 msgctxt "selection:sale.opportunity,state:"
 msgid "Converted"
-msgstr "Converted"
+msgstr ""
 
-#, fuzzy
 msgctxt "selection:sale.opportunity,state:"
 msgid "Lead"
-msgstr "Leads"
+msgstr ""
 
 #, fuzzy
 msgctxt "selection:sale.opportunity,state:"
 msgid "Lost"
-msgstr "Lost"
+msgstr "Perdida"
 
-#, fuzzy
 msgctxt "selection:sale.opportunity,state:"
 msgid "Opportunity"
-msgstr "Opportunities"
+msgstr ""
 
 #, fuzzy
 msgctxt "selection:sale.opportunity,state:"
 msgid "Won"
-msgstr "Won"
+msgstr "Ganada"
 
-#, fuzzy
 msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Cancelled"
-msgstr "Cancelled"
+msgstr ""
 
-#, fuzzy
 msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Converted"
-msgstr "Converted"
+msgstr ""
 
-#, fuzzy
 msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Lead"
-msgstr "Leads"
+msgstr ""
 
 #, fuzzy
 msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Lost"
-msgstr "Lost"
+msgstr "Perdida"
 
-#, fuzzy
 msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Opportunity"
-msgstr "Opportunities"
+msgstr ""
 
 #, fuzzy
 msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Won"
-msgstr "Won"
+msgstr "Ganada"
 
 msgctxt "view:sale.opportunity:"
 msgid "%"
@@ -704,7 +640,7 @@ msgstr ""
 
 msgctxt "view:sale.opportunity:"
 msgid "Convert to Sale"
-msgstr ""
+msgstr "Convertir a venta"
 
 msgctxt "view:sale.opportunity:"
 msgid "Lead/Opportunity"
@@ -717,3 +653,18 @@ msgstr ""
 msgctxt "view:sale.opportunity:"
 msgid "Set as Lead"
 msgstr ""
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
diff --git a/locale/fr.po b/locale/fr.po
index 0cabb7e..b4cae2f 100644
--- a/locale/fr.po
+++ b/locale/fr.po
@@ -10,6 +10,10 @@ msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
 msgstr "Séquence d'opportunité"
 
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr "Séquence d'opportunité"
+
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
 msgstr "Adresse"
@@ -450,54 +454,6 @@ msgctxt "help:sale.opportunity,conversion_probability:"
 msgid "Percentage between 0 and 100"
 msgstr "Pourcentage entre 0 et 100"
 
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr "En %"
-
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr "En %"
-
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr "En %"
-
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr "En %"
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "En %"
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr "En %"
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "En %"
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr "En %"
-
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "En %"
-
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr "En %"
-
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "En %"
-
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr "En %"
-
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
 msgstr "Ventes"
@@ -690,6 +646,18 @@ msgid "Set as Lead"
 msgstr "Reconvertir en contact"
 
 msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
+
+msgctxt "view:sale.opportunity_employee:"
 msgid "Opportunities per Employee"
 msgstr "Opportunités par employé"
 
diff --git a/locale/hu_HU.po b/locale/hu_HU.po
index 477e2c9..1e350e1 100644
--- a/locale/hu_HU.po
+++ b/locale/hu_HU.po
@@ -10,6 +10,10 @@ msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
 msgstr ""
 
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
@@ -514,54 +518,6 @@ msgctxt "help:sale.opportunity,conversion_probability:"
 msgid "Percentage between 0 and 100"
 msgstr ""
 
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr ""
-
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
 msgstr ""
@@ -759,3 +715,18 @@ msgstr ""
 msgctxt "view:sale.opportunity:"
 msgid "Set as Lead"
 msgstr ""
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
diff --git a/locale/it_IT.po b/locale/it_IT.po
index 097c7c4..ed97cab 100644
--- a/locale/it_IT.po
+++ b/locale/it_IT.po
@@ -10,6 +10,11 @@ msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
 msgstr "sequenza opportunity"
 
+#, fuzzy
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr "sequenza opportunity"
+
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
 msgstr "Indirizzo"
@@ -450,54 +455,6 @@ msgctxt "help:sale.opportunity,conversion_probability:"
 msgid "Percentage between 0 and 100"
 msgstr "percentuale fra 0 e 100"
 
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr "In %"
-
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
 msgstr "Vendite"
@@ -688,3 +645,18 @@ msgstr "segna perso"
 msgctxt "view:sale.opportunity:"
 msgid "Set as Lead"
 msgstr "indica come lead"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
diff --git a/locale/ja_JP.po b/locale/ja_JP.po
index 3cab8cf..2a7b7dc 100644
--- a/locale/ja_JP.po
+++ b/locale/ja_JP.po
@@ -10,6 +10,10 @@ msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
 msgstr ""
 
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr ""
+
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
 msgstr ""
@@ -461,54 +465,6 @@ msgctxt "help:sale.opportunity,conversion_probability:"
 msgid "Percentage between 0 and 100"
 msgstr ""
 
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr ""
-
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
 msgstr "Sales"
@@ -717,3 +673,18 @@ msgstr ""
 msgctxt "view:sale.opportunity:"
 msgid "Set as Lead"
 msgstr ""
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
diff --git a/locale/lo.po b/locale/lo.po
index 0c1e299..652b431 100644
--- a/locale/lo.po
+++ b/locale/lo.po
@@ -10,6 +10,10 @@ msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
 msgstr ""
 
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
@@ -528,54 +532,6 @@ msgctxt "help:sale.opportunity,conversion_probability:"
 msgid "Percentage between 0 and 100"
 msgstr ""
 
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr ""
-
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
 msgstr ""
@@ -773,3 +729,18 @@ msgstr ""
 msgctxt "view:sale.opportunity:"
 msgid "Set as Lead"
 msgstr ""
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
diff --git a/locale/lt.po b/locale/lt.po
index 2f5c9cd..25470cc 100644
--- a/locale/lt.po
+++ b/locale/lt.po
@@ -10,6 +10,10 @@ msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
 msgstr ""
 
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr ""
+
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
 msgstr ""
@@ -458,54 +462,6 @@ msgctxt "help:sale.opportunity,conversion_probability:"
 msgid "Percentage between 0 and 100"
 msgstr ""
 
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr ""
-
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
 msgstr ""
@@ -700,3 +656,18 @@ msgstr ""
 msgctxt "view:sale.opportunity:"
 msgid "Set as Lead"
 msgstr ""
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
diff --git a/locale/nl.po b/locale/nl.po
index 372721c..5878ac6 100644
--- a/locale/nl.po
+++ b/locale/nl.po
@@ -10,6 +10,10 @@ msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
 msgstr ""
 
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
@@ -530,66 +534,6 @@ msgid "Percentage between 0 and 100"
 msgstr ""
 
 #, fuzzy
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr "In %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr "In %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr "In %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr "In %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr "In %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "In %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr "In %"
-
-#, fuzzy
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
 msgstr "Verkoopbeheer"
@@ -786,3 +730,18 @@ msgstr ""
 msgctxt "view:sale.opportunity:"
 msgid "Set as Lead"
 msgstr ""
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
diff --git a/locale/pl.po b/locale/pl.po
index 3cab8cf..2a7b7dc 100644
--- a/locale/pl.po
+++ b/locale/pl.po
@@ -10,6 +10,10 @@ msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
 msgstr ""
 
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr ""
+
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
 msgstr ""
@@ -461,54 +465,6 @@ msgctxt "help:sale.opportunity,conversion_probability:"
 msgid "Percentage between 0 and 100"
 msgstr ""
 
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr ""
-
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
 msgstr "Sales"
@@ -717,3 +673,18 @@ msgstr ""
 msgctxt "view:sale.opportunity:"
 msgid "Set as Lead"
 msgstr ""
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
index 62c6846..1abc157 100644
--- a/locale/pt_BR.po
+++ b/locale/pt_BR.po
@@ -8,7 +8,11 @@ msgstr "A Oportunidade de Venda \"%s\" deve ser cancelada antes de ser apagada."
 
 msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
-msgstr ""
+msgstr "Sequência de Oportunidade"
+
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr "Sequência de Oportunidade"
 
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
@@ -28,7 +32,7 @@ msgstr "Empresa"
 
 msgctxt "field:sale.opportunity,conversion_probability:"
 msgid "Conversion Probability"
-msgstr ""
+msgstr "Probabilidade de Conversão"
 
 msgctxt "field:sale.opportunity,create_date:"
 msgid "Create Date"
@@ -70,10 +74,9 @@ msgctxt "field:sale.opportunity,lost_reason:"
 msgid "Reason for loss"
 msgstr "Razão da perda"
 
-#, fuzzy
 msgctxt "field:sale.opportunity,number:"
 msgid "Number"
-msgstr "Numero"
+msgstr "Número"
 
 msgctxt "field:sale.opportunity,party:"
 msgid "Party"
@@ -81,7 +84,7 @@ msgstr "Parceiro"
 
 msgctxt "field:sale.opportunity,payment_term:"
 msgid "Payment Term"
-msgstr "Vencimento do pagamento"
+msgstr "Prazo de Pagamento"
 
 msgctxt "field:sale.opportunity,rec_name:"
 msgid "Name"
@@ -129,7 +132,7 @@ msgstr "Oportunidade"
 
 msgctxt "field:sale.opportunity.line,opportunity_state:"
 msgid "Opportunity State"
-msgstr ""
+msgstr "Estado da Oportunidade"
 
 msgctxt "field:sale.opportunity.line,product:"
 msgid "Product"
@@ -247,20 +250,17 @@ msgctxt "field:sale.opportunity_employee,write_uid:"
 msgid "Write User"
 msgstr "Gravado pelo usuário"
 
-#, fuzzy
 msgctxt "field:sale.opportunity_employee.context,end_date:"
 msgid "End Date"
-msgstr "Data de fim"
+msgstr "Data de Término"
 
-#, fuzzy
 msgctxt "field:sale.opportunity_employee.context,id:"
 msgid "ID"
 msgstr "ID"
 
-#, fuzzy
 msgctxt "field:sale.opportunity_employee.context,start_date:"
 msgid "Start Date"
-msgstr "Data inicial"
+msgstr "Data de Início"
 
 msgctxt "field:sale.opportunity_employee_monthly,amount:"
 msgid "Amount"
@@ -452,55 +452,7 @@ msgstr "Monante estimado de receitas"
 
 msgctxt "help:sale.opportunity,conversion_probability:"
 msgid "Percentage between 0 and 100"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr "Em %"
-
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr "Em %"
-
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr "Em %"
-
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr "Em %"
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "Em %"
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr "Em % "
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "Em % "
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr "Em % "
-
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "Em % "
-
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr "Em %"
-
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "Em %"
-
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr "Em %"
+msgstr "Porcentagem entre 0 e 100"
 
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
@@ -605,10 +557,9 @@ msgctxt "model:sale.opportunity_employee,name:"
 msgid "Sale Opportunity per Employee"
 msgstr "Oportunidade de Venda por Empregado"
 
-#, fuzzy
 msgctxt "model:sale.opportunity_employee.context,name:"
 msgid "Sale Opportunity per Employee Context"
-msgstr "Oportunidade de Venda por Empregado por Mês"
+msgstr "Contexto da Oportunidade de Venda por Empregado"
 
 msgctxt "model:sale.opportunity_employee_monthly,name:"
 msgid "Sale Opportunity per Employee per Month"
@@ -642,37 +593,30 @@ msgctxt "selection:sale.opportunity,state:"
 msgid "Won"
 msgstr "Ganhou"
 
-#, fuzzy
 msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Cancelled"
 msgstr "Cancelado"
 
-#, fuzzy
 msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Converted"
 msgstr "Convertido"
 
-#, fuzzy
 msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Lead"
-msgstr "Chumbo"
+msgstr "Lead"
 
-#, fuzzy
 msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Lost"
 msgstr "Perdida"
 
-#, fuzzy
 msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Opportunity"
 msgstr "Oportunidade"
 
-#, fuzzy
 msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Won"
-msgstr "Won"
+msgstr "Ganhou"
 
-#, fuzzy
 msgctxt "view:sale.opportunity:"
 msgid "%"
 msgstr "%"
@@ -699,7 +643,19 @@ msgstr "Marcar como Perdida"
 
 msgctxt "view:sale.opportunity:"
 msgid "Set as Lead"
-msgstr "Converter em Lead"
+msgstr "Definir como Lead"
+
+msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
 
 msgctxt "view:sale.opportunity_employee:"
 msgid "Opportunities per Employee"
diff --git a/locale/ru.po b/locale/ru.po
index e419b76..03a3fc9 100644
--- a/locale/ru.po
+++ b/locale/ru.po
@@ -10,6 +10,10 @@ msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
 msgstr ""
 
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr ""
+
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
 msgstr "Адрес"
@@ -459,60 +463,6 @@ msgctxt "help:sale.opportunity,conversion_probability:"
 msgid "Percentage between 0 and 100"
 msgstr ""
 
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr "в %"
-
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr "в %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr "в %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr "в %"
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "в %"
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr "в %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "в %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr "в %"
-
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "в %"
-
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr "в %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "в %"
-
-#, fuzzy
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr "в %"
-
 #, fuzzy
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
@@ -717,6 +667,21 @@ msgctxt "view:sale.opportunity:"
 msgid "Set as Lead"
 msgstr "Отметить как Неопределенную"
 
+#, fuzzy
+msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
+
 msgctxt "view:sale.opportunity_employee:"
 msgid "Opportunities per Employee"
 msgstr "Возможные продажи по сотруднику"
diff --git a/locale/sl.po b/locale/sl.po
index 93f8970..0633726 100644
--- a/locale/sl.po
+++ b/locale/sl.po
@@ -10,6 +10,10 @@ msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
 msgstr "Štetje priložnosti"
 
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr "Štetje priložnosti"
+
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
 msgstr "Naslov"
@@ -28,7 +32,7 @@ msgstr "Družba"
 
 msgctxt "field:sale.opportunity,conversion_probability:"
 msgid "Conversion Probability"
-msgstr ""
+msgstr "Verjetnost pretvorbe"
 
 msgctxt "field:sale.opportunity,create_date:"
 msgid "Create Date"
@@ -246,17 +250,14 @@ msgctxt "field:sale.opportunity_employee,write_uid:"
 msgid "Write User"
 msgstr "Zapisal"
 
-#, fuzzy
 msgctxt "field:sale.opportunity_employee.context,end_date:"
 msgid "End Date"
 msgstr "Končni datum"
 
-#, fuzzy
 msgctxt "field:sale.opportunity_employee.context,id:"
 msgid "ID"
 msgstr "ID"
 
-#, fuzzy
 msgctxt "field:sale.opportunity_employee.context,start_date:"
 msgid "Start Date"
 msgstr "Začetni datum"
@@ -451,55 +452,7 @@ msgstr "Ocenjen znesek prihodkov"
 
 msgctxt "help:sale.opportunity,conversion_probability:"
 msgid "Percentage between 0 and 100"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr "V %"
-
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr "V %"
-
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr "V %"
-
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr "V %"
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "V %"
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr "V %"
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "V %"
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr "V %"
-
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr "V %"
-
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr "V %"
-
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr "V %"
-
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr "V %"
+msgstr "Odstotek med 0 in 100"
 
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
@@ -606,7 +559,7 @@ msgstr "Prodajna priložnost na zaposlenca"
 
 msgctxt "model:sale.opportunity_employee.context,name:"
 msgid "Sale Opportunity per Employee Context"
-msgstr ""
+msgstr "Kontekst prodajne priložnosti na zaposlenca"
 
 msgctxt "model:sale.opportunity_employee_monthly,name:"
 msgid "Sale Opportunity per Employee per Month"
@@ -640,27 +593,22 @@ msgctxt "selection:sale.opportunity,state:"
 msgid "Won"
 msgstr "Dobljeno"
 
-#, fuzzy
 msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Cancelled"
 msgstr "Preklicano"
 
-#, fuzzy
 msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Converted"
 msgstr "Pretvorjeno"
 
-#, fuzzy
 msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Lead"
 msgstr "Sled"
 
-#, fuzzy
 msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Lost"
 msgstr "Zapravljeno"
 
-#, fuzzy
 msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Opportunity"
 msgstr "Priložnost"
@@ -669,7 +617,6 @@ msgctxt "selection:sale.opportunity.line,opportunity_state:"
 msgid "Won"
 msgstr "Dobljeno"
 
-#, fuzzy
 msgctxt "view:sale.opportunity:"
 msgid "%"
 msgstr "%"
@@ -699,6 +646,18 @@ msgid "Set as Lead"
 msgstr "Preklop na sled"
 
 msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
+
+msgctxt "view:sale.opportunity_employee:"
 msgid "Opportunities per Employee"
 msgstr "Priložnosti na zaposlenca"
 
diff --git a/locale/zh_CN.po b/locale/zh_CN.po
index 0da3b0a..e463f66 100644
--- a/locale/zh_CN.po
+++ b/locale/zh_CN.po
@@ -10,6 +10,10 @@ msgctxt "field:sale.configuration,sale_opportunity_sequence:"
 msgid "Opportunity Sequence"
 msgstr ""
 
+msgctxt "field:sale.configuration.sequence,sale_opportunity_sequence:"
+msgid "Opportunity Sequence"
+msgstr ""
+
 msgctxt "field:sale.opportunity,address:"
 msgid "Address"
 msgstr ""
@@ -487,54 +491,6 @@ msgctxt "help:sale.opportunity,conversion_probability:"
 msgid "Percentage between 0 and 100"
 msgstr ""
 
-msgctxt "help:sale.opportunity_employee,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee,winning_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_employee_monthly,winning_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,conversion_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,conversion_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,winning_amount_rate:"
-msgid "In %"
-msgstr ""
-
-msgctxt "help:sale.opportunity_monthly,winning_rate:"
-msgid "In %"
-msgstr ""
-
 msgctxt "model:ir.action,name:act_open_sale_form"
 msgid "Sales"
 msgstr ""
@@ -731,3 +687,18 @@ msgstr ""
 msgctxt "view:sale.opportunity:"
 msgid "Set as Lead"
 msgstr ""
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_employee_monthly:"
+msgid "%"
+msgstr "%"
+
+#, fuzzy
+msgctxt "view:sale.opportunity_monthly:"
+msgid "%"
+msgstr "%"
diff --git a/opportunity.py b/opportunity.py
index d59f3af..707fd3f 100644
--- a/opportunity.py
+++ b/opportunity.py
@@ -5,7 +5,7 @@ import datetime
 
 from sql import Literal, Null
 from sql.aggregate import Max, Count, Sum
-from sql.conditionals import Case
+from sql.conditionals import Case, Coalesce
 from sql.functions import Extract
 
 from trytond.model import ModelView, ModelSQL, Workflow, fields, \
@@ -71,9 +71,13 @@ class SaleOpportunity(Workflow, ModelSQL, ModelView):
                 ['converted', 'lost', 'cancelled']),
             },
         depends=['state'])
-    employee = fields.Many2One('company.employee', 'Employee', required=True,
-            states=_STATES_STOP, depends=['state', 'company'],
-            domain=[('company', '=', Eval('company'))])
+    employee = fields.Many2One('company.employee', 'Employee',
+        states={
+            'readonly': _STATES_STOP['readonly'],
+            'required': ~Eval('state').in_(['lead', 'lost', 'cancelled']),
+        },
+        depends=['state', 'company'],
+        domain=[('company', '=', Eval('company'))])
     start_date = fields.Date('Start Date', required=True, select=True,
         states=_STATES_START, depends=_DEPENDS_START)
     end_date = fields.Date('End Date', select=True,
@@ -152,6 +156,9 @@ class SaleOpportunity(Workflow, ModelSQL, ModelView):
             table.drop_constraint('check_percentage')
             table.drop_column('probability')
 
+        # Migration from 4.2: make employee not required
+        table.not_null_action('employee', action='remove')
+
     @classmethod
     def __setup__(cls):
         super(SaleOpportunity, cls).__setup__()
@@ -508,9 +515,9 @@ class SaleOpportunityReportMixin:
     number = fields.Integer('Number')
     converted = fields.Integer('Converted')
     conversion_rate = fields.Function(fields.Float('Conversion Rate',
-        help='In %'), 'get_conversion_rate')
+        digits=(1, 4)), 'get_conversion_rate')
     won = fields.Integer('Won')
-    winning_rate = fields.Function(fields.Float('Winning Rate', help='In %'),
+    winning_rate = fields.Function(fields.Float('Winning Rate', digits=(1, 4)),
         'get_winning_rate')
     lost = fields.Integer('Lost')
     company = fields.Many2One('company.company', 'Company')
@@ -524,12 +531,12 @@ class SaleOpportunityReportMixin:
             digits=(16, Eval('currency_digits', 2)),
             depends=['currency_digits'])
     conversion_amount_rate = fields.Function(fields.Float(
-        'Conversion Amount Rate', help='In %'), 'get_conversion_amount_rate')
+        'Conversion Amount Rate', digits=(1, 4)), 'get_conversion_amount_rate')
     won_amount = fields.Numeric('Won Amount',
         digits=(16, Eval('currency_digits', 2)),
         depends=['currency_digits'])
     winning_amount_rate = fields.Function(fields.Float(
-            'Winning Amount Rate', help='In %'), 'get_winning_amount_rate')
+            'Winning Amount Rate', digits=(1, 4)), 'get_winning_amount_rate')
 
     @staticmethod
     def _converted_state():
@@ -545,13 +552,15 @@ class SaleOpportunityReportMixin:
 
     def get_conversion_rate(self, name):
         if self.number:
-            return float(self.converted) / self.number * 100.0
+            digits = getattr(self.__class__, name).digits[1]
+            return round(float(self.converted) / self.number, digits)
         else:
             return 0.0
 
     def get_winning_rate(self, name):
         if self.number:
-            return float(self.won) / self.number * 100.0
+            digits = getattr(self.__class__, name).digits[1]
+            return round(float(self.won) / self.number, digits)
         else:
             return 0.0
 
@@ -563,13 +572,16 @@ class SaleOpportunityReportMixin:
 
     def get_conversion_amount_rate(self, name):
         if self.amount:
-            return float(self.converted_amount) / float(self.amount) * 100.0
+            digits = getattr(self.__class__, name).digits[1]
+            return round(
+                float(self.converted_amount) / float(self.amount), digits)
         else:
             return 0.0
 
     def get_winning_amount_rate(self, name):
         if self.amount:
-            return float(self.won_amount) / float(self.amount) * 100.0
+            digits = getattr(self.__class__, name).digits[1]
+            return round(float(self.won_amount) / float(self.amount), digits)
         else:
             return 0.0
 
@@ -609,7 +621,7 @@ class SaleOpportunityEmployee(SaleOpportunityReportMixin, ModelSQL, ModelView):
         query = super(SaleOpportunityEmployee, cls).table_query()
         opportunity, = query.from_
         query.columns += (
-            opportunity.employee.as_('id'),
+            Coalesce(opportunity.employee, 0).as_('id'),
             opportunity.employee,
             )
         where = Literal(True)
@@ -694,7 +706,7 @@ class SaleOpportunityEmployeeMonthly(
         query.columns += (
             Max(Extract('MONTH', opportunity.start_date)
                 + Extract('YEAR', opportunity.start_date) * 100
-                + opportunity.employee * 1000000
+                + Coalesce(opportunity.employee, 0) * 1000000
                 ).cast(type_id).as_('id'),
             year_column,
             month_column,
diff --git a/opportunity.xml b/opportunity.xml
index cdca2c7..2242af2 100644
--- a/opportunity.xml
+++ b/opportunity.xml
@@ -207,7 +207,7 @@ this repository contains the full copyright notices and license terms. -->
             <field name="name">Sales</field>
             <field name="res_model">sale.sale</field>
             <field name="domain"
-                eval="[('origin.id', 'in', Eval('active_ids'), 'sale.opportunity')]"
+                eval="[If(Eval('active_ids', []) == [Eval('active_id')], ('origin.id', '=', Eval('active_id', 'sale.opportunity')), ('origin.id', 'in', Eval('active_ids'), 'sale.opportunity'))]"
                 pyson="1"/>
         </record>
         <record model="ir.action.keyword" id="act_open_sale_keyword1">
diff --git a/party.xml b/party.xml
index 7d1633a..0daa518 100644
--- a/party.xml
+++ b/party.xml
@@ -7,7 +7,8 @@ this repository contains the full copyright notices and license terms. -->
             <field name="name">Sales Leads/Opportunities</field>
             <field name="res_model">sale.opportunity</field>
             <field name="domain"
-                eval="[('party', 'in', Eval('active_ids'))]" pyson="1"/>
+                eval="[If(Eval('active_ids', []) == [Eval('active_id')], ('party', '=', Eval('active_id')), ('party', 'in', Eval('active_ids')))]"
+                pyson="1"/>
         </record>
         <record model="ir.action.keyword"
                 id="act_open_sale_opportunity_keyword1">
diff --git a/setup.py b/setup.py
index 6fc4732..182bfe6 100644
--- a/setup.py
+++ b/setup.py
@@ -84,7 +84,7 @@ setup(name=name,
         'Intended Audience :: Developers',
         'Intended Audience :: Financial and Insurance Industry',
         'Intended Audience :: Legal Industry',
-        'License :: OSI Approved :: GNU General Public License (GPL)',
+        'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
         'Natural Language :: Bulgarian',
         'Natural Language :: Catalan',
         'Natural Language :: Chinese (Simplified)',
diff --git a/tests/scenario_sale_opportunity.rst b/tests/scenario_sale_opportunity.rst
index 203a1ea..b78741f 100644
--- a/tests/scenario_sale_opportunity.rst
+++ b/tests/scenario_sale_opportunity.rst
@@ -98,7 +98,6 @@ Create an lead::
     >>> config.user = sale_opportunity_user.id
     >>> Opportunity = Model.get('sale.opportunity')
     >>> opportunity = Opportunity()
-    >>> opportunity.employee = employee
     >>> opportunity.description = 'Opportunity'
     >>> opportunity.save()
     >>> opportunity.state
@@ -110,6 +109,7 @@ Convert to opportunity::
     >>> opportunity.address, = customer.addresses
     >>> opportunity.payment_term = payment_term
     >>> opportunity.amount = Decimal(100)
+    >>> opportunity.employee = employee
     >>> opportunity.click('opportunity')
     >>> opportunity.state
     u'opportunity'
diff --git a/tryton.cfg b/tryton.cfg
index 0bee205..e38c7e7 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=4.2.0
+version=4.4.0
 depends:
     account
     account_invoice
diff --git a/trytond_sale_opportunity.egg-info/PKG-INFO b/trytond_sale_opportunity.egg-info/PKG-INFO
index 0f514a9..5a38e57 100644
--- a/trytond_sale_opportunity.egg-info/PKG-INFO
+++ b/trytond_sale_opportunity.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond-sale-opportunity
-Version: 4.2.0
+Version: 4.4.0
 Summary: Tryton module with leads and opportunities
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/4.2/
+Download-URL: http://downloads.tryton.org/4.4/
 Description: trytond_sale_opportunity
         ========================
         
@@ -51,7 +51,7 @@ Classifier: Framework :: Tryton
 Classifier: Intended Audience :: Developers
 Classifier: Intended Audience :: Financial and Insurance Industry
 Classifier: Intended Audience :: Legal Industry
-Classifier: License :: OSI Approved :: GNU General Public License (GPL)
+Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
 Classifier: Natural Language :: Bulgarian
 Classifier: Natural Language :: Catalan
 Classifier: Natural Language :: Chinese (Simplified)
diff --git a/trytond_sale_opportunity.egg-info/requires.txt b/trytond_sale_opportunity.egg-info/requires.txt
index 1d8d624..9c6e8ee 100644
--- a/trytond_sale_opportunity.egg-info/requires.txt
+++ b/trytond_sale_opportunity.egg-info/requires.txt
@@ -1,10 +1,10 @@
 python-sql >= 0.4
-trytond_account >= 4.2, < 4.3
-trytond_account_invoice >= 4.2, < 4.3
-trytond_company >= 4.2, < 4.3
-trytond_currency >= 4.2, < 4.3
-trytond_party >= 4.2, < 4.3
-trytond_product >= 4.2, < 4.3
-trytond_sale >= 4.2, < 4.3
-trytond_stock >= 4.2, < 4.3
-trytond >= 4.2, < 4.3
+trytond_account >= 4.4, < 4.5
+trytond_account_invoice >= 4.4, < 4.5
+trytond_company >= 4.4, < 4.5
+trytond_currency >= 4.4, < 4.5
+trytond_party >= 4.4, < 4.5
+trytond_product >= 4.4, < 4.5
+trytond_sale >= 4.4, < 4.5
+trytond_stock >= 4.4, < 4.5
+trytond >= 4.4, < 4.5
diff --git a/view/opportunity_employee_monthly_tree.xml b/view/opportunity_employee_monthly_tree.xml
index 6f90065..75de656 100644
--- a/view/opportunity_employee_monthly_tree.xml
+++ b/view/opportunity_employee_monthly_tree.xml
@@ -9,12 +9,20 @@ this repository contains the full copyright notices and license terms. -->
     <field name="converted"/>
     <field name="won"/>
     <field name="lost"/>
-    <field name="conversion_rate"/>
-    <field name="winning_rate"/>
+    <field name="conversion_rate" factor="100">
+        <suffix string="%" name="conversion_rate"/>
+    </field>
+    <field name="winning_rate" factor="100">
+        <suffix string="%" name="winning_rate"/>
+    </field>
     <field name="amount"/>
     <field name="converted_amount"/>
     <field name="won_amount"/>
     <field name="currency"/>
-    <field name="conversion_amount_rate"/>
-    <field name="winning_amount_rate"/>
+    <field name="conversion_amount_rate" factor="100">
+        <suffix string="%" name="conversion_amount_rate"/>
+    </field>
+    <field name="winning_amount_rate" factor="100">
+        <suffix string="%" name="winning_amount_rate"/>
+    </field>
 </tree>
diff --git a/view/opportunity_employee_tree.xml b/view/opportunity_employee_tree.xml
index 0b8d61c..ed2d205 100644
--- a/view/opportunity_employee_tree.xml
+++ b/view/opportunity_employee_tree.xml
@@ -7,12 +7,20 @@ this repository contains the full copyright notices and license terms. -->
     <field name="converted"/>
     <field name="won"/>
     <field name="lost"/>
-    <field name="conversion_rate"/>
-    <field name="winning_rate"/>
+    <field name="conversion_rate" factor="100">
+        <suffix string="%" name="conversion_rate"/>
+    </field>
+    <field name="winning_rate" factor="100">
+        <suffix string="%" name="winning_rate"/>
+    </field>
     <field name="amount"/>
     <field name="converted_amount"/>
     <field name="won_amount"/>
     <field name="currency"/>
-    <field name="conversion_amount_rate"/>
-    <field name="winning_amount_rate"/>
+    <field name="conversion_amount_rate" factor="100">
+        <suffix string="%" name="conversion_amount_rate"/>
+    </field>
+    <field name="winning_amount_rate" factor="100">
+        <suffix string="%" name="winning_amount_rate"/>
+    </field>
 </tree>
diff --git a/view/opportunity_form.xml b/view/opportunity_form.xml
index f3e82e3..14b4fad 100644
--- a/view/opportunity_form.xml
+++ b/view/opportunity_form.xml
@@ -43,7 +43,7 @@ this repository contains the full copyright notices and license terms. -->
                 <label name="state"/>
                 <field name="state"/>
             </group>
-            <group col="5" colspan="2" id="buttons">
+            <group col="-1" colspan="2" id="buttons">
                 <button name="cancel" string="Cancel"
                     icon="tryton-cancel"/>
                 <button name="lost" string="Mark as Lost"
diff --git a/view/opportunity_monthly_tree.xml b/view/opportunity_monthly_tree.xml
index d07b0ca..e3287e2 100644
--- a/view/opportunity_monthly_tree.xml
+++ b/view/opportunity_monthly_tree.xml
@@ -8,12 +8,20 @@ this repository contains the full copyright notices and license terms. -->
     <field name="converted"/>
     <field name="won"/>
     <field name="lost"/>
-    <field name="conversion_rate"/>
-    <field name="winning_rate"/>
+    <field name="conversion_rate" factor="100">
+        <suffix string="%" name="conversion_rate"/>
+    </field>
+    <field name="winning_rate" factor="100">
+        <suffix string="%" name="winning_rate"/>
+    </field>
     <field name="amount"/>
     <field name="converted_amount"/>
     <field name="won_amount"/>
     <field name="currency"/>
-    <field name="conversion_amount_rate"/>
-    <field name="winning_amount_rate"/>
+    <field name="conversion_amount_rate" factor="100">
+        <suffix string="%" name="conversion_amount_rate"/>
+    </field>
+    <field name="winning_amount_rate" factor="100">
+        <suffix string="%" name="winning_amount_rate"/>
+    </field>
 </tree>
-- 
tryton-modules-sale-opportunity



More information about the tryton-debian-vcs mailing list