[tryton-debian-vcs] tryton-modules-production branch upstream updated. upstream/3.8.0-2-gd013472

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Thu Jun 2 16:22:35 UTC 2016


The following commit has been merged in the upstream branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-modules-production.git;a=commitdiff;h=upstream/3.8.0-2-gd013472

commit d0134726ed25b3293b4b7fb59645fe16efb512a6
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Fri May 27 18:35:24 2016 +0200

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

diff --git a/CHANGELOG b/CHANGELOG
index 535c564..eced8c6 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 4.0.1 - 2016-05-11
+* Bug fixes (see mercurial logs for details)
+
 Version 4.0.0 - 2016-05-02
 * Bug fixes (see mercurial logs for details)
 * Rename Production code into number
diff --git a/PKG-INFO b/PKG-INFO
index c03b9cd..5641843 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: trytond_production
-Version: 4.0.0
+Version: 4.0.1
 Summary: Tryton module for production
 Home-page: http://www.tryton.org/
 Author: Tryton
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
index 1e1c866..75121ce 100644
--- a/locale/ca_ES.po
+++ b/locale/ca_ES.po
@@ -120,7 +120,7 @@ msgstr "Ubicació"
 
 msgctxt "field:production,number:"
 msgid "Number"
-msgstr ""
+msgstr "Número"
 
 msgctxt "field:production,outputs:"
 msgid "Outputs"
@@ -678,7 +678,7 @@ msgstr "Produccions"
 
 msgctxt "view:production:"
 msgid "Reset to BOM"
-msgstr "Reestableix amb la LdM"
+msgstr "Restaura amb la LdM"
 
 msgctxt "view:production:"
 msgid "Run"
diff --git a/locale/de_DE.po b/locale/de_DE.po
index 23dc2f5..649bf15 100644
--- a/locale/de_DE.po
+++ b/locale/de_DE.po
@@ -19,7 +19,7 @@ msgstr "Erstellung rekursiver Stücklisten nicht möglich."
 
 msgctxt "error:production.bom.input:"
 msgid "product_bom_uniq"
-msgstr ""
+msgstr " "
 
 msgctxt "error:production.bom.output:"
 msgid "Product must be unique per BOM."
@@ -31,7 +31,7 @@ msgstr "Erstellung rekursiver Stücklisten nicht möglich."
 
 msgctxt "error:production.bom.output:"
 msgid "product_bom_uniq"
-msgstr ""
+msgstr " "
 
 msgctxt "error:production:"
 msgid ""
@@ -119,7 +119,7 @@ msgstr "Lagerort"
 
 msgctxt "field:production,number:"
 msgid "Number"
-msgstr ""
+msgstr "Nummer"
 
 msgctxt "field:production,outputs:"
 msgid "Outputs"
diff --git a/locale/es_AR.po b/locale/es_AR.po
index 6cf6007..87f1a70 100644
--- a/locale/es_AR.po
+++ b/locale/es_AR.po
@@ -120,7 +120,7 @@ msgstr "Ubicación"
 
 msgctxt "field:production,number:"
 msgid "Number"
-msgstr ""
+msgstr "Número"
 
 msgctxt "field:production,outputs:"
 msgid "Outputs"
diff --git a/locale/es_CO.po b/locale/es_CO.po
index 4af8c01..b85c183 100644
--- a/locale/es_CO.po
+++ b/locale/es_CO.po
@@ -120,7 +120,7 @@ msgstr "Bodega"
 
 msgctxt "field:production,number:"
 msgid "Number"
-msgstr ""
+msgstr "Número"
 
 msgctxt "field:production,outputs:"
 msgid "Outputs"
@@ -678,7 +678,7 @@ msgstr "Producciones"
 
 msgctxt "view:production:"
 msgid "Reset to BOM"
-msgstr ""
+msgstr "Restablecer a LDM"
 
 msgctxt "view:production:"
 msgid "Run"
diff --git a/locale/es_EC.po b/locale/es_EC.po
index d8723a3..e8af271 100644
--- a/locale/es_EC.po
+++ b/locale/es_EC.po
@@ -120,7 +120,7 @@ msgstr "Ubicación"
 
 msgctxt "field:production,number:"
 msgid "Number"
-msgstr ""
+msgstr "Número"
 
 msgctxt "field:production,outputs:"
 msgid "Outputs"
@@ -574,7 +574,7 @@ msgstr "Cancelada"
 
 msgctxt "selection:production,state:"
 msgid "Done"
-msgstr "Realizada"
+msgstr "Finalizado"
 
 msgctxt "selection:production,state:"
 msgid "Draft"
@@ -654,7 +654,7 @@ msgstr "Cancelar"
 
 msgctxt "view:production:"
 msgid "Done"
-msgstr "Realizada"
+msgstr "Finalizar"
 
 msgctxt "view:production:"
 msgid "Draft"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index b3a108e..e803bf9 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -120,7 +120,7 @@ msgstr "Ubicación"
 
 msgctxt "field:production,number:"
 msgid "Number"
-msgstr ""
+msgstr "Número"
 
 msgctxt "field:production,outputs:"
 msgid "Outputs"
@@ -678,7 +678,7 @@ msgstr "Producciones"
 
 msgctxt "view:production:"
 msgid "Reset to BOM"
-msgstr "Reestrablecer con la LdM"
+msgstr "Restaurar con la LdM"
 
 msgctxt "view:production:"
 msgid "Run"
diff --git a/locale/fr_FR.po b/locale/fr_FR.po
index 1dc556c..d2adf2b 100644
--- a/locale/fr_FR.po
+++ b/locale/fr_FR.po
@@ -120,7 +120,7 @@ msgstr "Emplacement"
 
 msgctxt "field:production,number:"
 msgid "Number"
-msgstr ""
+msgstr "Numéro"
 
 msgctxt "field:production,outputs:"
 msgid "Outputs"
diff --git a/locale/sl_SI.po b/locale/sl_SI.po
index 8e5a99a..45b4e54 100644
--- a/locale/sl_SI.po
+++ b/locale/sl_SI.po
@@ -118,7 +118,7 @@ msgstr "Lokacija"
 
 msgctxt "field:production,number:"
 msgid "Number"
-msgstr ""
+msgstr "Številka"
 
 msgctxt "field:production,outputs:"
 msgid "Outputs"
@@ -680,7 +680,7 @@ msgstr "Ponastavi na kosovnico"
 
 msgctxt "view:production:"
 msgid "Run"
-msgstr "Izvajanje"
+msgstr "Zagon"
 
 msgctxt "view:production:"
 msgid "Wait"
diff --git a/tryton.cfg b/tryton.cfg
index 5628695..0d4f8fc 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=4.0.0
+version=4.0.1
 depends:
     company
     ir
diff --git a/trytond_production.egg-info/PKG-INFO b/trytond_production.egg-info/PKG-INFO
index c648a9a..1cebb13 100644
--- a/trytond_production.egg-info/PKG-INFO
+++ b/trytond_production.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: trytond-production
-Version: 4.0.0
+Version: 4.0.1
 Summary: Tryton module for production
 Home-page: http://www.tryton.org/
 Author: Tryton
diff --git a/trytond_production.egg-info/SOURCES.txt b/trytond_production.egg-info/SOURCES.txt
index 008f213..ad60af4 100644
--- a/trytond_production.egg-info/SOURCES.txt
+++ b/trytond_production.egg-info/SOURCES.txt
@@ -36,11 +36,13 @@ tryton.cfg
 ./locale/hu_HU.po
 ./locale/it_IT.po
 ./locale/ja_JP.po
+./locale/lo_LA.po
 ./locale/lt_LT.po
 ./locale/nl_NL.po
 ./locale/pt_BR.po
 ./locale/ru_RU.po
 ./locale/sl_SI.po
+./locale/zh_CN.po
 ./tests/__init__.py
 ./tests/scenario_production.rst
 ./tests/test_production.py
diff --git a/trytond_production.egg-info/requires.txt b/trytond_production.egg-info/requires.txt
index dc48fa2..08080f6 100644
--- a/trytond_production.egg-info/requires.txt
+++ b/trytond_production.egg-info/requires.txt
@@ -2,4 +2,4 @@ python-sql >= 0.4
 trytond_company >= 4.0, < 4.1
 trytond_product >= 4.0, < 4.1
 trytond_stock >= 4.0, < 4.1
-trytond >= 4.0, < 4.1
\ No newline at end of file
+trytond >= 4.0, < 4.1
commit 822f0e3fc8194961959babfb2710f2e7b83272c9
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Fri May 27 18:26:09 2016 +0200

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

diff --git a/CHANGELOG b/CHANGELOG
index 8230fda..535c564 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,8 @@
+Version 4.0.0 - 2016-05-02
+* Bug fixes (see mercurial logs for details)
+* Rename Production code into number
+* Add Python3 support
+
 Version 3.8.0 - 2015-11-02
 * Bug fixes (see mercurial logs for details)
 
diff --git a/COPYRIGHT b/COPYRIGHT
index 776aee6..442fb2d 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1,5 +1,5 @@
-Copyright (C) 2012-2015 Cédric Krier.
-Copyright (C) 2012-2015 B2CK SPRL.
+Copyright (C) 2012-2016 Cédric Krier.
+Copyright (C) 2012-2016 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 c380a6e..c03b9cd 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond_production
-Version: 3.8.0
+Version: 4.0.0
 Summary: Tryton module for production
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.8/
+Download-URL: http://downloads.tryton.org/4.0/
 Description: trytond_production
         ==================
         
@@ -55,6 +55,7 @@ Classifier: Intended Audience :: Manufacturing
 Classifier: License :: OSI Approved :: GNU General Public License (GPL)
 Classifier: Natural Language :: Bulgarian
 Classifier: Natural Language :: Catalan
+Classifier: Natural Language :: Chinese (Simplified)
 Classifier: Natural Language :: Czech
 Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
@@ -68,6 +69,9 @@ Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Office/Business
diff --git a/bom.py b/bom.py
index fa8a62a..9719a89 100644
--- a/bom.py
+++ b/bom.py
@@ -121,8 +121,7 @@ class BOMInput(ModelSQL, ModelView):
         self.product.check_bom_recursion()
 
     def compute_quantity(self, factor):
-        Uom = Pool().get('product.uom')
-        return Uom.round(self.quantity * factor, self.uom.rounding)
+        return self.uom.round(self.quantity * factor)
 
 
 class BOMOutput(BOMInput):
@@ -130,6 +129,15 @@ class BOMOutput(BOMInput):
     __name__ = 'production.bom.output'
     _table = 'production_bom_output'  # Needed to override BOMInput._table
 
+    @classmethod
+    def delete(cls, outputs):
+        pool = Pool()
+        ProductBOM = pool.get('product.product-production.bom')
+        bom_products = [b for o in outputs for b in o.product.boms]
+        super(BOMOutput, cls).delete(outputs)
+        # Validate that output_products domain on bom is still valid
+        ProductBOM._validate(bom_products, ['bom'])
+
 
 class BOMTree(ModelView):
     'BOM Tree'
@@ -158,8 +166,10 @@ class BOMTree(ModelView):
             childs = cls.tree(input_.product, quantity, input_.uom)
             values = {
                 'product': input_.product.id,
+                'product.rec_name': input_.product.rec_name,
                 'quantity': quantity,
                 'uom': input_.uom.id,
+                'uom.rec_name': input_.uom.rec_name,
                 'unit_digits': input_.uom.digits,
                 'childs': childs,
             }
@@ -197,7 +207,8 @@ class OpenBOMTreeTree(ModelView):
     'Open BOM Tree'
     __name__ = 'production.bom.tree.open.tree'
 
-    bom_tree = fields.One2Many('production.bom.tree', None, 'BOM Tree')
+    bom_tree = fields.One2Many('production.bom.tree', None, 'BOM Tree',
+        readonly=True)
 
     @classmethod
     def tree(cls, bom, product, quantity, uom):
@@ -207,8 +218,10 @@ class OpenBOMTreeTree(ModelView):
         childs = Tree.tree(product, quantity, uom, bom=bom)
         bom_tree = [{
                 'product': product.id,
+                'product.rec_name': product.rec_name,
                 'quantity': quantity,
                 'uom': uom.id,
+                'uom.rec_name': uom.rec_name,
                 'unit_digits': uom.digits,
                 'childs': childs,
                 }]
diff --git a/locale/bg_BG.po b/locale/bg_BG.po
index 9b82573..7c1eb8d 100644
--- a/locale/bg_BG.po
+++ b/locale/bg_BG.po
@@ -83,10 +83,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr "Спецификация"
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr "Код"
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr "Фирма"
@@ -119,6 +115,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr "Местонахождение"
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr "Изходящи"
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
index 246ba14..1e1c866 100644
--- a/locale/ca_ES.po
+++ b/locale/ca_ES.po
@@ -86,10 +86,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr "Llista de materials"
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr "Codi"
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr "Empresa"
@@ -122,6 +118,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr "Ubicació"
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr "Sortides"
diff --git a/locale/cs_CZ.po b/locale/cs_CZ.po
index 80177a6..438cc8c 100644
--- a/locale/cs_CZ.po
+++ b/locale/cs_CZ.po
@@ -82,10 +82,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr ""
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr ""
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr ""
@@ -118,6 +114,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr ""
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr ""
diff --git a/locale/de_DE.po b/locale/de_DE.po
index 9e7170f..23dc2f5 100644
--- a/locale/de_DE.po
+++ b/locale/de_DE.po
@@ -85,10 +85,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr "Stückliste"
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr "Code"
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr "Unternehmen"
@@ -121,6 +117,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr "Lagerort"
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr "Ausgänge"
diff --git a/locale/es_AR.po b/locale/es_AR.po
index b4f3e0c..6cf6007 100644
--- a/locale/es_AR.po
+++ b/locale/es_AR.po
@@ -86,10 +86,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr "LdM"
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr "Código"
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr "Empresa"
@@ -122,6 +118,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr "Ubicación"
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr "Salidas"
diff --git a/locale/es_CO.po b/locale/es_CO.po
index befa86f..4af8c01 100644
--- a/locale/es_CO.po
+++ b/locale/es_CO.po
@@ -86,10 +86,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr "LDM"
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr "Código"
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr "Compañia"
@@ -122,6 +118,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr "Bodega"
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr "Salidas"
diff --git a/locale/es_EC.po b/locale/es_EC.po
index 5508e5c..d8723a3 100644
--- a/locale/es_EC.po
+++ b/locale/es_EC.po
@@ -86,10 +86,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr "LDM"
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr "Código"
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr "Empresa"
@@ -122,6 +118,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr "Ubicación"
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr "Salidas"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index 5cf70da..b3a108e 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -86,10 +86,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr "LdM"
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr "Código"
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr "Empresa"
@@ -122,6 +118,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr "Ubicación"
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr "Salidas"
diff --git a/locale/es_MX.po b/locale/es_MX.po
index dc17634..72d05fd 100644
--- a/locale/es_MX.po
+++ b/locale/es_MX.po
@@ -86,10 +86,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr "LdM"
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr "Código"
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr "Empresa"
@@ -122,6 +118,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr "Ubicación"
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr "Salidas"
@@ -592,13 +592,15 @@ msgctxt "selection:production,state:"
 msgid "Waiting"
 msgstr "En espera"
 
+#, fuzzy
 msgctxt "view:product.product-production.bom:"
 msgid "Product - BOM"
-msgstr ""
+msgstr "Producto - LdM"
 
+#, fuzzy
 msgctxt "view:product.product-production.bom:"
 msgid "Product - BOMs"
-msgstr ""
+msgstr "Producto - LdM"
 
 msgctxt "view:production.assign.failed:"
 msgid "Unable to Assign"
@@ -616,49 +618,59 @@ msgctxt "view:production.bom.output:"
 msgid "BOM Outputs"
 msgstr ""
 
+#, fuzzy
 msgctxt "view:production.bom.tree.open.start:"
 msgid "BOM Tree"
-msgstr ""
+msgstr "Árbol LdM"
 
+#, fuzzy
 msgctxt "view:production.bom.tree.open.tree:"
 msgid "BOM Tree"
-msgstr ""
+msgstr "Árbol LdM"
 
+#, fuzzy
 msgctxt "view:production.bom.tree:"
 msgid "BOM Tree"
-msgstr ""
+msgstr "Árbol LdM"
 
+#, fuzzy
 msgctxt "view:production.bom:"
 msgid "BOM"
-msgstr ""
+msgstr "LdM"
 
+#, fuzzy
 msgctxt "view:production.bom:"
 msgid "BOMs"
-msgstr ""
+msgstr "LdM"
 
 msgctxt "view:production.bom:"
 msgid "Lines"
 msgstr ""
 
+#, fuzzy
 msgctxt "view:production.configuration:"
 msgid "Production Configuration"
-msgstr ""
+msgstr "Configuración de la producción"
 
+#, fuzzy
 msgctxt "view:production:"
 msgid "Assign"
-msgstr ""
+msgstr "Reservada"
 
+#, fuzzy
 msgctxt "view:production:"
 msgid "Cancel"
-msgstr ""
+msgstr "Cancelar"
 
+#, fuzzy
 msgctxt "view:production:"
 msgid "Done"
-msgstr ""
+msgstr "Finalizada"
 
+#, fuzzy
 msgctxt "view:production:"
 msgid "Draft"
-msgstr ""
+msgstr "Borrador"
 
 msgctxt "view:production:"
 msgid "Lines"
@@ -668,13 +680,15 @@ msgctxt "view:production:"
 msgid "Other Info"
 msgstr ""
 
+#, fuzzy
 msgctxt "view:production:"
 msgid "Production"
-msgstr ""
+msgstr "Producción"
 
+#, fuzzy
 msgctxt "view:production:"
 msgid "Productions"
-msgstr ""
+msgstr "Producciones"
 
 msgctxt "view:production:"
 msgid "Reset to BOM"
diff --git a/locale/fr_FR.po b/locale/fr_FR.po
index 72a6ebf..1dc556c 100644
--- a/locale/fr_FR.po
+++ b/locale/fr_FR.po
@@ -86,10 +86,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr "Nomenclature"
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr "Code"
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr "Société"
@@ -122,6 +118,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr "Emplacement"
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr "Sorties"
diff --git a/locale/hu_HU.po b/locale/hu_HU.po
index 80177a6..438cc8c 100644
--- a/locale/hu_HU.po
+++ b/locale/hu_HU.po
@@ -82,10 +82,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr ""
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr ""
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr ""
@@ -118,6 +114,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr ""
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr ""
diff --git a/locale/it_IT.po b/locale/it_IT.po
index 80177a6..438cc8c 100644
--- a/locale/it_IT.po
+++ b/locale/it_IT.po
@@ -82,10 +82,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr ""
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr ""
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr ""
@@ -118,6 +114,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr ""
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr ""
diff --git a/locale/ja_JP.po b/locale/ja_JP.po
index 80177a6..438cc8c 100644
--- a/locale/ja_JP.po
+++ b/locale/ja_JP.po
@@ -82,10 +82,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr ""
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr ""
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr ""
@@ -118,6 +114,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr ""
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr ""
diff --git a/locale/hu_HU.po b/locale/lo_LA.po
similarity index 99%
copy from locale/hu_HU.po
copy to locale/lo_LA.po
index 80177a6..438cc8c 100644
--- a/locale/hu_HU.po
+++ b/locale/lo_LA.po
@@ -82,10 +82,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr ""
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr ""
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr ""
@@ -118,6 +114,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr ""
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr ""
diff --git a/locale/lt_LT.po b/locale/lt_LT.po
index 80177a6..438cc8c 100644
--- a/locale/lt_LT.po
+++ b/locale/lt_LT.po
@@ -82,10 +82,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr ""
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr ""
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr ""
@@ -118,6 +114,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr ""
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr ""
diff --git a/locale/nl_NL.po b/locale/nl_NL.po
index 6fbb1da..ab72d73 100644
--- a/locale/nl_NL.po
+++ b/locale/nl_NL.po
@@ -86,11 +86,6 @@ msgid "BOM"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr "Code"
-
-#, fuzzy
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr "Bedrijf"
@@ -124,6 +119,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr ""
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr ""
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
index c22d44b..c009cee 100644
--- a/locale/pt_BR.po
+++ b/locale/pt_BR.po
@@ -86,10 +86,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr "Lista de materiais"
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr "Código"
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr "Empresa"
@@ -122,6 +118,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr "Localização"
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr "Saídas"
diff --git a/locale/ru_RU.po b/locale/ru_RU.po
index 1606a30..54c9810 100644
--- a/locale/ru_RU.po
+++ b/locale/ru_RU.po
@@ -82,10 +82,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr "Спецификация"
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr "Код"
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr "Организация"
@@ -118,6 +114,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr "Местоположение"
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr "Продукция"
diff --git a/locale/sl_SI.po b/locale/sl_SI.po
index 6698994..8e5a99a 100644
--- a/locale/sl_SI.po
+++ b/locale/sl_SI.po
@@ -84,10 +84,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr "Kosovnica"
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr "Šifra"
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr "Družba"
@@ -120,6 +116,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr "Lokacija"
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr "Izhodi"
diff --git a/locale/hu_HU.po b/locale/zh_CN.po
similarity index 99%
copy from locale/hu_HU.po
copy to locale/zh_CN.po
index 80177a6..438cc8c 100644
--- a/locale/hu_HU.po
+++ b/locale/zh_CN.po
@@ -82,10 +82,6 @@ msgctxt "field:production,bom:"
 msgid "BOM"
 msgstr ""
 
-msgctxt "field:production,code:"
-msgid "Code"
-msgstr ""
-
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr ""
@@ -118,6 +114,10 @@ msgctxt "field:production,location:"
 msgid "Location"
 msgstr ""
 
+msgctxt "field:production,number:"
+msgid "Number"
+msgstr ""
+
 msgctxt "field:production,outputs:"
 msgid "Outputs"
 msgstr ""
diff --git a/product.py b/product.py
index b55416b..a2a3f3a 100644
--- a/product.py
+++ b/product.py
@@ -8,10 +8,10 @@ from trytond.pyson import Eval, Get, If, Bool
 from trytond.pool import PoolMeta
 
 __all__ = ['Product', 'ProductBom']
-__metaclass__ = PoolMeta
 
 
 class Product:
+    __metaclass__ = PoolMeta
     __name__ = 'product.product'
 
     boms = fields.One2Many('product.product-production.bom', 'product',
diff --git a/production.py b/production.py
index da14852..c663b90 100644
--- a/production.py
+++ b/production.py
@@ -7,8 +7,9 @@ from trytond.wizard import Wizard, StateTransition, StateView, Button
 from trytond.pyson import Eval, Bool, If, Id
 from trytond.pool import Pool
 from trytond.transaction import Transaction
+from trytond import backend
 
-from trytond.modules.product import price_digits
+from trytond.modules.product import price_digits, TemplateFunction
 
 __all__ = ['Production', 'AssignFailed', 'Assign']
 
@@ -19,9 +20,9 @@ BOM_CHANGES = ['bom', 'product', 'quantity', 'uom', 'warehouse', 'location',
 class Production(Workflow, ModelSQL, ModelView):
     "Production"
     __name__ = 'production'
-    _rec_name = 'code'
+    _rec_name = 'number'
 
-    code = fields.Char('Code', select=True, readonly=True)
+    number = fields.Char('Number', select=True, readonly=True)
     reference = fields.Char('Reference', select=1,
         states={
             'readonly': ~Eval('state').in_(['request', 'draft']),
@@ -104,6 +105,7 @@ class Production(Workflow, ModelSQL, ModelView):
             readonly=True), 'get_cost')
     inputs = fields.One2Many('stock.move', 'production_input', 'Inputs',
         domain=[
+            ('shipment', '=', None),
             ('from_location', 'child_of', [Eval('warehouse')], 'parent'),
             ('to_location', '=', Eval('location')),
             ('company', '=', Eval('company', -1)),
@@ -115,6 +117,7 @@ class Production(Workflow, ModelSQL, ModelView):
         depends=['warehouse', 'location', 'company'])
     outputs = fields.One2Many('stock.move', 'production_output', 'Outputs',
         domain=[
+            ('shipment', '=', None),
             ('from_location', '=', Eval('location')),
             ('to_location', 'child_of', [Eval('warehouse')], 'parent'),
             ('company', '=', Eval('company', -1)),
@@ -200,6 +203,17 @@ class Production(Workflow, ModelSQL, ModelView):
                 'assign_force': {},
                 })
 
+    @classmethod
+    def __register__(cls, module_name):
+        TableHandler = backend.get('TableHandler')
+        table_h = TableHandler(cls, module_name)
+
+        # Migration from 3.8: rename code into number
+        if table_h.column_exist('code'):
+            table_h.column_rename('code', 'number')
+
+        super(Production, cls).__register__(module_name)
+
     @staticmethod
     def default_state():
         return 'draft'
@@ -415,6 +429,8 @@ class Production(Workflow, ModelSQL, ModelView):
                 if product == self.product:
                     move.unit_price = Decimal(
                         cost / Decimal(str(quantity))).quantize(digit)
+                else:
+                    move.unit_price = Decimal(0)
                 move.save()
         self._set_move_planned_date()
 
@@ -446,7 +462,9 @@ class Production(Workflow, ModelSQL, ModelView):
         vlist = [x.copy() for x in vlist]
         config = Config(1)
         for values in vlist:
-            values['code'] = Sequence.get_id(config.production_sequence.id)
+            if values.get('number') is None:
+                values['number'] = Sequence.get_id(
+                    config.production_sequence.id)
         productions = super(Production, cls).create(vlist)
         for production in productions:
             production._set_move_planned_date()
@@ -458,6 +476,14 @@ class Production(Workflow, ModelSQL, ModelView):
         for production in sum(args[::2], []):
             production._set_move_planned_date()
 
+    @classmethod
+    def copy(cls, productions, default=None):
+        if default is None:
+            default = {}
+        default = default.copy()
+        default.setdefault('number', None)
+        return super(Production, cls).copy(productions, default=default)
+
     def _get_move_planned_date(self):
         "Return the planned dates for input and output moves"
         return self.planned_date, self.planned_date
diff --git a/setup.py b/setup.py
index 536e6d9..e5e50c1 100644
--- a/setup.py
+++ b/setup.py
@@ -5,11 +5,17 @@
 from setuptools import setup
 import re
 import os
-import ConfigParser
+import io
+try:
+    from configparser import ConfigParser
+except ImportError:
+    from ConfigParser import ConfigParser
 
 
 def read(fname):
-    return open(os.path.join(os.path.dirname(__file__), fname)).read()
+    return io.open(
+        os.path.join(os.path.dirname(__file__), fname),
+        'r', encoding='utf-8').read()
 
 
 def get_require_version(name):
@@ -21,7 +27,7 @@ def get_require_version(name):
         major_version, minor_version + 1)
     return require
 
-config = ConfigParser.ConfigParser()
+config = ConfigParser()
 config.readfp(open('tryton.cfg'))
 info = dict(config.items('tryton'))
 for key in ('depends', 'extras_depend', 'xml'):
@@ -43,7 +49,7 @@ if minor_version % 2:
 
 requires = ['python-sql >= 0.4']
 for dep in info.get('depends', []):
-    if not re.match(r'(ir|res|webdav)(\W|$)', dep):
+    if not re.match(r'(ir|res)(\W|$)', dep):
         requires.append(get_require_version('trytond_%s' % dep))
 requires.append(get_require_version('trytond'))
 
@@ -82,6 +88,7 @@ setup(name=name,
         'License :: OSI Approved :: GNU General Public License (GPL)',
         'Natural Language :: Bulgarian',
         'Natural Language :: Catalan',
+        'Natural Language :: Chinese (Simplified)',
         'Natural Language :: Czech',
         'Natural Language :: Dutch',
         'Natural Language :: English',
@@ -95,6 +102,9 @@ setup(name=name,
         'Natural Language :: Spanish',
         'Operating System :: OS Independent',
         'Programming Language :: Python :: 2.7',
+        'Programming Language :: Python :: 3.3',
+        'Programming Language :: Python :: 3.4',
+        'Programming Language :: Python :: 3.5',
         'Programming Language :: Python :: Implementation :: CPython',
         'Programming Language :: Python :: Implementation :: PyPy',
         'Topic :: Office/Business',
@@ -110,4 +120,8 @@ setup(name=name,
     test_suite='tests',
     test_loader='trytond.test_loader:Loader',
     tests_require=tests_require,
+    use_2to3=True,
+    convert_2to3_doctests=[
+        'tests/scenario_production.rst',
+        ],
     )
diff --git a/stock.py b/stock.py
index 71e3780..724e013 100644
--- a/stock.py
+++ b/stock.py
@@ -6,10 +6,10 @@ from trytond.pool import PoolMeta
 
 
 __all__ = ['Location', 'Move']
-__metaclass__ = PoolMeta
 
 
 class Location:
+    __metaclass__ = PoolMeta
     __name__ = 'stock.location'
     production_location = fields.Many2One('stock.location', 'Production',
         states={
@@ -24,6 +24,7 @@ class Location:
 
 
 class Move:
+    __metaclass__ = PoolMeta
     __name__ = 'stock.move'
     production_input = fields.Many2One('production', 'Production Input',
         readonly=True, select=True, ondelete='CASCADE',
diff --git a/tests/__init__.py b/tests/__init__.py
index b968fe3..604d348 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -1,6 +1,9 @@
 # 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 test_production import suite
+try:
+    from trytond.modules.production.tests.test_production import suite
+except ImportError:
+    from .test_production import suite
 
 __all__ = ['suite']
diff --git a/tests/test_production.py b/tests/test_production.py
index 6f8bc89..790cf7a 100644
--- a/tests/test_production.py
+++ b/tests/test_production.py
@@ -5,6 +5,7 @@ import doctest
 import trytond.tests.test_tryton
 from trytond.tests.test_tryton import ModuleTestCase
 from trytond.tests.test_tryton import doctest_setup, doctest_teardown
+from trytond.tests.test_tryton import doctest_checker
 
 
 class ProductionTestCase(ModuleTestCase):
@@ -18,5 +19,6 @@ def suite():
             ProductionTestCase))
     suite.addTests(doctest.DocFileSuite('scenario_production.rst',
         setUp=doctest_setup, tearDown=doctest_teardown, encoding='utf-8',
+            checker=doctest_checker,
             optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
     return suite
diff --git a/tryton.cfg b/tryton.cfg
index 1f6d8ca..5628695 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=3.8.0
+version=4.0.0
 depends:
     company
     ir
diff --git a/trytond_production.egg-info/PKG-INFO b/trytond_production.egg-info/PKG-INFO
index 5bd1e17..c648a9a 100644
--- a/trytond_production.egg-info/PKG-INFO
+++ b/trytond_production.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond-production
-Version: 3.8.0
+Version: 4.0.0
 Summary: Tryton module for production
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.8/
+Download-URL: http://downloads.tryton.org/4.0/
 Description: trytond_production
         ==================
         
@@ -55,6 +55,7 @@ Classifier: Intended Audience :: Manufacturing
 Classifier: License :: OSI Approved :: GNU General Public License (GPL)
 Classifier: Natural Language :: Bulgarian
 Classifier: Natural Language :: Catalan
+Classifier: Natural Language :: Chinese (Simplified)
 Classifier: Natural Language :: Czech
 Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
@@ -68,6 +69,9 @@ Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Office/Business
diff --git a/trytond_production.egg-info/SOURCES.txt b/trytond_production.egg-info/SOURCES.txt
index 6686793..008f213 100644
--- a/trytond_production.egg-info/SOURCES.txt
+++ b/trytond_production.egg-info/SOURCES.txt
@@ -77,11 +77,13 @@ locale/fr_FR.po
 locale/hu_HU.po
 locale/it_IT.po
 locale/ja_JP.po
+locale/lo_LA.po
 locale/lt_LT.po
 locale/nl_NL.po
 locale/pt_BR.po
 locale/ru_RU.po
 locale/sl_SI.po
+locale/zh_CN.po
 tests/scenario_production.rst
 trytond_production.egg-info/PKG-INFO
 trytond_production.egg-info/SOURCES.txt
diff --git a/trytond_production.egg-info/requires.txt b/trytond_production.egg-info/requires.txt
index 2aec0fc..dc48fa2 100644
--- a/trytond_production.egg-info/requires.txt
+++ b/trytond_production.egg-info/requires.txt
@@ -1,5 +1,5 @@
 python-sql >= 0.4
-trytond_company >= 3.8, < 3.9
-trytond_product >= 3.8, < 3.9
-trytond_stock >= 3.8, < 3.9
-trytond >= 3.8, < 3.9
\ No newline at end of file
+trytond_company >= 4.0, < 4.1
+trytond_product >= 4.0, < 4.1
+trytond_stock >= 4.0, < 4.1
+trytond >= 4.0, < 4.1
\ No newline at end of file
diff --git a/view/product_bom_form.xml b/view/product_bom_form.xml
index 5a81be4..e7cf7a9 100644
--- a/view/product_bom_form.xml
+++ b/view/product_bom_form.xml
@@ -1,11 +1,12 @@
 <?xml version="1.0"?>
 <!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
 this repository contains the full copyright notices and license terms. -->
-<form string="Product - BOM" col="6">
+<form string="Product - BOM">
     <label name="product"/>
-    <field name="product"/>
-    <label name="bom"/>
-    <field name="bom" widget="selection"/>
+    <field name="product" colspan="3"/>
     <label name="sequence"/>
     <field name="sequence"/>
+    <newline/>
+    <label name="bom"/>
+    <field name="bom" widget="selection"/>
 </form>
diff --git a/view/product_form.xml b/view/product_form.xml
index 1e4a697..f23d9c2 100644
--- a/view/product_form.xml
+++ b/view/product_form.xml
@@ -2,8 +2,10 @@
 <!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
 this repository contains the full copyright notices and license terms. -->
 <data>
-    <xpath expr="/form/field[@name='description']" position="after">
-        <field name="boms" colspan="6"
-            view_ids="production.product-bom_view_list_sequence"/>
+    <xpath expr="/form/notebook" position="inside">
+        <page name="boms">
+            <field name="boms" colspan="4"
+                view_ids="production.product-bom_view_list_sequence"/>
+        </page>
     </xpath>
 </data>
diff --git a/view/production_calendar.xml b/view/production_calendar.xml
index 1351493..c57ec81 100644
--- a/view/production_calendar.xml
+++ b/view/production_calendar.xml
@@ -2,7 +2,7 @@
 <!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
 this repository contains the full copyright notices and license terms. -->
 <calendar string="Productions" dtstart="planned_date">
-    <field name="code"/>
+    <field name="number"/>
     <field name="product"/>
     <field name="reference"/>
 </calendar>
diff --git a/view/production_form.xml b/view/production_form.xml
index 658606d..a4c8125 100644
--- a/view/production_form.xml
+++ b/view/production_form.xml
@@ -1,11 +1,11 @@
 <?xml version="1.0"?>
 <!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
 this repository contains the full copyright notices and license terms. -->
-<form string="Production">
+<form string="Production" cursor="planned_date">
     <label name="reference"/>
     <field name="reference"/>
-    <label name="code"/>
-    <field name="code"/>
+    <label name="number"/>
+    <field name="number"/>
     <label name="planned_date"/>
     <field name="planned_date"/>
     <label name="effective_date"/>
diff --git a/view/production_list.xml b/view/production_list.xml
index c4ddeeb..c36462c 100644
--- a/view/production_list.xml
+++ b/view/production_list.xml
@@ -2,9 +2,11 @@
 <!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
 this repository contains the full copyright notices and license terms. -->
 <tree string="Productions">
-    <field name="product"/>
-    <field name="code"/>
+    <field name="number"/>
     <field name="reference"/>
+    <field name="product"/>
+    <field name="quantity"/>
+    <field name="uom"/>
     <field name="planned_date"/>
     <field name="effective_date"/>
     <field name="state"/>
-- 
tryton-modules-production



More information about the tryton-debian-vcs mailing list