[tryton-debian-vcs] tryton-modules-production branch debian created. 21c50f0b92f4299ebaca796994217921edfc4e44

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Wed Nov 27 17:05:49 UTC 2013


The following commit has been merged in the debian branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-modules-production.git;a=commitdiff;h=21c50f0b92f4299ebaca796994217921edfc4e44
commit 21c50f0b92f4299ebaca796994217921edfc4e44
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Mon Nov 25 20:30:19 2013 +0100

    Releasing debian version 3.0.0-1.

diff --git a/debian/changelog b/debian/changelog
index ac1babf..1e7daf8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+tryton-modules-production (3.0.0-1) unstable; urgency=low
+
+  * Merging upstream version 3.0.0.
+  * Updating to standards version 3.9.5, no changes needed.
+  * Changing to buildsystem pybuild.
+
+ -- Mathias Behrle <mathiasb at m9s.biz>  Mon, 25 Nov 2013 17:54:37 +0100
+
 tryton-modules-production (2.8.0-2) unstable; urgency=low
 
   * Moving doc/index.rst to appropriate subdirectory doc.
commit 33e908cd3dc53fe5fcfbd54b4cc67281e63199c6
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Sun Nov 24 19:51:51 2013 +0100

    Changing to buildsystem pybuild.

diff --git a/debian/control b/debian/control
index 51fb1dd..043da2a 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,8 @@ Section: python
 Priority: optional
 Maintainer: Debian Tryton Maintainers <maintainers at debian.tryton.org>
 Uploaders: Mathias Behrle <mathiasb at m9s.biz>
-Build-Depends: debhelper (>= 9), python (>= 2.6.6-3~), python-setuptools
+Build-Depends:
+ debhelper (>= 9), python (>= 2.6.6-3~), python-setuptools, dh-python
 Standards-Version: 3.9.5
 Homepage: http://www.tryton.org/
 Vcs-Browser: http://debian.tryton.org/gitweb/?p=packages/tryton-modules-production.git
diff --git a/debian/rules b/debian/rules
index 30074ad..5b8c326 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,24 +1,17 @@
 #!/usr/bin/make -f
 
-MAJOR := $(shell python setup.py --version | awk -F "." '{print $$1 "." $$2}')
-PACKAGE_NAME := $(shell python setup.py --name)
-
-%:
-	dh ${@} --with python2
+# needed for pbuilder
+export LC_ALL=C.UTF-8
 
-override_dh_auto_clean:
-	dh_auto_clean
+MAJOR := $(shell python setup.py --version | awk -F "." '{print $$1 "." $$2}')
+PACKAGE_NAME := tryton-modules-$(shell python setup.py --name | sed s/^trytond_// | sed s/_/-/g)
+export PYBUILD_DESTDIR_python2=debian/${PACKAGE_NAME}
 
-override_dh_auto_build:
-	mv $(PACKAGE_NAME).egg-info $(PACKAGE_NAME).hen-info
-	mv PKG-INFO PKG-INFO.hen
-	dh_auto_build
+# Don't run tests for Tryton modules, they try to download dependencies from pypi
+export PYBUILD_DISABLE_python2.7=test
 
-override_dh_auto_install:
-	dh_auto_install
-	rm -rf *.egg-info
-	mv $(PACKAGE_NAME).hen-info $(PACKAGE_NAME).egg-info
-	mv PKG-INFO.hen PKG-INFO
+%:
+	dh ${@} --with python2 --buildsystem=pybuild
 
 override_dh_gencontrol:
 	dh_gencontrol -- -Vversion:major="$(MAJOR)"
commit cf7b2a09b59e38226174e8028500d46870f1d4f5
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Sun Nov 24 19:14:21 2013 +0100

    Updating to standards version 3.9.5, no changes needed.

diff --git a/debian/control b/debian/control
index 00f7989..51fb1dd 100644
--- a/debian/control
+++ b/debian/control
@@ -4,7 +4,7 @@ Priority: optional
 Maintainer: Debian Tryton Maintainers <maintainers at debian.tryton.org>
 Uploaders: Mathias Behrle <mathiasb at m9s.biz>
 Build-Depends: debhelper (>= 9), python (>= 2.6.6-3~), python-setuptools
-Standards-Version: 3.9.4
+Standards-Version: 3.9.5
 Homepage: http://www.tryton.org/
 Vcs-Browser: http://debian.tryton.org/gitweb/?p=packages/tryton-modules-production.git
 Vcs-Git: git://debian.tryton.org/packages/tryton-modules-production.git
commit 94fa0d039b12bacb1f92f2037da41a64184c6eee
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Sun Nov 24 17:27:32 2013 +0100

    Merging upstream version 3.0.0.

diff --git a/CHANGELOG b/CHANGELOG
index a038a0f..d04ed00 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,7 @@
+Version 3.0.0 - 2013-10-21
+* Bug fixes (see mercurial logs for details)
+* Add calendar view
+
 Version 2.8.0 - 2013-04-22
 * Bug fixes (see mercurial logs for details)
 
diff --git a/PKG-INFO b/PKG-INFO
index 01c389f..f64d1fc 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond_production
-Version: 2.8.0
+Version: 3.0.0
 Summary: Tryton module for production
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: UNKNOWN
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.8/
+Download-URL: http://downloads.tryton.org/3.0/
 Description: trytond_production
         ==================
         
@@ -60,6 +60,7 @@ Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
 Classifier: Natural Language :: Russian
+Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 2.6
diff --git a/configuration.py b/configuration.py
index 793445c..eb35e63 100644
--- a/configuration.py
+++ b/configuration.py
@@ -13,6 +13,6 @@ class Configuration(ModelSingleton, ModelSQL, ModelView):
     production_sequence = fields.Property(fields.Many2One('ir.sequence',
             'Production Sequence', domain=[
                 ('company', 'in',
-                    [Eval('context', {}).get('company'), False]),
+                    [Eval('context', {}).get('company', -1), None]),
                 ('code', '=', 'production'),
                 ], required=True))
diff --git a/locale/bg_BG.po b/locale/bg_BG.po
index f6a036b..3bf8ae9 100644
--- a/locale/bg_BG.po
+++ b/locale/bg_BG.po
@@ -426,6 +426,11 @@ msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
 msgstr "Спецификации"
 
+#, fuzzy
+msgctxt "model:ir.action,name:act_production_calendar"
+msgid "Productions"
+msgstr "Производства"
+
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
 msgstr "Настройки на Производство"
@@ -497,6 +502,11 @@ msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr "Управление на производство"
 
+#, fuzzy
+msgctxt "model:ir.ui.menu,name:menu_production_calendar"
+msgid "Productions"
+msgstr "Производства"
+
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
 msgstr "Настройки Производство"
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
index 2497801..b070838 100644
--- a/locale/ca_ES.po
+++ b/locale/ca_ES.po
@@ -426,6 +426,10 @@ msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
 msgstr "Llistes de materials"
 
+msgctxt "model:ir.action,name:act_production_calendar"
+msgid "Productions"
+msgstr "Produccions"
+
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
 msgstr "Configuració de la producció"
@@ -492,6 +496,10 @@ msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr "Producció"
 
+msgctxt "model:ir.ui.menu,name:menu_production_calendar"
+msgid "Productions"
+msgstr "Produccions"
+
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
 msgstr "Producció"
@@ -674,7 +682,7 @@ msgstr "En espera"
 
 msgctxt "wizard_button:production.assign,failed,end:"
 msgid "Ok"
-msgstr "D'acord"
+msgstr "Accepta"
 
 msgctxt "wizard_button:production.assign,failed,force:"
 msgid "Force Assign"
@@ -686,7 +694,7 @@ msgstr "Cancel·la"
 
 msgctxt "wizard_button:production.bom.tree.open,start,tree:"
 msgid "Ok"
-msgstr "D'acord"
+msgstr "Accepta"
 
 msgctxt "wizard_button:production.bom.tree.open,tree,end:"
 msgid "Close"
diff --git a/locale/cs_CZ.po b/locale/cs_CZ.po
index e1a0548..e7f815d 100644
--- a/locale/cs_CZ.po
+++ b/locale/cs_CZ.po
@@ -424,6 +424,10 @@ msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
 msgstr ""
 
+msgctxt "model:ir.action,name:act_production_calendar"
+msgid "Productions"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
 msgstr ""
@@ -490,6 +494,10 @@ msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr ""
 
+msgctxt "model:ir.ui.menu,name:menu_production_calendar"
+msgid "Productions"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
 msgstr ""
diff --git a/locale/de_DE.po b/locale/de_DE.po
index 8e91ae6..e8c9a76 100644
--- a/locale/de_DE.po
+++ b/locale/de_DE.po
@@ -425,6 +425,10 @@ msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
 msgstr "Stücklisten"
 
+msgctxt "model:ir.action,name:act_production_calendar"
+msgid "Productions"
+msgstr "Produktionen"
+
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
 msgstr "Produktion"
@@ -491,6 +495,10 @@ msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr "Produktion"
 
+msgctxt "model:ir.ui.menu,name:menu_production_calendar"
+msgid "Productions"
+msgstr "Produktionen"
+
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
 msgstr "Produktion"
diff --git a/locale/es_AR.po b/locale/es_AR.po
index 3be8cfd..4d7b9c8 100644
--- a/locale/es_AR.po
+++ b/locale/es_AR.po
@@ -426,6 +426,10 @@ msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
 msgstr "LdMs"
 
+msgctxt "model:ir.action,name:act_production_calendar"
+msgid "Productions"
+msgstr "Producciones"
+
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
 msgstr "Configuración de producción"
@@ -492,6 +496,10 @@ msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr "Producción"
 
+msgctxt "model:ir.ui.menu,name:menu_production_calendar"
+msgid "Productions"
+msgstr "Producciones"
+
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
 msgstr "Producción"
diff --git a/locale/es_CO.po b/locale/es_CO.po
index cc6b98e..2a1f9db 100644
--- a/locale/es_CO.po
+++ b/locale/es_CO.po
@@ -426,6 +426,10 @@ msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
 msgstr "LDMs"
 
+msgctxt "model:ir.action,name:act_production_calendar"
+msgid "Productions"
+msgstr "Producciones"
+
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
 msgstr "Configuración de Producción"
@@ -465,7 +469,7 @@ msgstr "Solicitudes"
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_production_list_domain_running"
 msgid "Running"
-msgstr "En ejecución"
+msgstr "En Ejecución"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_production_list_domain_waiting"
@@ -490,7 +494,11 @@ msgstr "Configuración"
 
 msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
-msgstr "Producción"
+msgstr "Gestión de Producción"
+
+msgctxt "model:ir.ui.menu,name:menu_production_calendar"
+msgid "Productions"
+msgstr "Producciones"
 
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index 482a2d2..def65c6 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -8,7 +8,7 @@ msgid ""
 "allowed."
 msgstr ""
 "Está intentando crear una lista de materiales recursiva con el producto \"% "
-"s\" que no está permitido."
+"s\" lo cual no está permitido."
 
 msgctxt "error:production.bom.input:"
 msgid "Product must be unique per BOM."
@@ -420,12 +420,16 @@ msgstr "Salida producción"
 
 msgctxt "model:ir.action,name:act_bom_form"
 msgid "BOM"
-msgstr "Listas de material"
+msgstr "Lista de material"
 
 msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
 msgstr "Listas de material"
 
+msgctxt "model:ir.action,name:act_production_calendar"
+msgid "Productions"
+msgstr "Producciones"
+
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
 msgstr "Configuración de la producción"
@@ -492,6 +496,10 @@ msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr "Producción"
 
+msgctxt "model:ir.ui.menu,name:menu_production_calendar"
+msgid "Productions"
+msgstr "Producciones"
+
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
 msgstr "Producción"
@@ -530,11 +538,11 @@ msgstr "Árbol LdM"
 
 msgctxt "model:production.bom.tree.open.start,name:"
 msgid "Open BOM Tree"
-msgstr "Abrir arbol BOM"
+msgstr "Abrir árbol BOM"
 
 msgctxt "model:production.bom.tree.open.tree,name:"
 msgid "Open BOM Tree"
-msgstr "Abrir arbol BOM"
+msgstr "Abrir árbol BOM"
 
 msgctxt "model:production.configuration,name:"
 msgid "Production Configuration"
diff --git a/locale/fr_FR.po b/locale/fr_FR.po
index cbad60c..84e2f72 100644
--- a/locale/fr_FR.po
+++ b/locale/fr_FR.po
@@ -180,7 +180,7 @@ msgstr "Mouvements"
 
 msgctxt "field:production.bom,active:"
 msgid "Active"
-msgstr "Active"
+msgstr "Actif"
 
 msgctxt "field:production.bom,create_date:"
 msgid "Create Date"
@@ -426,6 +426,10 @@ msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
 msgstr "Nomenclatures"
 
+msgctxt "model:ir.action,name:act_production_calendar"
+msgid "Productions"
+msgstr "Productions"
+
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
 msgstr "Configuration de la production"
@@ -492,6 +496,10 @@ msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr "Production"
 
+msgctxt "model:ir.ui.menu,name:menu_production_calendar"
+msgid "Productions"
+msgstr "Productions"
+
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
 msgstr "Configuration de la production"
@@ -562,7 +570,7 @@ msgstr "Annulée"
 
 msgctxt "selection:production,state:"
 msgid "Done"
-msgstr "Terminée"
+msgstr "Fait"
 
 msgctxt "selection:production,state:"
 msgid "Draft"
@@ -642,7 +650,7 @@ msgstr "Annuler"
 
 msgctxt "view:production:"
 msgid "Done"
-msgstr "terminée"
+msgstr "Fait"
 
 msgctxt "view:production:"
 msgid "Draft"
@@ -654,7 +662,7 @@ msgstr "Lignes"
 
 msgctxt "view:production:"
 msgid "Other Info"
-msgstr "Autre info"
+msgstr "Autre information"
 
 msgctxt "view:production:"
 msgid "Production"
@@ -670,7 +678,7 @@ msgstr "Lancer"
 
 msgctxt "view:production:"
 msgid "Wait"
-msgstr "En attente"
+msgstr "Attendre"
 
 msgctxt "wizard_button:production.assign,failed,end:"
 msgid "Ok"
diff --git a/locale/nl_NL.po b/locale/nl_NL.po
index 437cd21..9c97c31 100644
--- a/locale/nl_NL.po
+++ b/locale/nl_NL.po
@@ -458,6 +458,10 @@ msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
 msgstr ""
 
+msgctxt "model:ir.action,name:act_production_calendar"
+msgid "Productions"
+msgstr ""
+
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
 msgstr ""
@@ -527,6 +531,10 @@ msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr ""
 
+msgctxt "model:ir.ui.menu,name:menu_production_calendar"
+msgid "Productions"
+msgstr ""
+
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
 msgstr ""
diff --git a/locale/ru_RU.po b/locale/ru_RU.po
index 92b1363..aa64419 100644
--- a/locale/ru_RU.po
+++ b/locale/ru_RU.po
@@ -424,6 +424,11 @@ msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
 msgstr "Спецификации"
 
+#, fuzzy
+msgctxt "model:ir.action,name:act_production_calendar"
+msgid "Productions"
+msgstr "Производства"
+
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
 msgstr "Конфигурация производства"
@@ -490,6 +495,11 @@ msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr "Производство"
 
+#, fuzzy
+msgctxt "model:ir.ui.menu,name:menu_production_calendar"
+msgid "Productions"
+msgstr "Производства"
+
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
 msgstr "Конфигурация производства"
diff --git a/locale/es_AR.po b/locale/sl_SI.po
similarity index 74%
copy from locale/es_AR.po
copy to locale/sl_SI.po
index 3be8cfd..b60b453 100644
--- a/locale/es_AR.po
+++ b/locale/sl_SI.po
@@ -6,53 +6,51 @@ msgctxt "error:product.product:"
 msgid ""
 "You are trying to create a recursive BOM with product \"%s\" which is not "
 "allowed."
-msgstr ""
-"Está intentando crear una lista de materiales recursiva con el producto «%s»"
-" que no está permitido."
+msgstr "Izdelava rekurzivne kosovnice za izdelek \"%s\" ni dovoljena."
 
 msgctxt "error:production.bom.input:"
 msgid "Product must be unique per BOM."
-msgstr "El producto debe ser único por LdM."
+msgstr "Izdelek mora biti edinstven po kosovnici."
 
 msgctxt "error:production.bom.input:"
 msgid "You can not create recursive BOMs."
-msgstr "No puede crear una lista de materiales recursiva."
+msgstr "Izdelava rekurzivnih kosovnic ni možna."
 
 msgctxt "error:production.bom.input:"
 msgid "product_bom_uniq"
-msgstr "El producto debe ser único en la LdM."
+msgstr "product_bom_uniq"
 
 msgctxt "error:production.bom.output:"
 msgid "Product must be unique per BOM."
-msgstr "El producto debe ser único por LdM."
+msgstr "Izdelek mora biti edinstven po kosovnici."
 
 msgctxt "error:production.bom.output:"
 msgid "You can not create recursive BOMs."
-msgstr "No puede crear una lista de materiales recursiva."
+msgstr "Izdelava rekurzivnih kosovnic ni možna."
 
 msgctxt "error:production.bom.output:"
 msgid "product_bom_uniq"
-msgstr "El producto debe ser único en la LdM."
+msgstr "product_bom_uniq"
 
 msgctxt "error:production:"
 msgid "Production \"%s\" misses costs on some of its outputs."
-msgstr "La producción «%s» pierde costos en alguna de sus salidas."
+msgstr "Na proizvodnem nalogu \"%s\" manjkajo stroški na nekaterih izhodih."
 
 msgctxt "field:product.product,boms:"
 msgid "BOMs"
-msgstr "LdMs"
+msgstr "Kosovnice"
 
 msgctxt "field:product.product-production.bom,bom:"
 msgid "BOM"
-msgstr "LdM"
+msgstr "Kosovnica"
 
 msgctxt "field:product.product-production.bom,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:product.product-production.bom,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Ustvaril"
 
 msgctxt "field:product.product-production.bom,id:"
 msgid "ID"
@@ -60,51 +58,51 @@ msgstr "ID"
 
 msgctxt "field:product.product-production.bom,product:"
 msgid "Product"
-msgstr "Producto"
+msgstr "Izdelek"
 
 msgctxt "field:product.product-production.bom,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:product.product-production.bom,sequence:"
 msgid "Sequence"
-msgstr "Secuencia"
+msgstr "Zap.št."
 
 msgctxt "field:product.product-production.bom,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Zapisano"
 
 msgctxt "field:product.product-production.bom,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Zapisal"
 
 msgctxt "field:production,bom:"
 msgid "BOM"
-msgstr "LdM"
+msgstr "Kosovnica"
 
 msgctxt "field:production,code:"
 msgid "Code"
-msgstr "Código"
+msgstr "Šifra"
 
 msgctxt "field:production,company:"
 msgid "Company"
-msgstr "Empresa"
+msgstr "Podjetje"
 
 msgctxt "field:production,cost:"
 msgid "Cost"
-msgstr "Costo"
+msgstr "Strošek"
 
 msgctxt "field:production,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:production,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Ustvaril"
 
 msgctxt "field:production,effective_date:"
 msgid "Effective Date"
-msgstr "Fecha efectiva"
+msgstr "Dejanski datum"
 
 msgctxt "field:production,id:"
 msgid "ID"
@@ -112,63 +110,63 @@ msgstr "ID"
 
 msgctxt "field:production,inputs:"
 msgid "Inputs"
-msgstr "Entradas"
+msgstr "Vhodi"
 
 msgctxt "field:production,location:"
 msgid "Location"
-msgstr "Ubicación"
+msgstr "Lokacija"
 
 msgctxt "field:production,outputs:"
 msgid "Outputs"
-msgstr "Salidas"
+msgstr "Izhodi"
 
 msgctxt "field:production,planned_date:"
 msgid "Planned Date"
-msgstr "Fecha estimada"
+msgstr "Načrtovan datum"
 
 msgctxt "field:production,product:"
 msgid "Product"
-msgstr "Producto"
+msgstr "Izdelek"
 
 msgctxt "field:production,quantity:"
 msgid "Quantity"
-msgstr "Cantidad"
+msgstr "Količina"
 
 msgctxt "field:production,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:production,reference:"
 msgid "Reference"
-msgstr "Referencia"
+msgstr "Sklic"
 
 msgctxt "field:production,state:"
 msgid "State"
-msgstr "Estado"
+msgstr "Stanje"
 
 msgctxt "field:production,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos de unidad"
+msgstr "Decimalke"
 
 msgctxt "field:production,uom:"
 msgid "Uom"
-msgstr "UdM"
+msgstr "ME"
 
 msgctxt "field:production,uom_category:"
 msgid "Uom Category"
-msgstr "Categoría UdM"
+msgstr "Kategorija ME"
 
 msgctxt "field:production,warehouse:"
 msgid "Warehouse"
-msgstr "Depósito"
+msgstr "Skladišče"
 
 msgctxt "field:production,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Zapisano"
 
 msgctxt "field:production,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Zapisal"
 
 msgctxt "field:production.assign.failed,id:"
 msgid "ID"
@@ -176,19 +174,19 @@ msgstr "ID"
 
 msgctxt "field:production.assign.failed,moves:"
 msgid "Moves"
-msgstr "Movimientos"
+msgstr "Promet"
 
 msgctxt "field:production.bom,active:"
 msgid "Active"
-msgstr "Activo"
+msgstr "Aktivno"
 
 msgctxt "field:production.bom,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:production.bom,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Ustvaril"
 
 msgctxt "field:production.bom,id:"
 msgid "ID"
@@ -196,43 +194,43 @@ msgstr "ID"
 
 msgctxt "field:production.bom,inputs:"
 msgid "Inputs"
-msgstr "Entradas"
+msgstr "Vhodi"
 
 msgctxt "field:production.bom,name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Naziv"
 
 msgctxt "field:production.bom,output_products:"
 msgid "Output Products"
-msgstr "Salida de productos"
+msgstr "Izhodni izdelki"
 
 msgctxt "field:production.bom,outputs:"
 msgid "Outputs"
-msgstr "Salidas"
+msgstr "Izhodi"
 
 msgctxt "field:production.bom,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:production.bom,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Zapisano"
 
 msgctxt "field:production.bom,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Zapisal"
 
 msgctxt "field:production.bom.input,bom:"
 msgid "BOM"
-msgstr "LdM"
+msgstr "Kosovnica"
 
 msgctxt "field:production.bom.input,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:production.bom.input,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Ustvaril"
 
 msgctxt "field:production.bom.input,id:"
 msgid "ID"
@@ -240,47 +238,47 @@ msgstr "ID"
 
 msgctxt "field:production.bom.input,product:"
 msgid "Product"
-msgstr "Producto"
+msgstr "Izdelek"
 
 msgctxt "field:production.bom.input,quantity:"
 msgid "Quantity"
-msgstr "Cantidad"
+msgstr "Količina"
 
 msgctxt "field:production.bom.input,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:production.bom.input,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos de unidad"
+msgstr "Decimalke"
 
 msgctxt "field:production.bom.input,uom:"
 msgid "Uom"
-msgstr "UdM"
+msgstr "ME"
 
 msgctxt "field:production.bom.input,uom_category:"
 msgid "Uom Category"
-msgstr "Categoría UdM"
+msgstr "Kategorija ME"
 
 msgctxt "field:production.bom.input,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Zapisano"
 
 msgctxt "field:production.bom.input,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Zapisal"
 
 msgctxt "field:production.bom.output,bom:"
 msgid "BOM"
-msgstr "LdM"
+msgstr "Kosovnica"
 
 msgctxt "field:production.bom.output,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:production.bom.output,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Ustvaril"
 
 msgctxt "field:production.bom.output,id:"
 msgid "ID"
@@ -288,39 +286,39 @@ msgstr "ID"
 
 msgctxt "field:production.bom.output,product:"
 msgid "Product"
-msgstr "Producto"
+msgstr "Izdelek"
 
 msgctxt "field:production.bom.output,quantity:"
 msgid "Quantity"
-msgstr "Cantidad"
+msgstr "Količina"
 
 msgctxt "field:production.bom.output,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:production.bom.output,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos de unidad"
+msgstr "Decimalke"
 
 msgctxt "field:production.bom.output,uom:"
 msgid "Uom"
-msgstr "UdM"
+msgstr "ME"
 
 msgctxt "field:production.bom.output,uom_category:"
 msgid "Uom Category"
-msgstr "Categoría UdM"
+msgstr "Kategorija ME"
 
 msgctxt "field:production.bom.output,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Zapisano"
 
 msgctxt "field:production.bom.output,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Zapisal"
 
 msgctxt "field:production.bom.tree,childs:"
 msgid "Childs"
-msgstr "Hijos"
+msgstr "Podrejeni"
 
 msgctxt "field:production.bom.tree,id:"
 msgid "ID"
@@ -328,27 +326,27 @@ msgstr "ID"
 
 msgctxt "field:production.bom.tree,product:"
 msgid "Product"
-msgstr "Producto"
+msgstr "Izdelek"
 
 msgctxt "field:production.bom.tree,quantity:"
 msgid "Quantity"
-msgstr "Cantidad"
+msgstr "Količina"
 
 msgctxt "field:production.bom.tree,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos de unidad"
+msgstr "Decimalke"
 
 msgctxt "field:production.bom.tree,uom:"
 msgid "Uom"
-msgstr "UdM"
+msgstr "ME"
 
 msgctxt "field:production.bom.tree.open.start,bom:"
 msgid "BOM"
-msgstr "LdM"
+msgstr "Kosovnica"
 
 msgctxt "field:production.bom.tree.open.start,category:"
 msgid "Category"
-msgstr "Categoría"
+msgstr "Kategorija"
 
 msgctxt "field:production.bom.tree.open.start,id:"
 msgid "ID"
@@ -356,23 +354,23 @@ msgstr "ID"
 
 msgctxt "field:production.bom.tree.open.start,product:"
 msgid "Product"
-msgstr "Producto"
+msgstr "Izdelek"
 
 msgctxt "field:production.bom.tree.open.start,quantity:"
 msgid "Quantity"
-msgstr "Cantidad"
+msgstr "Količina"
 
 msgctxt "field:production.bom.tree.open.start,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos de unidad"
+msgstr "Decimalke"
 
 msgctxt "field:production.bom.tree.open.start,uom:"
 msgid "Unit"
-msgstr "Unidad"
+msgstr "enota"
 
 msgctxt "field:production.bom.tree.open.tree,bom_tree:"
 msgid "BOM Tree"
-msgstr "Árbol LdM"
+msgstr "Drevo kosovnice"
 
 msgctxt "field:production.bom.tree.open.tree,id:"
 msgid "ID"
@@ -380,11 +378,11 @@ msgstr "ID"
 
 msgctxt "field:production.configuration,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Ustvarjeno"
 
 msgctxt "field:production.configuration,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Ustvaril"
 
 msgctxt "field:production.configuration,id:"
 msgid "ID"
@@ -392,306 +390,314 @@ msgstr "ID"
 
 msgctxt "field:production.configuration,production_sequence:"
 msgid "Production Sequence"
-msgstr "Secuencia de producción"
+msgstr "Proizvodni nalog"
 
 msgctxt "field:production.configuration,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Ime"
 
 msgctxt "field:production.configuration,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Zapisano"
 
 msgctxt "field:production.configuration,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Zapisal"
 
 msgctxt "field:stock.location,production_location:"
 msgid "Production"
-msgstr "Producción"
+msgstr "Proizvodnja"
 
 msgctxt "field:stock.move,production_input:"
 msgid "Production Input"
-msgstr "Entrada a producción"
+msgstr "Vhod proizvodnega naloga"
 
 msgctxt "field:stock.move,production_output:"
 msgid "Production Output"
-msgstr "Salida de producción"
+msgstr "Izhod proizvodnega naloga"
 
 msgctxt "model:ir.action,name:act_bom_form"
 msgid "BOM"
-msgstr "LdM"
+msgstr "Kosovnica"
 
 msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
-msgstr "LdMs"
+msgstr "Kosovnice"
+
+msgctxt "model:ir.action,name:act_production_calendar"
+msgid "Productions"
+msgstr "Proizvodni nalogi"
 
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
-msgstr "Configuración de producción"
+msgstr "Proizvodna konfiguracija"
 
 msgctxt "model:ir.action,name:act_production_list"
 msgid "Productions"
-msgstr "Producciones"
+msgstr "Proizvodni nalogi"
 
 msgctxt "model:ir.action,name:wizard_assign"
 msgid "Assign Production"
-msgstr "Asignar producción"
+msgstr "Dodelitev proizvodnega naloga"
 
 msgctxt "model:ir.action,name:wizard_bom_tree_open"
 msgid "BOM Tree"
-msgstr "Árbol LdM"
+msgstr "Drevo kosovnice"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_production_list_domain_all"
 msgid "All"
-msgstr "Todo"
+msgstr "Vse"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_production_list_domain_assigned"
 msgid "Assigned"
-msgstr "Asignado"
+msgstr "Dodeljeno"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_production_list_domain_draft"
 msgid "Draft"
-msgstr "Borrador"
+msgstr "Osnutki"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_production_list_domain_requests"
 msgid "Requests"
-msgstr "Solicitudes"
+msgstr "Zahtevki"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_production_list_domain_running"
 msgid "Running"
-msgstr "En ejecución"
+msgstr "Tekoče"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_production_list_domain_waiting"
 msgid "Waiting"
-msgstr "En espera"
+msgstr "Čakajoče"
 
 msgctxt "model:ir.sequence,name:sequence_production"
 msgid "Production"
-msgstr "Producción"
+msgstr "Proizvodni nalog"
 
 msgctxt "model:ir.sequence.type,name:sequence_type_production"
 msgid "Production"
-msgstr "Producción"
+msgstr "Proizvodni nalog"
 
 msgctxt "model:ir.ui.menu,name:menu_bom_list"
 msgid "BOMs"
-msgstr "LdMs"
+msgstr "Kosovnice"
 
 msgctxt "model:ir.ui.menu,name:menu_configuration"
 msgid "Configuration"
-msgstr "Configuración"
+msgstr "Nastavitve"
 
 msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
-msgstr "Producción"
+msgstr "Proizvodnja"
+
+msgctxt "model:ir.ui.menu,name:menu_production_calendar"
+msgid "Productions"
+msgstr "Proizvodni nalogi"
 
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
-msgstr "Producción"
+msgstr "Konfiguracija"
 
 msgctxt "model:ir.ui.menu,name:menu_production_list"
 msgid "Productions"
-msgstr "Producciones"
+msgstr "Proizvodni nalogi"
 
 msgctxt "model:product.product-production.bom,name:"
 msgid "Product - BOM"
-msgstr "Producto - LdM"
+msgstr "Izdelek - Kosovnica"
 
 msgctxt "model:production,name:"
 msgid "Production"
-msgstr "Producción"
+msgstr "Proizvodni nalog"
 
 msgctxt "model:production.assign.failed,name:"
 msgid "Assign Production"
-msgstr "Asignar producción"
+msgstr "Dodelitev proizvodnega naloga"
 
 msgctxt "model:production.bom,name:"
 msgid "Bill of Material"
-msgstr "Lista de Materiales"
+msgstr "Kosovnica"
 
 msgctxt "model:production.bom.input,name:"
 msgid "Bill of Material Input"
-msgstr "Entrada Lista de Materiales"
+msgstr "Vhod kosovnice"
 
 msgctxt "model:production.bom.output,name:"
 msgid "Bill of Material Output"
-msgstr "Salida Lista de Materiales"
+msgstr "Izhod kosovnice"
 
 msgctxt "model:production.bom.tree,name:"
 msgid "BOM Tree"
-msgstr "Árbol LdM"
+msgstr "Drevo kosovnice"
 
 msgctxt "model:production.bom.tree.open.start,name:"
 msgid "Open BOM Tree"
-msgstr "Abrir árbol de LdM"
+msgstr "Odpri drevo kosovnice"
 
 msgctxt "model:production.bom.tree.open.tree,name:"
 msgid "Open BOM Tree"
-msgstr "Abrir árbol de LdM"
+msgstr "Odpri drevo kosovnice"
 
 msgctxt "model:production.configuration,name:"
 msgid "Production Configuration"
-msgstr "Configuración de producción"
+msgstr "Proizvodna konfiguracija"
 
 msgctxt "model:res.group,name:group_production"
 msgid "Production"
-msgstr "Producción"
+msgstr "Proizvodnja"
 
 msgctxt "model:res.group,name:group_production_admin"
 msgid "Production Administration"
-msgstr "Administración de producción"
+msgstr "Proizvodnja - vodenje"
 
 msgctxt "model:stock.location,name:location_production"
 msgid "Production"
-msgstr "Producción"
+msgstr "Proizvodnja"
 
 msgctxt "selection:production,state:"
 msgid "Assigned"
-msgstr "Asignado"
+msgstr "Dodeljeno"
 
 msgctxt "selection:production,state:"
 msgid "Canceled"
-msgstr "Cancelado"
+msgstr "Preklicano"
 
 msgctxt "selection:production,state:"
 msgid "Done"
-msgstr "Realizado"
+msgstr "Zaključeno"
 
 msgctxt "selection:production,state:"
 msgid "Draft"
-msgstr "Borrador"
+msgstr "Osnutek"
 
 msgctxt "selection:production,state:"
 msgid "Request"
-msgstr "Solicitud"
+msgstr "Zahtevek"
 
 msgctxt "selection:production,state:"
 msgid "Running"
-msgstr "En ejecución"
+msgstr "Tekoče"
 
 msgctxt "selection:production,state:"
 msgid "Waiting"
-msgstr "En espera"
+msgstr "Čakajoče"
 
 msgctxt "view:product.product-production.bom:"
 msgid "Product - BOM"
-msgstr "Producto - LdM"
+msgstr "Izdelek - Kosovnica"
 
 msgctxt "view:product.product-production.bom:"
 msgid "Product - BOMs"
-msgstr "Producto - LdMs"
+msgstr "Izdelek - Kosovnice"
 
 msgctxt "view:production.assign.failed:"
 msgid "Unable to Assign"
-msgstr "No se puede asignar"
+msgstr "Dodelitev ni možna"
 
 msgctxt "view:production.assign.failed:"
 msgid "Unable to assign those products:"
-msgstr "No se puede asignar estos productos:"
+msgstr "Dodelitev ni možna za naslednje izdelke:"
 
 msgctxt "view:production.bom.input:"
 msgid "BOM Inputs"
-msgstr "Entradas LdM"
+msgstr "Vhodi kosovnice"
 
 msgctxt "view:production.bom.output:"
 msgid "BOM Outputs"
-msgstr "Salidas LdM"
+msgstr "Izhodi kosovnice"
 
 msgctxt "view:production.bom.tree.open.start:"
 msgid "BOM Tree"
-msgstr "Árbol LdM"
+msgstr "Drevo kosovnice"
 
 msgctxt "view:production.bom.tree.open.tree:"
 msgid "BOM Tree"
-msgstr "Árbol LdM"
+msgstr "Drevo kosovnice"
 
 msgctxt "view:production.bom.tree:"
 msgid "BOM Tree"
-msgstr "Árbol LdM"
+msgstr "Drevo kosovnice"
 
 msgctxt "view:production.bom:"
 msgid "BOM"
-msgstr "LdM"
+msgstr "Kosovnica"
 
 msgctxt "view:production.bom:"
 msgid "BOMs"
-msgstr "LdMs"
+msgstr "Kosovnice"
 
 msgctxt "view:production.bom:"
 msgid "Lines"
-msgstr "Líneas"
+msgstr "Postavke"
 
 msgctxt "view:production.configuration:"
 msgid "Production Configuration"
-msgstr "Configuración de producción"
+msgstr "Proizvodna konfiguracija"
 
 msgctxt "view:production:"
 msgid "Assign"
-msgstr "Asignar"
+msgstr "Dodelitev"
 
 msgctxt "view:production:"
 msgid "Cancel"
-msgstr "Cancelar"
+msgstr "Preklic"
 
 msgctxt "view:production:"
 msgid "Done"
-msgstr "Realizado"
+msgstr "Zaključeno"
 
 msgctxt "view:production:"
 msgid "Draft"
-msgstr "Borrador"
+msgstr "Osnutek"
 
 msgctxt "view:production:"
 msgid "Lines"
-msgstr "Líneas"
+msgstr "Postavke"
 
 msgctxt "view:production:"
 msgid "Other Info"
-msgstr "Información adicional"
+msgstr "Drugo"
 
 msgctxt "view:production:"
 msgid "Production"
-msgstr "Producción"
+msgstr "Proizvodni nalog"
 
 msgctxt "view:production:"
 msgid "Productions"
-msgstr "Producciones"
+msgstr "Proizvodni nalogi"
 
 msgctxt "view:production:"
 msgid "Run"
-msgstr "Ejecutar"
+msgstr "Izvajanje"
 
 msgctxt "view:production:"
 msgid "Wait"
-msgstr "Espera"
+msgstr "Čakanje"
 
 msgctxt "wizard_button:production.assign,failed,end:"
 msgid "Ok"
-msgstr "Aceptar"
+msgstr "V redu"
 
 msgctxt "wizard_button:production.assign,failed,force:"
 msgid "Force Assign"
-msgstr "Forzar asignación"
+msgstr "Rezervacija"
 
 msgctxt "wizard_button:production.bom.tree.open,start,end:"
 msgid "Cancel"
-msgstr "Cancelar"
+msgstr "Prekliči"
 
 msgctxt "wizard_button:production.bom.tree.open,start,tree:"
 msgid "Ok"
-msgstr "Aceptar"
+msgstr "V redu"
 
 msgctxt "wizard_button:production.bom.tree.open,tree,end:"
 msgid "Close"
-msgstr "Cerrar"
+msgstr "Zapri"
 
 msgctxt "wizard_button:production.bom.tree.open,tree,start:"
 msgid "Change"
-msgstr "Cambiar"
+msgstr "Spremeni"
diff --git a/product.py b/product.py
index 0db43fe..cef2ada 100644
--- a/product.py
+++ b/product.py
@@ -40,8 +40,8 @@ class Product:
             product = self
         for product_bom in self.boms:
             for input_ in product_bom.bom.inputs:
-                if (input_.product == product
-                        or input_.product.check_bom_recursion(product=product)):
+                if (input_.product == product or
+                        input_.product.check_bom_recursion(product=product)):
                     self.raise_user_error('recursive_bom', (product.rec_name,))
 
     @classmethod
diff --git a/production.xml b/production.xml
index e59b88f..62b119e 100644
--- a/production.xml
+++ b/production.xml
@@ -59,6 +59,12 @@ this repository contains the full copyright notices and license terms. -->
             <field name="name">production_list</field>
         </record>
 
+        <record model="ir.ui.view" id="production_view_calendar">
+            <field name="model">production</field>
+            <field name="type">calendar</field>
+            <field name="name">production_calendar</field>
+        </record>
+
         <record model="ir.ui.view" id="production_view_form">
             <field name="model">production</field>
             <field name="type">form</field>
@@ -127,6 +133,26 @@ this repository contains the full copyright notices and license terms. -->
         <menuitem parent="menu_production" sequence="10"
             action="act_production_list" id="menu_production_list"/>
 
+        <record model="ir.action.act_window" id="act_production_calendar">
+            <field name="name">Productions</field>
+            <field name="res_model">production</field>
+        </record>
+        <record model="ir.action.act_window.view"
+            id="act_production_calendar_view1">
+            <field name="sequence" eval="10"/>
+            <field name="view" ref="production_view_calendar"/>
+            <field name="act_window" ref="act_production_calendar"/>
+        </record>
+        <record model="ir.action.act_window.view"
+            id="act_production_calendar_view2">
+            <field name="sequence" eval="20"/>
+            <field name="view" ref="production_view_form"/>
+            <field name="act_window" ref="act_production_calendar"/>
+        </record>
+
+        <menuitem parent="menu_production_list" sequence="10"
+            action="act_production_calendar" id="menu_production_calendar"/>
+
         <record model="ir.sequence.type" id="sequence_type_production">
             <field name="name">Production</field>
             <field name="code">production</field>
diff --git a/setup.py b/setup.py
index 016c0c7..32037af 100644
--- a/setup.py
+++ b/setup.py
@@ -64,6 +64,7 @@ setup(name='trytond_production',
         'Natural Language :: French',
         'Natural Language :: German',
         'Natural Language :: Russian',
+        'Natural Language :: Slovenian',
         'Natural Language :: Spanish',
         'Operating System :: OS Independent',
         'Programming Language :: Python :: 2.6',
diff --git a/tests/__init__.py b/tests/__init__.py
index 837865a..e64267e 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -2,3 +2,5 @@
 #this repository contains the full copyright notices and license terms.
 
 from test_production import suite
+
+__all__ = ['suite']
diff --git a/tryton.cfg b/tryton.cfg
index 6826eb5..e60bd9e 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=2.8.0
+version=3.0.0
 depends:
     company
     ir
diff --git a/trytond_production.egg-info/PKG-INFO b/trytond_production.egg-info/PKG-INFO
index 53d8341..a3c7de0 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: 2.8.0
+Version: 3.0.0
 Summary: Tryton module for production
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: UNKNOWN
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.8/
+Download-URL: http://downloads.tryton.org/3.0/
 Description: trytond_production
         ==================
         
@@ -60,6 +60,7 @@ Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
 Classifier: Natural Language :: Russian
+Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 2.6
diff --git a/trytond_production.egg-info/SOURCES.txt b/trytond_production.egg-info/SOURCES.txt
index 387e5a8..5dc27ed 100644
--- a/trytond_production.egg-info/SOURCES.txt
+++ b/trytond_production.egg-info/SOURCES.txt
@@ -30,6 +30,7 @@ locale/es_ES.po
 locale/fr_FR.po
 locale/nl_NL.po
 locale/ru_RU.po
+locale/sl_SI.po
 tests/scenario_production.rst
 trytond_production.egg-info/PKG-INFO
 trytond_production.egg-info/SOURCES.txt
@@ -54,5 +55,6 @@ view/product_bom_form.xml
 view/product_bom_list.xml
 view/product_bom_list_sequence.xml
 view/product_form.xml
+view/production_calendar.xml
 view/production_form.xml
 view/production_list.xml
\ No newline at end of file
diff --git a/trytond_production.egg-info/requires.txt b/trytond_production.egg-info/requires.txt
index 668770d..b24a68f 100644
--- a/trytond_production.egg-info/requires.txt
+++ b/trytond_production.egg-info/requires.txt
@@ -1,4 +1,4 @@
-trytond_company >= 2.8, < 2.9
-trytond_product >= 2.8, < 2.9
-trytond_stock >= 2.8, < 2.9
-trytond >= 2.8, < 2.9
\ No newline at end of file
+trytond_company >= 3.0, < 3.1
+trytond_product >= 3.0, < 3.1
+trytond_stock >= 3.0, < 3.1
+trytond >= 3.0, < 3.1
\ No newline at end of file
diff --git a/view/production_list.xml b/view/production_calendar.xml
similarity index 58%
copy from view/production_list.xml
copy to view/production_calendar.xml
index 8a0e4c6..1351493 100644
--- a/view/production_list.xml
+++ b/view/production_calendar.xml
@@ -1,12 +1,8 @@
 <?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. -->
-<tree string="Productions">
-    <field name="product"/>
+<calendar string="Productions" dtstart="planned_date">
     <field name="code"/>
+    <field name="product"/>
     <field name="reference"/>
-    <field name="planned_date"/>
-    <field name="effective_date"/>
-    <field name="state"/>
-    <field name="create_date" tree_invisible="1"/>
-</tree>
+</calendar>
diff --git a/view/production_list.xml b/view/production_list.xml
index 8a0e4c6..c4ddeeb 100644
--- a/view/production_list.xml
+++ b/view/production_list.xml
@@ -8,5 +8,4 @@ this repository contains the full copyright notices and license terms. -->
     <field name="planned_date"/>
     <field name="effective_date"/>
     <field name="state"/>
-    <field name="create_date" tree_invisible="1"/>
 </tree>
commit 21e55a6921dbdaed619ce66b2644deead69dca88
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Tue Aug 6 16:21:00 2013 +0200

    Releasing debian version 2.8.0-2.

diff --git a/debian/changelog b/debian/changelog
index b304ec8..ac1babf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+tryton-modules-production (2.8.0-2) unstable; urgency=low
+
+  * Moving doc/index.rst to appropriate subdirectory doc.
+  * Simplifying package layout by renaming <pkg_name>.docs to docs.
+  * Removing needless empty line in rules.
+  * Adapting the rules file to work also with git-buildpackage.
+
+ -- Mathias Behrle <mathiasb at m9s.biz>  Tue, 06 Aug 2013 13:33:12 +0200
+
 tryton-modules-production (2.8.0-1) experimental; urgency=low
 
   * Merging upstream version 2.8.0.
commit b4c4f35a6ab233009766c3a5e7be36e8998ed196
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Mon Aug 5 18:06:36 2013 +0200

    Adapting the rules file to work also with git-buildpackage.

diff --git a/debian/rules b/debian/rules
index a6a1fb8..30074ad 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,13 +1,24 @@
 #!/usr/bin/make -f
 
 MAJOR := $(shell python setup.py --version | awk -F "." '{print $$1 "." $$2}')
+PACKAGE_NAME := $(shell python setup.py --name)
 
 %:
 	dh ${@} --with python2
 
 override_dh_auto_clean:
 	dh_auto_clean
+
+override_dh_auto_build:
+	mv $(PACKAGE_NAME).egg-info $(PACKAGE_NAME).hen-info
+	mv PKG-INFO PKG-INFO.hen
+	dh_auto_build
+
+override_dh_auto_install:
+	dh_auto_install
 	rm -rf *.egg-info
+	mv $(PACKAGE_NAME).hen-info $(PACKAGE_NAME).egg-info
+	mv PKG-INFO.hen PKG-INFO
 
 override_dh_gencontrol:
 	dh_gencontrol -- -Vversion:major="$(MAJOR)"
commit c3ee52b806aaee4e4f91be2aba3d4e5c5ef36c42
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Wed May 29 17:19:29 2013 +0200

    Removing needless empty line in rules.

diff --git a/debian/rules b/debian/rules
index 0f63ab4..a6a1fb8 100755
--- a/debian/rules
+++ b/debian/rules
@@ -7,7 +7,6 @@ MAJOR := $(shell python setup.py --version | awk -F "." '{print $$1 "." $$2}')
 
 override_dh_auto_clean:
 	dh_auto_clean
-
 	rm -rf *.egg-info
 
 override_dh_gencontrol:
commit 8e964dbd668359ad8582ba7988b21ab40c224da6
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Wed May 29 16:57:52 2013 +0200

    Simplifying package layout by renaming <pkg_name>.docs to docs.
    
    Thanks to Andreas Tille for this proposal. Since tryton module packages
    will most probably stay simple binary packages this change simplifies the
    package layout.

diff --git a/debian/tryton-modules-production.docs b/debian/docs
similarity index 100%
rename from debian/tryton-modules-production.docs
rename to debian/docs
commit ee9b1433de05e263b34210bb22e24ca4a1529879
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Tue May 14 18:40:52 2013 +0200

    Moving doc/index.rst to appropriate subdirectory doc.

diff --git a/debian/tryton-modules-production.docs b/debian/tryton-modules-production.docs
index 172a1f8..a2e6bd4 100644
--- a/debian/tryton-modules-production.docs
+++ b/debian/tryton-modules-production.docs
@@ -1 +1 @@
-doc/index.rst
+doc/
commit e9cafefd90dda6fd4b03eb6ad1167c55138ec4fa
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Thu May 2 17:27:08 2013 +0200

    Releasing debian version 2.8.0-1.

diff --git a/debian/changelog b/debian/changelog
index 429df5c..b304ec8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+tryton-modules-production (2.8.0-1) experimental; urgency=low
+
+  * Merging upstream version 2.8.0.
+  * Updating copyright.
+  * First upload to Debian (Closes: #706844).
+
+ -- Mathias Behrle <mathiasb at m9s.biz>  Thu, 02 May 2013 15:20:29 +0200
+
 tryton-modules-production (2.6.1-2) experimental; urgency=low
 
   * Improving update of major version in Depends.
commit 6b3f481f1dbd9a8911af90b155151ef5f38f98fc
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Thu May 2 14:13:10 2013 +0200

    Updating copyright.

diff --git a/debian/copyright b/debian/copyright
index 900682e..629bf50 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,8 +1,8 @@
 Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 
 Files: *
-Copyright: 2012 Cédric Krier
-           2012 B2CK SPRL
+Copyright: 2012-2013 Cédric Krier
+           2012-2013 B2CK SPRL
 License: GPL-3+
 
 Files: debian/*
commit 0b49c2cd0fcc55c0b9c78d71018d5c1f8491765e
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Thu May 2 00:36:58 2013 +0200

    Merging upstream version 2.8.0.

diff --git a/CHANGELOG b/CHANGELOG
index ea0e50a..a038a0f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,4 @@
-Version 2.6.1 - 2012-12-23
+Version 2.8.0 - 2013-04-22
 * Bug fixes (see mercurial logs for details)
 
 Version 2.6.0 - 2012-10-22
diff --git a/COPYRIGHT b/COPYRIGHT
index 747ae18..7668cfa 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1,5 +1,5 @@
-Copyright (C) 2012 Cédric Krier.
-Copyright (C) 2012 B2CK SPRL.
+Copyright (C) 2012-2013 Cédric Krier.
+Copyright (C) 2012-2013 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/MANIFEST.in b/MANIFEST.in
index 501657d..f040e5e 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -6,6 +6,7 @@ include CHANGELOG
 include LICENSE
 include tryton.cfg
 include *.xml
+include view/*.xml
 include *.odt
 include locale/*.po
 include doc/*
diff --git a/PKG-INFO b/PKG-INFO
index 53ed5d9..01c389f 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond_production
-Version: 2.6.1
+Version: 2.8.0
 Summary: Tryton module for production
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: UNKNOWN
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.6/
+Download-URL: http://downloads.tryton.org/2.8/
 Description: trytond_production
         ==================
         
@@ -53,6 +53,7 @@ Classifier: Intended Audience :: Legal Industry
 Classifier: Intended Audience :: Manufacturing
 Classifier: License :: OSI Approved :: GNU General Public License (GPL)
 Classifier: Natural Language :: Bulgarian
+Classifier: Natural Language :: Catalan
 Classifier: Natural Language :: Czech
 Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
diff --git a/bom.py b/bom.py
index 1378dc0..737abc4 100644
--- a/bom.py
+++ b/bom.py
@@ -78,12 +78,9 @@ class BOMInput(ModelSQL, ModelView):
             ('product_bom_uniq', 'UNIQUE(product, bom)',
                 'product_bom_uniq'),
             ]
-        cls._constraints += [
-            ('check_bom_recursion', 'recursive_bom'),
-            ]
         cls._error_messages.update({
-                'product_bom_uniq': 'Product must be unique per BOM!',
-                'recursive_bom': 'You can not create recursive BOMs!',
+                'product_bom_uniq': 'Product must be unique per BOM.',
+                'recursive_bom': 'You can not create recursive BOMs.',
                 })
 
     def on_change_product(self):
@@ -109,11 +106,17 @@ class BOMInput(ModelSQL, ModelView):
             return self.uom.digits
         return 2
 
+    @classmethod
+    def validate(cls, boms):
+        super(BOMInput, cls).validate(boms)
+        for bom in boms:
+            bom.check_bom_recursion()
+
     def check_bom_recursion(self):
         '''
         Check BOM recursion
         '''
-        return self.product.check_bom_recursion()
+        self.product.check_bom_recursion()
 
     def compute_quantity(self, factor):
         Uom = Pool().get('product.uom')
diff --git a/bom.xml b/bom.xml
index 1ccc688..5ec740e 100644
--- a/bom.xml
+++ b/bom.xml
@@ -6,35 +6,13 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.ui.view" id="bom_view_list">
             <field name="model">production.bom</field>
             <field name="type">tree</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <tree string="BOMs">
-                    <field name="name"/>
-                    <field name="active"/>
-                </tree>
-                ]]>
-            </field>
+            <field name="name">bom_list</field>
         </record>
 
         <record model="ir.ui.view" id="bom_view_form">
             <field name="model">production.bom</field>
             <field name="type">form</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <form string="BOM">
-                    <label name="name"/>
-                    <field name="name"/>
-                    <label name="active"/>
-                    <field name="active"/>
-                    <notebook>
-                        <page string="Lines" id="lines" col="2">
-                            <field name="inputs"/>
-                            <field name="outputs"/>
-                        </page>
-                    </notebook>
-                </form>
-                ]]>
-            </field>
+            <field name="name">bom_form</field>
         </record>
 
         <record model="ir.action.act_window" id="act_bom_list">
@@ -78,36 +56,12 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.ui.view" id="bom_input_view_list">
             <field name="model">production.bom.input</field>
             <field name="type">tree</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <tree string="BOM Inputs">
-                    <field name="bom"/>
-                    <field name="product"/>
-                    <field name="quantity"/>
-                    <field name="uom"/>
-                </tree>
-                ]]>
-            </field>
+            <field name="name">bom_input_list</field>
         </record>
         <record model="ir.ui.view" id="bom_input_view_form">
             <field name="model">production.bom.input</field>
             <field name="type">form</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <form string="BOM Inputs">
-                    <label name="bom"/>
-                    <field name="bom"/>
-                    <newline/>
-                    <label name="product"/>
-                    <field name="product"/>
-                    <newline/>
-                    <label name="quantity"/>
-                    <field name="quantity"/>
-                    <label name="uom"/>
-                    <field name="uom"/>
-                </form>
-                ]]>
-            </field>
+            <field name="name">bom_input_form</field>
         </record>
 
         <record model="ir.model.access" id="access_bom_input">
@@ -129,36 +83,12 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.ui.view" id="bom_output_view_list">
             <field name="model">production.bom.output</field>
             <field name="type">tree</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <tree string="BOM Outputs">
-                    <field name="bom"/>
-                    <field name="product"/>
-                    <field name="quantity"/>
-                    <field name="uom"/>
-                </tree>
-                ]]>
-            </field>
+            <field name="name">bom_output_list</field>
         </record>
         <record model="ir.ui.view" id="bom_output_view_form">
             <field name="model">production.bom.output</field>
             <field name="type">form</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <form string="BOM Outputs">
-                    <label name="bom"/>
-                    <field name="bom"/>
-                    <newline/>
-                    <label name="product"/>
-                    <field name="product"/>
-                    <newline/>
-                    <label name="quantity"/>
-                    <field name="quantity"/>
-                    <label name="uom"/>
-                    <field name="uom"/>
-                </form>
-                ]]>
-            </field>
+            <field name="name">bom_output_form</field>
         </record>
 
         <record model="ir.model.access" id="access_bom_output">
@@ -181,46 +111,19 @@ this repository contains the full copyright notices and license terms. -->
             <field name="model">production.bom.tree</field>
             <field name="type">tree</field>
             <field name="field_childs">childs</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <tree string="BOM Tree">
-                    <field name="product"/>
-                    <field name="quantity"/>
-                    <field name="uom"/>
-                    <field name="childs" tree_invisible="1"/>
-                </tree>
-                ]]>
-            </field>
+            <field name="name">bom_tree_tree</field>
         </record>
 
         <record model="ir.ui.view" id="bom_tree_open_start_view_form">
             <field name="model">production.bom.tree.open.start</field>
             <field name="type">form</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <form string="BOM Tree">
-                    <label name="bom"/>
-                    <field name="bom"/>
-                    <newline/>
-                    <label name="quantity"/>
-                    <field name="quantity"/>
-                    <label name="uom"/>
-                    <field name="uom"/>
-                </form>
-                ]]>
-            </field>
+            <field name="name">bom_tree_open_start_form</field>
         </record>
 
         <record model="ir.ui.view" id="bom_tree_open_tree_view_form">
             <field name="model">production.bom.tree.open.tree</field>
             <field name="type">form</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <form string="BOM Tree">
-                    <field name="bom_tree"/>
-                </form>
-                ]]>
-            </field>
+            <field name="name">bom_tree_open_tree_form</field>
         </record>
 
         <record model="ir.action.wizard" id="wizard_bom_tree_open">
diff --git a/configuration.xml b/configuration.xml
index 1135052..172dae5 100644
--- a/configuration.xml
+++ b/configuration.xml
@@ -7,14 +7,7 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.ui.view" id="production_configuration_view_form">
             <field name="model">production.configuration</field>
             <field name="type">form</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <form string="Production Configuration">
-                    <label name="production_sequence"/>
-                    <field name="production_sequence"/>
-                </form>
-                ]]>
-            </field>
+            <field name="name">configuration_form</field>
         </record>
 
         <record model="ir.action.act_window"
diff --git a/locale/bg_BG.po b/locale/bg_BG.po
index 4266d14..f6a036b 100644
--- a/locale/bg_BG.po
+++ b/locale/bg_BG.po
@@ -3,36 +3,38 @@ msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:product.product:"
-msgid "You can not create recursive BOMs!"
-msgstr "Не може да съзадавате взаимно вложени спецификации!"
+msgid ""
+"You are trying to create a recursive BOM with product \"%s\" which is not "
+"allowed."
+msgstr ""
 
 msgctxt "error:production.bom.input:"
-msgid "Product must be unique per BOM!"
-msgstr "В спецификация продукта трябва да е уникален!"
+msgid "Product must be unique per BOM."
+msgstr ""
 
 msgctxt "error:production.bom.input:"
-msgid "You can not create recursive BOMs!"
-msgstr "Не може да съзадавате взаимно вложени спецификации!"
+msgid "You can not create recursive BOMs."
+msgstr ""
 
 msgctxt "error:production.bom.input:"
 msgid "product_bom_uniq"
 msgstr ""
 
 msgctxt "error:production.bom.output:"
-msgid "Product must be unique per BOM!"
-msgstr "В спецификация продукта трябва да е уникален!"
+msgid "Product must be unique per BOM."
+msgstr ""
 
 msgctxt "error:production.bom.output:"
-msgid "You can not create recursive BOMs!"
-msgstr "Не може да съзадавате взаимно вложени спецификации!"
+msgid "You can not create recursive BOMs."
+msgstr ""
 
 msgctxt "error:production.bom.output:"
 msgid "product_bom_uniq"
 msgstr ""
 
 msgctxt "error:production:"
-msgid "It misses some cost on the outputs!"
-msgstr "Липсва цена от изходящите!"
+msgid "Production \"%s\" misses costs on some of its outputs."
+msgstr ""
 
 msgctxt "field:product.product,boms:"
 msgid "BOMs"
@@ -424,34 +426,14 @@ msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
 msgstr "Спецификации"
 
-msgctxt "model:ir.action,name:act_production_assigned"
-msgid "Assigned Productions"
-msgstr "Назначени производства"
-
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
 msgstr "Настройки на Производство"
 
-msgctxt "model:ir.action,name:act_production_draft"
-msgid "Draft Productions"
-msgstr "Проект на производство"
-
 msgctxt "model:ir.action,name:act_production_list"
 msgid "Productions"
 msgstr "Производства"
 
-msgctxt "model:ir.action,name:act_production_request"
-msgid "Request Productions"
-msgstr "Поръчани производства"
-
-msgctxt "model:ir.action,name:act_production_running"
-msgid "Running Productions"
-msgstr "Изпълнявано производство"
-
-msgctxt "model:ir.action,name:act_production_waiting"
-msgid "Waiting Productions"
-msgstr "Очакващи производство"
-
 msgctxt "model:ir.action,name:wizard_assign"
 msgid "Assign Production"
 msgstr "Назначаване на производство"
@@ -460,6 +442,41 @@ msgctxt "model:ir.action,name:wizard_bom_tree_open"
 msgid "BOM Tree"
 msgstr "Дърво от Спецификация"
 
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_all"
+msgid "All"
+msgstr ""
+
+#, fuzzy
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_assigned"
+msgid "Assigned"
+msgstr "Назначен"
+
+#, fuzzy
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_draft"
+msgid "Draft"
+msgstr "Проект"
+
+#, fuzzy
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_requests"
+msgid "Requests"
+msgstr "Заявки"
+
+#, fuzzy
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_running"
+msgid "Running"
+msgstr "В изпълнение"
+
+#, fuzzy
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_waiting"
+msgid "Waiting"
+msgstr "Очакване"
+
 msgctxt "model:ir.sequence,name:sequence_production"
 msgid "Production"
 msgstr "Производство"
@@ -480,34 +497,14 @@ msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr "Управление на производство"
 
-msgctxt "model:ir.ui.menu,name:menu_production_assigned"
-msgid "Assigned Productions"
-msgstr "Назначени производства"
-
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
 msgstr "Настройки Производство"
 
-msgctxt "model:ir.ui.menu,name:menu_production_draft"
-msgid "Draft Productions"
-msgstr "Производство в проект"
-
 msgctxt "model:ir.ui.menu,name:menu_production_list"
 msgid "Productions"
 msgstr "Производства"
 
-msgctxt "model:ir.ui.menu,name:menu_production_request"
-msgid "Request Productions"
-msgstr "Поръчани производства"
-
-msgctxt "model:ir.ui.menu,name:menu_production_running"
-msgid "Running Productions"
-msgstr "Изпълнявани производства"
-
-msgctxt "model:ir.ui.menu,name:menu_production_waiting"
-msgid "Waiting Productions"
-msgstr "Очакващи производства"
-
 msgctxt "model:product.product-production.bom,name:"
 msgid "Product - BOM"
 msgstr "Продукт - Спецификация"
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
index d41ca5e..2497801 100644
--- a/locale/ca_ES.po
+++ b/locale/ca_ES.po
@@ -3,807 +3,695 @@ msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:product.product:"
-msgid "You can not create recursive BOMs!"
+msgid ""
+"You are trying to create a recursive BOM with product \"%s\" which is not "
+"allowed."
 msgstr ""
+"Esteu intentant crear una llista de material recursiva amb el producte "
+"\"%s\" que no està permès."
 
 msgctxt "error:production.bom.input:"
-msgid "Product must be unique per BOM!"
-msgstr ""
+msgid "Product must be unique per BOM."
+msgstr "El producte ha de ser únic per LdM."
 
 msgctxt "error:production.bom.input:"
-msgid "You can not create recursive BOMs!"
-msgstr ""
+msgid "You can not create recursive BOMs."
+msgstr "No podeu crear llistes de materials recursives."
 
 msgctxt "error:production.bom.input:"
 msgid "product_bom_uniq"
-msgstr ""
+msgstr "El producte ha de ser únic a la LdM."
 
 msgctxt "error:production.bom.output:"
-msgid "Product must be unique per BOM!"
-msgstr ""
+msgid "Product must be unique per BOM."
+msgstr "El producte ha de ser únic per LdM."
 
 msgctxt "error:production.bom.output:"
-msgid "You can not create recursive BOMs!"
-msgstr ""
+msgid "You can not create recursive BOMs."
+msgstr "No podeu crear llistes de materials recursives."
 
 msgctxt "error:production.bom.output:"
 msgid "product_bom_uniq"
-msgstr ""
+msgstr "El producte ha de ser únic a la LdM."
 
 msgctxt "error:production:"
-msgid "It misses some cost on the outputs!"
-msgstr ""
+msgid "Production \"%s\" misses costs on some of its outputs."
+msgstr "La producció \"%s\" perd costos a alguna de les seves sortides."
 
 msgctxt "field:product.product,boms:"
 msgid "BOMs"
-msgstr ""
+msgstr "Llistes de materials"
 
 msgctxt "field:product.product-production.bom,bom:"
 msgid "BOM"
-msgstr ""
+msgstr "Llista de materials"
 
-#, fuzzy
 msgctxt "field:product.product-production.bom,create_date:"
 msgid "Create Date"
 msgstr "Data creació"
 
-#, fuzzy
 msgctxt "field:product.product-production.bom,create_uid:"
 msgid "Create User"
 msgstr "Usuari creació"
 
-#, fuzzy
 msgctxt "field:product.product-production.bom,id:"
 msgid "ID"
 msgstr "ID"
 
-#, fuzzy
 msgctxt "field:product.product-production.bom,product:"
 msgid "Product"
-msgstr "Productes"
+msgstr "Producte"
 
-#, fuzzy
 msgctxt "field:product.product-production.bom,rec_name:"
 msgid "Name"
 msgstr "Nom"
 
-#, fuzzy
 msgctxt "field:product.product-production.bom,sequence:"
 msgid "Sequence"
 msgstr "Seqüència"
 
-#, fuzzy
 msgctxt "field:product.product-production.bom,write_date:"
 msgid "Write Date"
 msgstr "Data modificació"
 
-#, fuzzy
 msgctxt "field:product.product-production.bom,write_uid:"
 msgid "Write User"
 msgstr "Usuari modificació"
 
 msgctxt "field:production,bom:"
 msgid "BOM"
-msgstr ""
+msgstr "Llista de materials"
 
-#, fuzzy
 msgctxt "field:production,code:"
 msgid "Code"
 msgstr "Codi"
 
-#, fuzzy
 msgctxt "field:production,company:"
 msgid "Company"
 msgstr "Empresa"
 
-#, fuzzy
 msgctxt "field:production,cost:"
 msgid "Cost"
 msgstr "Cost"
 
-#, fuzzy
 msgctxt "field:production,create_date:"
 msgid "Create Date"
 msgstr "Data creació"
 
-#, fuzzy
 msgctxt "field:production,create_uid:"
 msgid "Create User"
 msgstr "Usuari creació"
 
-#, fuzzy
 msgctxt "field:production,effective_date:"
 msgid "Effective Date"
 msgstr "Data efectiva"
 
-#, fuzzy
 msgctxt "field:production,id:"
 msgid "ID"
 msgstr "ID"
 
 msgctxt "field:production,inputs:"
 msgid "Inputs"
-msgstr ""
+msgstr "Entrades"
 
-#, fuzzy
 msgctxt "field:production,location:"
 msgid "Location"
 msgstr "Ubicació"
 
 msgctxt "field:production,outputs:"
 msgid "Outputs"
-msgstr ""
+msgstr "Sortides"
 
-#, fuzzy
 msgctxt "field:production,planned_date:"
 msgid "Planned Date"
 msgstr "Data estimada"
 
-#, fuzzy
 msgctxt "field:production,product:"
 msgid "Product"
-msgstr "Productes"
+msgstr "Producte"
 
-#, fuzzy
 msgctxt "field:production,quantity:"
 msgid "Quantity"
 msgstr "Quantitat"
 
-#, fuzzy
 msgctxt "field:production,rec_name:"
 msgid "Name"
 msgstr "Nom"
 
-#, fuzzy
 msgctxt "field:production,reference:"
 msgid "Reference"
 msgstr "Referència"
 
-#, fuzzy
 msgctxt "field:production,state:"
 msgid "State"
 msgstr "Estat"
 
-#, fuzzy
 msgctxt "field:production,unit_digits:"
 msgid "Unit Digits"
-msgstr "Decimals unitaris"
+msgstr "Decimals de la unitat"
 
-#, fuzzy
 msgctxt "field:production,uom:"
 msgid "Uom"
 msgstr "UdM"
 
 msgctxt "field:production,uom_category:"
 msgid "Uom Category"
-msgstr ""
+msgstr "Categoria d'UdM"
 
-#, fuzzy
 msgctxt "field:production,warehouse:"
 msgid "Warehouse"
 msgstr "Magatzem"
 
-#, fuzzy
 msgctxt "field:production,write_date:"
 msgid "Write Date"
 msgstr "Data modificació"
 
-#, fuzzy
 msgctxt "field:production,write_uid:"
 msgid "Write User"
 msgstr "Usuari modificació"
 
-#, fuzzy
 msgctxt "field:production.assign.failed,id:"
 msgid "ID"
 msgstr "ID"
 
-#, fuzzy
 msgctxt "field:production.assign.failed,moves:"
 msgid "Moves"
 msgstr "Moviments"
 
-#, fuzzy
 msgctxt "field:production.bom,active:"
 msgid "Active"
-msgstr "Activa"
+msgstr "Actiu"
 
-#, fuzzy
 msgctxt "field:production.bom,create_date:"
 msgid "Create Date"
 msgstr "Data creació"
 
-#, fuzzy
 msgctxt "field:production.bom,create_uid:"
 msgid "Create User"
 msgstr "Usuari creació"
 
-#, fuzzy
 msgctxt "field:production.bom,id:"
 msgid "ID"
 msgstr "ID"
 
 msgctxt "field:production.bom,inputs:"
 msgid "Inputs"
-msgstr ""
+msgstr "Entrades"
 
-#, fuzzy
 msgctxt "field:production.bom,name:"
 msgid "Name"
 msgstr "Nom"
 
 msgctxt "field:production.bom,output_products:"
 msgid "Output Products"
-msgstr ""
+msgstr "Productes de sortida"
 
 msgctxt "field:production.bom,outputs:"
 msgid "Outputs"
-msgstr ""
+msgstr "Sortides"
 
-#, fuzzy
 msgctxt "field:production.bom,rec_name:"
 msgid "Name"
 msgstr "Nom"
 
-#, fuzzy
 msgctxt "field:production.bom,write_date:"
 msgid "Write Date"
 msgstr "Data modificació"
 
-#, fuzzy
 msgctxt "field:production.bom,write_uid:"
 msgid "Write User"
 msgstr "Usuari modificació"
 
 msgctxt "field:production.bom.input,bom:"
 msgid "BOM"
-msgstr ""
+msgstr "Llistes de materials"
 
-#, fuzzy
 msgctxt "field:production.bom.input,create_date:"
 msgid "Create Date"
 msgstr "Data creació"
 
-#, fuzzy
 msgctxt "field:production.bom.input,create_uid:"
 msgid "Create User"
 msgstr "Usuari creació"
 
-#, fuzzy
 msgctxt "field:production.bom.input,id:"
 msgid "ID"
 msgstr "ID"
 
-#, fuzzy
 msgctxt "field:production.bom.input,product:"
 msgid "Product"
-msgstr "Productes"
+msgstr "Producte"
 
-#, fuzzy
 msgctxt "field:production.bom.input,quantity:"
 msgid "Quantity"
 msgstr "Quantitat"
 
-#, fuzzy
 msgctxt "field:production.bom.input,rec_name:"
 msgid "Name"
 msgstr "Nom"
 
-#, fuzzy
 msgctxt "field:production.bom.input,unit_digits:"
 msgid "Unit Digits"
-msgstr "Decimals unitaris"
+msgstr "Decimals de la unitat"
 
-#, fuzzy
 msgctxt "field:production.bom.input,uom:"
 msgid "Uom"
 msgstr "UdM"
 
 msgctxt "field:production.bom.input,uom_category:"
 msgid "Uom Category"
-msgstr ""
+msgstr "Categoria d'UdM"
 
-#, fuzzy
 msgctxt "field:production.bom.input,write_date:"
 msgid "Write Date"
 msgstr "Data modificació"
 
-#, fuzzy
 msgctxt "field:production.bom.input,write_uid:"
 msgid "Write User"
 msgstr "Usuari modificació"
 
 msgctxt "field:production.bom.output,bom:"
 msgid "BOM"
-msgstr ""
+msgstr "Llista de materials"
 
-#, fuzzy
 msgctxt "field:production.bom.output,create_date:"
 msgid "Create Date"
 msgstr "Data creació"
 
-#, fuzzy
 msgctxt "field:production.bom.output,create_uid:"
 msgid "Create User"
 msgstr "Usuari creació"
 
-#, fuzzy
 msgctxt "field:production.bom.output,id:"
 msgid "ID"
 msgstr "ID"
 
-#, fuzzy
 msgctxt "field:production.bom.output,product:"
 msgid "Product"
-msgstr "Productes"
+msgstr "Producte"
 
-#, fuzzy
 msgctxt "field:production.bom.output,quantity:"
 msgid "Quantity"
 msgstr "Quantitat"
 
-#, fuzzy
 msgctxt "field:production.bom.output,rec_name:"
 msgid "Name"
 msgstr "Nom"
 
-#, fuzzy
 msgctxt "field:production.bom.output,unit_digits:"
 msgid "Unit Digits"
-msgstr "Decimals unitaris"
+msgstr "Decimals de la unitat"
 
-#, fuzzy
 msgctxt "field:production.bom.output,uom:"
 msgid "Uom"
 msgstr "UdM"
 
 msgctxt "field:production.bom.output,uom_category:"
 msgid "Uom Category"
-msgstr ""
+msgstr "Categoria d'UdM"
 
-#, fuzzy
 msgctxt "field:production.bom.output,write_date:"
 msgid "Write Date"
 msgstr "Data modificació"
 
-#, fuzzy
 msgctxt "field:production.bom.output,write_uid:"
 msgid "Write User"
 msgstr "Usuari modificació"
 
-#, fuzzy
 msgctxt "field:production.bom.tree,childs:"
 msgid "Childs"
 msgstr "Fills"
 
-#, fuzzy
 msgctxt "field:production.bom.tree,id:"
 msgid "ID"
 msgstr "ID"
 
-#, fuzzy
 msgctxt "field:production.bom.tree,product:"
 msgid "Product"
-msgstr "Productes"
+msgstr "Producte"
 
-#, fuzzy
 msgctxt "field:production.bom.tree,quantity:"
 msgid "Quantity"
 msgstr "Quantitat"
 
-#, fuzzy
 msgctxt "field:production.bom.tree,unit_digits:"
 msgid "Unit Digits"
-msgstr "Decimals unitaris"
+msgstr "Decimals de la unitat"
 
-#, fuzzy
 msgctxt "field:production.bom.tree,uom:"
 msgid "Uom"
 msgstr "UdM"
 
 msgctxt "field:production.bom.tree.open.start,bom:"
 msgid "BOM"
-msgstr ""
+msgstr "Llista de materials"
 
-#, fuzzy
 msgctxt "field:production.bom.tree.open.start,category:"
 msgid "Category"
 msgstr "Categoria"
 
-#, fuzzy
 msgctxt "field:production.bom.tree.open.start,id:"
 msgid "ID"
 msgstr "ID"
 
-#, fuzzy
 msgctxt "field:production.bom.tree.open.start,product:"
 msgid "Product"
-msgstr "Productes"
+msgstr "Producte"
 
-#, fuzzy
 msgctxt "field:production.bom.tree.open.start,quantity:"
 msgid "Quantity"
 msgstr "Quantitat"
 
-#, fuzzy
 msgctxt "field:production.bom.tree.open.start,unit_digits:"
 msgid "Unit Digits"
-msgstr "Decimals unitaris"
+msgstr "Decimals de la unitat"
 
-#, fuzzy
 msgctxt "field:production.bom.tree.open.start,uom:"
 msgid "Unit"
 msgstr "Unitat"
 
 msgctxt "field:production.bom.tree.open.tree,bom_tree:"
 msgid "BOM Tree"
-msgstr ""
+msgstr "Arbre de la llista de materials"
 
-#, fuzzy
 msgctxt "field:production.bom.tree.open.tree,id:"
 msgid "ID"
 msgstr "ID"
 
-#, fuzzy
 msgctxt "field:production.configuration,create_date:"
 msgid "Create Date"
 msgstr "Data creació"
 
-#, fuzzy
 msgctxt "field:production.configuration,create_uid:"
 msgid "Create User"
 msgstr "Usuari creació"
 
-#, fuzzy
 msgctxt "field:production.configuration,id:"
 msgid "ID"
 msgstr "ID"
 
 msgctxt "field:production.configuration,production_sequence:"
 msgid "Production Sequence"
-msgstr ""
+msgstr "Seqüència de producció"
 
-#, fuzzy
 msgctxt "field:production.configuration,rec_name:"
 msgid "Name"
 msgstr "Nom"
 
-#, fuzzy
 msgctxt "field:production.configuration,write_date:"
 msgid "Write Date"
 msgstr "Data modificació"
 
-#, fuzzy
 msgctxt "field:production.configuration,write_uid:"
 msgid "Write User"
 msgstr "Usuari modificació"
 
-#, fuzzy
 msgctxt "field:stock.location,production_location:"
 msgid "Production"
 msgstr "Producció"
 
 msgctxt "field:stock.move,production_input:"
 msgid "Production Input"
-msgstr ""
+msgstr "Entrada de la producció"
 
 msgctxt "field:stock.move,production_output:"
 msgid "Production Output"
-msgstr ""
+msgstr "Sortida de la producció"
 
 msgctxt "model:ir.action,name:act_bom_form"
 msgid "BOM"
-msgstr ""
+msgstr "Llista de materials"
 
 msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
-msgstr ""
-
-msgctxt "model:ir.action,name:act_production_assigned"
-msgid "Assigned Productions"
-msgstr ""
+msgstr "Llistes de materials"
 
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
-msgstr ""
-
-msgctxt "model:ir.action,name:act_production_draft"
-msgid "Draft Productions"
-msgstr ""
+msgstr "Configuració de la producció"
 
 msgctxt "model:ir.action,name:act_production_list"
 msgid "Productions"
-msgstr ""
-
-msgctxt "model:ir.action,name:act_production_request"
-msgid "Request Productions"
-msgstr ""
-
-msgctxt "model:ir.action,name:act_production_running"
-msgid "Running Productions"
-msgstr ""
-
-msgctxt "model:ir.action,name:act_production_waiting"
-msgid "Waiting Productions"
-msgstr ""
+msgstr "Produccions"
 
 msgctxt "model:ir.action,name:wizard_assign"
 msgid "Assign Production"
-msgstr ""
+msgstr "Reserva la producció"
 
 msgctxt "model:ir.action,name:wizard_bom_tree_open"
 msgid "BOM Tree"
-msgstr ""
+msgstr "Arbre de la llista de materials"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_all"
+msgid "All"
+msgstr "Tot"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_assigned"
+msgid "Assigned"
+msgstr "Assignat"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_draft"
+msgid "Draft"
+msgstr "Esborrany"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_requests"
+msgid "Requests"
+msgstr "Sol·licituds"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_running"
+msgid "Running"
+msgstr "En curs"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_waiting"
+msgid "Waiting"
+msgstr "Esperant"
 
-#, fuzzy
 msgctxt "model:ir.sequence,name:sequence_production"
 msgid "Production"
 msgstr "Producció"
 
-#, fuzzy
 msgctxt "model:ir.sequence.type,name:sequence_type_production"
 msgid "Production"
 msgstr "Producció"
 
 msgctxt "model:ir.ui.menu,name:menu_bom_list"
 msgid "BOMs"
-msgstr ""
+msgstr "Llistes de materials"
 
-#, fuzzy
 msgctxt "model:ir.ui.menu,name:menu_configuration"
 msgid "Configuration"
 msgstr "Configuració"
 
-#, fuzzy
 msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr "Producció"
 
-msgctxt "model:ir.ui.menu,name:menu_production_assigned"
-msgid "Assigned Productions"
-msgstr ""
-
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
-msgstr ""
-
-msgctxt "model:ir.ui.menu,name:menu_production_draft"
-msgid "Draft Productions"
-msgstr ""
+msgstr "Producció"
 
 msgctxt "model:ir.ui.menu,name:menu_production_list"
 msgid "Productions"
-msgstr ""
-
-msgctxt "model:ir.ui.menu,name:menu_production_request"
-msgid "Request Productions"
-msgstr ""
-
-msgctxt "model:ir.ui.menu,name:menu_production_running"
-msgid "Running Productions"
-msgstr ""
-
-msgctxt "model:ir.ui.menu,name:menu_production_waiting"
-msgid "Waiting Productions"
-msgstr ""
+msgstr "Produccions"
 
 msgctxt "model:product.product-production.bom,name:"
 msgid "Product - BOM"
-msgstr ""
+msgstr "Producte - Llista de materials"
 
-#, fuzzy
 msgctxt "model:production,name:"
 msgid "Production"
 msgstr "Producció"
 
 msgctxt "model:production.assign.failed,name:"
 msgid "Assign Production"
-msgstr ""
+msgstr "Reserva la producció"
 
 msgctxt "model:production.bom,name:"
 msgid "Bill of Material"
-msgstr ""
+msgstr "Llista de materials"
 
 msgctxt "model:production.bom.input,name:"
 msgid "Bill of Material Input"
-msgstr ""
+msgstr "Entrades de la llista de materials"
 
 msgctxt "model:production.bom.output,name:"
 msgid "Bill of Material Output"
-msgstr ""
+msgstr "Sortida de la llista de materials"
 
 msgctxt "model:production.bom.tree,name:"
 msgid "BOM Tree"
-msgstr ""
+msgstr "Arbre de l'escandall"
 
 msgctxt "model:production.bom.tree.open.start,name:"
 msgid "Open BOM Tree"
-msgstr ""
+msgstr "Obre l'arbre de llistes de materials"
 
 msgctxt "model:production.bom.tree.open.tree,name:"
 msgid "Open BOM Tree"
-msgstr ""
+msgstr "Obre l'arbre de llistes de materials"
 
 msgctxt "model:production.configuration,name:"
 msgid "Production Configuration"
-msgstr ""
+msgstr "Configuració de la producció"
 
-#, fuzzy
 msgctxt "model:res.group,name:group_production"
 msgid "Production"
 msgstr "Producció"
 
 msgctxt "model:res.group,name:group_production_admin"
 msgid "Production Administration"
-msgstr ""
+msgstr "Administració de producció"
 
-#, fuzzy
 msgctxt "model:stock.location,name:location_production"
 msgid "Production"
 msgstr "Producció"
 
-#, fuzzy
 msgctxt "selection:production,state:"
 msgid "Assigned"
 msgstr "Assignat"
 
-#, fuzzy
 msgctxt "selection:production,state:"
 msgid "Canceled"
-msgstr "Cancel·lat"
+msgstr "Cancel·la"
 
-#, fuzzy
 msgctxt "selection:production,state:"
 msgid "Done"
 msgstr "Realitzat"
 
-#, fuzzy
 msgctxt "selection:production,state:"
 msgid "Draft"
 msgstr "Esborrany"
 
-#, fuzzy
 msgctxt "selection:production,state:"
 msgid "Request"
 msgstr "Sol·licitud"
 
 msgctxt "selection:production,state:"
 msgid "Running"
-msgstr ""
+msgstr "En curs"
 
-#, fuzzy
 msgctxt "selection:production,state:"
 msgid "Waiting"
 msgstr "Esperant"
 
 msgctxt "view:product.product-production.bom:"
 msgid "Product - BOM"
-msgstr ""
+msgstr "Producte - Llista de materials"
 
 msgctxt "view:product.product-production.bom:"
 msgid "Product - BOMs"
-msgstr ""
+msgstr "Producte - Llistes de materials"
 
-#, fuzzy
 msgctxt "view:production.assign.failed:"
 msgid "Unable to Assign"
-msgstr "No es poden reservar aquests productes:"
+msgstr "No es pot assignar"
 
-#, fuzzy
 msgctxt "view:production.assign.failed:"
 msgid "Unable to assign those products:"
 msgstr "No es poden reservar aquests productes:"
 
 msgctxt "view:production.bom.input:"
 msgid "BOM Inputs"
-msgstr ""
+msgstr "Entrades de la llista de materials"
 
 msgctxt "view:production.bom.output:"
 msgid "BOM Outputs"
-msgstr ""
+msgstr "Sortides de la llista de materials"
 
 msgctxt "view:production.bom.tree.open.start:"
 msgid "BOM Tree"
-msgstr ""
+msgstr "Arbre de la llista de materials"
 
 msgctxt "view:production.bom.tree.open.tree:"
 msgid "BOM Tree"
-msgstr ""
+msgstr "Arbre de la llista de materials"
 
 msgctxt "view:production.bom.tree:"
 msgid "BOM Tree"
-msgstr ""
+msgstr "Arbre de la llista de materials"
 
 msgctxt "view:production.bom:"
 msgid "BOM"
-msgstr ""
+msgstr "Llistes de materials"
 
 msgctxt "view:production.bom:"
 msgid "BOMs"
-msgstr ""
+msgstr "Llistes de materials"
 
-#, fuzzy
 msgctxt "view:production.bom:"
 msgid "Lines"
 msgstr "Línies"
 
 msgctxt "view:production.configuration:"
 msgid "Production Configuration"
-msgstr ""
+msgstr "Configuració de la producció"
 
-#, fuzzy
 msgctxt "view:production:"
 msgid "Assign"
 msgstr "Assigna"
 
-#, fuzzy
 msgctxt "view:production:"
 msgid "Cancel"
 msgstr "Cancel·la"
 
-#, fuzzy
 msgctxt "view:production:"
 msgid "Done"
 msgstr "Realitzat"
 
-#, fuzzy
 msgctxt "view:production:"
 msgid "Draft"
 msgstr "Esborrany"
 
-#, fuzzy
 msgctxt "view:production:"
 msgid "Lines"
 msgstr "Línies"
 
-#, fuzzy
 msgctxt "view:production:"
 msgid "Other Info"
 msgstr "Informació addicional"
 
-#, fuzzy
 msgctxt "view:production:"
 msgid "Production"
 msgstr "Producció"
 
 msgctxt "view:production:"
 msgid "Productions"
-msgstr ""
+msgstr "Produccions"
 
 msgctxt "view:production:"
 msgid "Run"
-msgstr ""
+msgstr "Executa"
 
-#, fuzzy
 msgctxt "view:production:"
 msgid "Wait"
 msgstr "En espera"
 
-#, fuzzy
 msgctxt "wizard_button:production.assign,failed,end:"
 msgid "Ok"
-msgstr "Dacord"
+msgstr "D'acord"
 
-#, fuzzy
 msgctxt "wizard_button:production.assign,failed,force:"
 msgid "Force Assign"
 msgstr "Forçar reserva"
 
-#, fuzzy
 msgctxt "wizard_button:production.bom.tree.open,start,end:"
 msgid "Cancel"
 msgstr "Cancel·la"
 
-#, fuzzy
 msgctxt "wizard_button:production.bom.tree.open,start,tree:"
 msgid "Ok"
-msgstr "Dacord"
+msgstr "D'acord"
 
-#, fuzzy
 msgctxt "wizard_button:production.bom.tree.open,tree,end:"
 msgid "Close"
-msgstr "Tancat"
+msgstr "Tanca"
 
 msgctxt "wizard_button:production.bom.tree.open,tree,start:"
 msgid "Change"
-msgstr ""
+msgstr "Canvia"
diff --git a/locale/cs_CZ.po b/locale/cs_CZ.po
index bcbb350..e1a0548 100644
--- a/locale/cs_CZ.po
+++ b/locale/cs_CZ.po
@@ -3,15 +3,17 @@ msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:product.product:"
-msgid "You can not create recursive BOMs!"
+msgid ""
+"You are trying to create a recursive BOM with product \"%s\" which is not "
+"allowed."
 msgstr ""
 
 msgctxt "error:production.bom.input:"
-msgid "Product must be unique per BOM!"
+msgid "Product must be unique per BOM."
 msgstr ""
 
 msgctxt "error:production.bom.input:"
-msgid "You can not create recursive BOMs!"
+msgid "You can not create recursive BOMs."
 msgstr ""
 
 msgctxt "error:production.bom.input:"
@@ -19,11 +21,11 @@ msgid "product_bom_uniq"
 msgstr ""
 
 msgctxt "error:production.bom.output:"
-msgid "Product must be unique per BOM!"
+msgid "Product must be unique per BOM."
 msgstr ""
 
 msgctxt "error:production.bom.output:"
-msgid "You can not create recursive BOMs!"
+msgid "You can not create recursive BOMs."
 msgstr ""
 
 msgctxt "error:production.bom.output:"
@@ -31,7 +33,7 @@ msgid "product_bom_uniq"
 msgstr ""
 
 msgctxt "error:production:"
-msgid "It misses some cost on the outputs!"
+msgid "Production \"%s\" misses costs on some of its outputs."
 msgstr ""
 
 msgctxt "field:product.product,boms:"
@@ -422,40 +424,50 @@ msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_production_assigned"
-msgid "Assigned Productions"
-msgstr ""
-
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_production_draft"
-msgid "Draft Productions"
-msgstr ""
-
 msgctxt "model:ir.action,name:act_production_list"
 msgid "Productions"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_production_request"
-msgid "Request Productions"
+msgctxt "model:ir.action,name:wizard_assign"
+msgid "Assign Production"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_production_running"
-msgid "Running Productions"
+msgctxt "model:ir.action,name:wizard_bom_tree_open"
+msgid "BOM Tree"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_production_waiting"
-msgid "Waiting Productions"
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_all"
+msgid "All"
 msgstr ""
 
-msgctxt "model:ir.action,name:wizard_assign"
-msgid "Assign Production"
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_assigned"
+msgid "Assigned"
 msgstr ""
 
-msgctxt "model:ir.action,name:wizard_bom_tree_open"
-msgid "BOM Tree"
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_draft"
+msgid "Draft"
+msgstr ""
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_requests"
+msgid "Requests"
+msgstr ""
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_running"
+msgid "Running"
+msgstr ""
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_waiting"
+msgid "Waiting"
 msgstr ""
 
 msgctxt "model:ir.sequence,name:sequence_production"
@@ -478,34 +490,14 @@ msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_production_assigned"
-msgid "Assigned Productions"
-msgstr ""
-
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_production_draft"
-msgid "Draft Productions"
-msgstr ""
-
 msgctxt "model:ir.ui.menu,name:menu_production_list"
 msgid "Productions"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_production_request"
-msgid "Request Productions"
-msgstr ""
-
-msgctxt "model:ir.ui.menu,name:menu_production_running"
-msgid "Running Productions"
-msgstr ""
-
-msgctxt "model:ir.ui.menu,name:menu_production_waiting"
-msgid "Waiting Productions"
-msgstr ""
-
 msgctxt "model:product.product-production.bom,name:"
 msgid "Product - BOM"
 msgstr ""
diff --git a/locale/de_DE.po b/locale/de_DE.po
index a772ef0..8e91ae6 100644
--- a/locale/de_DE.po
+++ b/locale/de_DE.po
@@ -3,36 +3,39 @@ msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:product.product:"
-msgid "You can not create recursive BOMs!"
-msgstr "Stücklisten können nicht rekursiv angelegt werden!"
+msgid ""
+"You are trying to create a recursive BOM with product \"%s\" which is not "
+"allowed."
+msgstr ""
+"Erstellung von rekursiven Stücklisten mit Artikel \"%s\" ist nicht erlaubt."
 
 msgctxt "error:production.bom.input:"
-msgid "Product must be unique per BOM!"
-msgstr "Ein Artikel kann nur einmalig in einer Stückliste verwendet werden!"
+msgid "Product must be unique per BOM."
+msgstr "Ein Artikel kann nur einmal pro Stückliste eingetragen werden."
 
 msgctxt "error:production.bom.input:"
-msgid "You can not create recursive BOMs!"
-msgstr "Stücklisten können nicht rekursiv angelegt werden!"
+msgid "You can not create recursive BOMs."
+msgstr "Erstellung rekursiver Stücklisten nicht möglich."
 
 msgctxt "error:production.bom.input:"
 msgid "product_bom_uniq"
 msgstr ""
 
 msgctxt "error:production.bom.output:"
-msgid "Product must be unique per BOM!"
-msgstr "Ein Artikel kann nur einmalig in einer Stückliste verwendet werden!"
+msgid "Product must be unique per BOM."
+msgstr "Ein Artikel kann nur einmal pro Stückliste eingetragen werden."
 
 msgctxt "error:production.bom.output:"
-msgid "You can not create recursive BOMs!"
-msgstr "Stücklisten können nicht rekursiv angelegt werden!"
+msgid "You can not create recursive BOMs."
+msgstr "Erstellung rekursiver Stücklisten nicht möglich."
 
 msgctxt "error:production.bom.output:"
 msgid "product_bom_uniq"
 msgstr ""
 
 msgctxt "error:production:"
-msgid "It misses some cost on the outputs!"
-msgstr "Es fehlt ein Kosteneintrag auf den Ausgängen!"
+msgid "Production \"%s\" misses costs on some of its outputs."
+msgstr "Fehlende Angaben für Kosten für einige Ausgänge von Produktion \"%s\"."
 
 msgctxt "field:product.product,boms:"
 msgid "BOMs"
@@ -422,34 +425,14 @@ msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
 msgstr "Stücklisten"
 
-msgctxt "model:ir.action,name:act_production_assigned"
-msgid "Assigned Productions"
-msgstr "Zugewiesene Produktionen"
-
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
-msgstr "Produktion Einstellungen"
-
-msgctxt "model:ir.action,name:act_production_draft"
-msgid "Draft Productions"
-msgstr "Entwürfe Produktionen"
+msgstr "Produktion"
 
 msgctxt "model:ir.action,name:act_production_list"
 msgid "Productions"
 msgstr "Produktionen"
 
-msgctxt "model:ir.action,name:act_production_request"
-msgid "Request Productions"
-msgstr "Angeforderte Produktionen"
-
-msgctxt "model:ir.action,name:act_production_running"
-msgid "Running Productions"
-msgstr "Laufende Produktionen"
-
-msgctxt "model:ir.action,name:act_production_waiting"
-msgid "Waiting Productions"
-msgstr "Wartende Produktionen"
-
 msgctxt "model:ir.action,name:wizard_assign"
 msgid "Assign Production"
 msgstr "Produktion zuweisen"
@@ -458,6 +441,36 @@ msgctxt "model:ir.action,name:wizard_bom_tree_open"
 msgid "BOM Tree"
 msgstr "Stückliste Baum"
 
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_all"
+msgid "All"
+msgstr "Alle"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_assigned"
+msgid "Assigned"
+msgstr "Zugewiesen"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_draft"
+msgid "Draft"
+msgstr "Entwurf"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_requests"
+msgid "Requests"
+msgstr "Anfragen"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_running"
+msgid "Running"
+msgstr "In Ausführung"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_waiting"
+msgid "Waiting"
+msgstr "Wartend"
+
 msgctxt "model:ir.sequence,name:sequence_production"
 msgid "Production"
 msgstr "Produktion"
@@ -478,34 +491,14 @@ msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr "Produktion"
 
-msgctxt "model:ir.ui.menu,name:menu_production_assigned"
-msgid "Assigned Productions"
-msgstr "Zugewiesene Produktionen"
-
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
-msgstr "Produktion Einstellungen"
-
-msgctxt "model:ir.ui.menu,name:menu_production_draft"
-msgid "Draft Productions"
-msgstr "Entwürfe Produktionen"
+msgstr "Produktion"
 
 msgctxt "model:ir.ui.menu,name:menu_production_list"
 msgid "Productions"
 msgstr "Produktionen"
 
-msgctxt "model:ir.ui.menu,name:menu_production_request"
-msgid "Request Productions"
-msgstr "Angeforderte Produktionen"
-
-msgctxt "model:ir.ui.menu,name:menu_production_running"
-msgid "Running Productions"
-msgstr "Laufende Produktionen"
-
-msgctxt "model:ir.ui.menu,name:menu_production_waiting"
-msgid "Waiting Productions"
-msgstr "Wartende Produktionen"
-
 msgctxt "model:product.product-production.bom,name:"
 msgid "Product - BOM"
 msgstr "Artikel - Stückliste"
@@ -544,7 +537,7 @@ msgstr "Stücklistenbaum öffnen"
 
 msgctxt "model:production.configuration,name:"
 msgid "Production Configuration"
-msgstr "Produktion Einstellungen"
+msgstr "Einstellungen Produktion"
 
 msgctxt "model:res.group,name:group_production"
 msgid "Production"
@@ -636,7 +629,7 @@ msgstr "Zeilen"
 
 msgctxt "view:production.configuration:"
 msgid "Production Configuration"
-msgstr "Produktion Einstellungen"
+msgstr "Einstellungen Produktion"
 
 msgctxt "view:production:"
 msgid "Assign"
diff --git a/locale/es_AR.po b/locale/es_AR.po
index 34625a6..3be8cfd 100644
--- a/locale/es_AR.po
+++ b/locale/es_AR.po
@@ -3,36 +3,40 @@ msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:product.product:"
-msgid "You can not create recursive BOMs!"
-msgstr "¡No puede crear LdMs recursivas!"
+msgid ""
+"You are trying to create a recursive BOM with product \"%s\" which is not "
+"allowed."
+msgstr ""
+"Está intentando crear una lista de materiales recursiva con el producto «%s»"
+" que no está permitido."
 
 msgctxt "error:production.bom.input:"
-msgid "Product must be unique per BOM!"
-msgstr "¡El producto debe ser único en la LdM!"
+msgid "Product must be unique per BOM."
+msgstr "El producto debe ser único por LdM."
 
 msgctxt "error:production.bom.input:"
-msgid "You can not create recursive BOMs!"
-msgstr "¡No puede crear LdMs recursivas!"
+msgid "You can not create recursive BOMs."
+msgstr "No puede crear una lista de materiales recursiva."
 
 msgctxt "error:production.bom.input:"
 msgid "product_bom_uniq"
 msgstr "El producto debe ser único en la LdM."
 
 msgctxt "error:production.bom.output:"
-msgid "Product must be unique per BOM!"
-msgstr "¡El producto debe ser único en la LdM!"
+msgid "Product must be unique per BOM."
+msgstr "El producto debe ser único por LdM."
 
 msgctxt "error:production.bom.output:"
-msgid "You can not create recursive BOMs!"
-msgstr "¡No puede crear LdMs recursivas!"
+msgid "You can not create recursive BOMs."
+msgstr "No puede crear una lista de materiales recursiva."
 
 msgctxt "error:production.bom.output:"
 msgid "product_bom_uniq"
 msgstr "El producto debe ser único en la LdM."
 
 msgctxt "error:production:"
-msgid "It misses some cost on the outputs!"
-msgstr "¡Faltan algunos costos en las salidas!"
+msgid "Production \"%s\" misses costs on some of its outputs."
+msgstr "La producción «%s» pierde costos en alguna de sus salidas."
 
 msgctxt "field:product.product,boms:"
 msgid "BOMs"
@@ -144,7 +148,7 @@ msgstr "Estado"
 
 msgctxt "field:production,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos unitarios"
+msgstr "Dígitos de unidad"
 
 msgctxt "field:production,uom:"
 msgid "Uom"
@@ -200,7 +204,7 @@ msgstr "Nombre"
 
 msgctxt "field:production.bom,output_products:"
 msgid "Output Products"
-msgstr "Salida de Productos"
+msgstr "Salida de productos"
 
 msgctxt "field:production.bom,outputs:"
 msgid "Outputs"
@@ -248,7 +252,7 @@ msgstr "Nombre"
 
 msgctxt "field:production.bom.input,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos unitarios"
+msgstr "Dígitos de unidad"
 
 msgctxt "field:production.bom.input,uom:"
 msgid "Uom"
@@ -296,7 +300,7 @@ msgstr "Nombre"
 
 msgctxt "field:production.bom.output,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos unitarios"
+msgstr "Dígitos de unidad"
 
 msgctxt "field:production.bom.output,uom:"
 msgid "Uom"
@@ -332,7 +336,7 @@ msgstr "Cantidad"
 
 msgctxt "field:production.bom.tree,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos unitarios"
+msgstr "Dígitos de unidad"
 
 msgctxt "field:production.bom.tree,uom:"
 msgid "Uom"
@@ -360,7 +364,7 @@ msgstr "Cantidad"
 
 msgctxt "field:production.bom.tree.open.start,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos unitarios"
+msgstr "Dígitos de unidad"
 
 msgctxt "field:production.bom.tree.open.start,uom:"
 msgid "Unit"
@@ -388,7 +392,7 @@ msgstr "ID"
 
 msgctxt "field:production.configuration,production_sequence:"
 msgid "Production Sequence"
-msgstr "Secuencia de Producción"
+msgstr "Secuencia de producción"
 
 msgctxt "field:production.configuration,rec_name:"
 msgid "Name"
@@ -408,11 +412,11 @@ msgstr "Producción"
 
 msgctxt "field:stock.move,production_input:"
 msgid "Production Input"
-msgstr "Entrada a Producción"
+msgstr "Entrada a producción"
 
 msgctxt "field:stock.move,production_output:"
 msgid "Production Output"
-msgstr "Salida de Producción"
+msgstr "Salida de producción"
 
 msgctxt "model:ir.action,name:act_bom_form"
 msgid "BOM"
@@ -422,42 +426,52 @@ msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
 msgstr "LdMs"
 
-msgctxt "model:ir.action,name:act_production_assigned"
-msgid "Assigned Productions"
-msgstr "Producciones Asignadas"
-
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
-msgstr "Configuración de Producción"
-
-msgctxt "model:ir.action,name:act_production_draft"
-msgid "Draft Productions"
-msgstr "Producciones en Borrador"
+msgstr "Configuración de producción"
 
 msgctxt "model:ir.action,name:act_production_list"
 msgid "Productions"
 msgstr "Producciones"
 
-msgctxt "model:ir.action,name:act_production_request"
-msgid "Request Productions"
-msgstr "Producciones Solicitadas"
-
-msgctxt "model:ir.action,name:act_production_running"
-msgid "Running Productions"
-msgstr "Producciones en Ejecución"
-
-msgctxt "model:ir.action,name:act_production_waiting"
-msgid "Waiting Productions"
-msgstr "Producciones en Espera"
-
 msgctxt "model:ir.action,name:wizard_assign"
 msgid "Assign Production"
-msgstr "Asignar Producción"
+msgstr "Asignar producción"
 
 msgctxt "model:ir.action,name:wizard_bom_tree_open"
 msgid "BOM Tree"
 msgstr "Árbol LdM"
 
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_all"
+msgid "All"
+msgstr "Todo"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_assigned"
+msgid "Assigned"
+msgstr "Asignado"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_draft"
+msgid "Draft"
+msgstr "Borrador"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_requests"
+msgid "Requests"
+msgstr "Solicitudes"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_running"
+msgid "Running"
+msgstr "En ejecución"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_waiting"
+msgid "Waiting"
+msgstr "En espera"
+
 msgctxt "model:ir.sequence,name:sequence_production"
 msgid "Production"
 msgstr "Producción"
@@ -478,34 +492,14 @@ msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr "Producción"
 
-msgctxt "model:ir.ui.menu,name:menu_production_assigned"
-msgid "Assigned Productions"
-msgstr "Producciones Asignadas"
-
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
-msgstr "Configuración de Producción"
-
-msgctxt "model:ir.ui.menu,name:menu_production_draft"
-msgid "Draft Productions"
-msgstr "Producciones en Borrador"
+msgstr "Producción"
 
 msgctxt "model:ir.ui.menu,name:menu_production_list"
 msgid "Productions"
 msgstr "Producciones"
 
-msgctxt "model:ir.ui.menu,name:menu_production_request"
-msgid "Request Productions"
-msgstr "Producciones Solicitadas"
-
-msgctxt "model:ir.ui.menu,name:menu_production_running"
-msgid "Running Productions"
-msgstr "Producciones en Ejecución"
-
-msgctxt "model:ir.ui.menu,name:menu_production_waiting"
-msgid "Waiting Productions"
-msgstr "Producciones en Espera"
-
 msgctxt "model:product.product-production.bom,name:"
 msgid "Product - BOM"
 msgstr "Producto - LdM"
@@ -516,7 +510,7 @@ msgstr "Producción"
 
 msgctxt "model:production.assign.failed,name:"
 msgid "Assign Production"
-msgstr "Asignar Producción"
+msgstr "Asignar producción"
 
 msgctxt "model:production.bom,name:"
 msgid "Bill of Material"
@@ -536,15 +530,15 @@ msgstr "Árbol LdM"
 
 msgctxt "model:production.bom.tree.open.start,name:"
 msgid "Open BOM Tree"
-msgstr "Abrir Árbol de LdM"
+msgstr "Abrir árbol de LdM"
 
 msgctxt "model:production.bom.tree.open.tree,name:"
 msgid "Open BOM Tree"
-msgstr "Abrir Árbol de LdM"
+msgstr "Abrir árbol de LdM"
 
 msgctxt "model:production.configuration,name:"
 msgid "Production Configuration"
-msgstr "Configuración de Producción"
+msgstr "Configuración de producción"
 
 msgctxt "model:res.group,name:group_production"
 msgid "Production"
@@ -552,7 +546,7 @@ msgstr "Producción"
 
 msgctxt "model:res.group,name:group_production_admin"
 msgid "Production Administration"
-msgstr "Administración de Producción"
+msgstr "Administración de producción"
 
 msgctxt "model:stock.location,name:location_production"
 msgid "Production"
@@ -568,7 +562,7 @@ msgstr "Cancelado"
 
 msgctxt "selection:production,state:"
 msgid "Done"
-msgstr "Terminado"
+msgstr "Realizado"
 
 msgctxt "selection:production,state:"
 msgid "Draft"
@@ -608,10 +602,6 @@ msgstr "Entradas LdM"
 
 msgctxt "view:production.bom.output:"
 msgid "BOM Outputs"
-msgstr ""
-
-msgctxt "view:production.bom.output:"
-msgid "Inputs"
 msgstr "Salidas LdM"
 
 msgctxt "view:production.bom.tree.open.start:"
@@ -640,7 +630,7 @@ msgstr "Líneas"
 
 msgctxt "view:production.configuration:"
 msgid "Production Configuration"
-msgstr "Configuración de Producción"
+msgstr "Configuración de producción"
 
 msgctxt "view:production:"
 msgid "Assign"
@@ -652,7 +642,7 @@ msgstr "Cancelar"
 
 msgctxt "view:production:"
 msgid "Done"
-msgstr "Terminado"
+msgstr "Realizado"
 
 msgctxt "view:production:"
 msgid "Draft"
diff --git a/locale/es_CO.po b/locale/es_CO.po
index 26cd09a..cc6b98e 100644
--- a/locale/es_CO.po
+++ b/locale/es_CO.po
@@ -3,36 +3,40 @@ msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:product.product:"
-msgid "You can not create recursive BOMs!"
-msgstr "No puede crear LDMs recursivas."
+msgid ""
+"You are trying to create a recursive BOM with product \"%s\" which is not "
+"allowed."
+msgstr ""
+"Esta intentando crear una LDM recursiva con el producto \"%s\" lo cual no "
+"esta permitido."
 
 msgctxt "error:production.bom.input:"
-msgid "Product must be unique per BOM!"
-msgstr "El producto debe ser único en la LDM."
+msgid "Product must be unique per BOM."
+msgstr "El producto debe ser único en la LDM!"
 
 msgctxt "error:production.bom.input:"
-msgid "You can not create recursive BOMs!"
-msgstr "No puede crear Listas de Materiales recursivas."
+msgid "You can not create recursive BOMs."
+msgstr "No puede crear LDMs recursivas!"
 
 msgctxt "error:production.bom.input:"
 msgid "product_bom_uniq"
 msgstr "El producto debe ser único en la LDM."
 
 msgctxt "error:production.bom.output:"
-msgid "Product must be unique per BOM!"
-msgstr "El producto debe ser único en la LDM."
+msgid "Product must be unique per BOM."
+msgstr "El producto debe ser único en la LDM!"
 
 msgctxt "error:production.bom.output:"
-msgid "You can not create recursive BOMs!"
-msgstr "No puede crear LDMs recursivas."
+msgid "You can not create recursive BOMs."
+msgstr "No puede crear LDMs recursivas!"
 
 msgctxt "error:production.bom.output:"
 msgid "product_bom_uniq"
 msgstr "El producto debe ser único en la LDM."
 
 msgctxt "error:production:"
-msgid "It misses some cost on the outputs!"
-msgstr "Faltan algunos costos en las salidas."
+msgid "Production \"%s\" misses costs on some of its outputs."
+msgstr "A la producción \"%s\" le faltan algunos costos en sus salidas."
 
 msgctxt "field:product.product,boms:"
 msgid "BOMs"
@@ -44,11 +48,11 @@ msgstr "LDM"
 
 msgctxt "field:product.product-production.bom,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Fecha de Creación"
 
 msgctxt "field:product.product-production.bom,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Creado por Usuario"
 
 msgctxt "field:product.product-production.bom,id:"
 msgid "ID"
@@ -68,11 +72,11 @@ msgstr "Secuencia"
 
 msgctxt "field:product.product-production.bom,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Fecha de Modificación"
 
 msgctxt "field:product.product-production.bom,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Modificado por Usuario"
 
 msgctxt "field:production,bom:"
 msgid "BOM"
@@ -92,11 +96,11 @@ msgstr "Costo"
 
 msgctxt "field:production,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Fecha de Creación"
 
 msgctxt "field:production,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Creado por Usuario"
 
 msgctxt "field:production,effective_date:"
 msgid "Effective Date"
@@ -112,7 +116,7 @@ msgstr "Entradas"
 
 msgctxt "field:production,location:"
 msgid "Location"
-msgstr "Locación"
+msgstr "Bodega"
 
 msgctxt "field:production,outputs:"
 msgid "Outputs"
@@ -144,7 +148,7 @@ msgstr "Estado"
 
 msgctxt "field:production,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos de Unidad"
+msgstr "Decimales de Unidad"
 
 msgctxt "field:production,uom:"
 msgid "Uom"
@@ -156,15 +160,15 @@ msgstr "Categoría UdM"
 
 msgctxt "field:production,warehouse:"
 msgid "Warehouse"
-msgstr "Almacén"
+msgstr "Depósito"
 
 msgctxt "field:production,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Fecha de Modificación"
 
 msgctxt "field:production,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Modificado por Usuario"
 
 msgctxt "field:production.assign.failed,id:"
 msgid "ID"
@@ -180,11 +184,11 @@ msgstr "Activo"
 
 msgctxt "field:production.bom,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Fecha de Creación"
 
 msgctxt "field:production.bom,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Creado por Usuario"
 
 msgctxt "field:production.bom,id:"
 msgid "ID"
@@ -212,11 +216,11 @@ msgstr "Nombre"
 
 msgctxt "field:production.bom,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Fecha de Modificación"
 
 msgctxt "field:production.bom,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Modificado por Usuario"
 
 msgctxt "field:production.bom.input,bom:"
 msgid "BOM"
@@ -224,11 +228,11 @@ msgstr "LDM"
 
 msgctxt "field:production.bom.input,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Fecha de Creación"
 
 msgctxt "field:production.bom.input,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Creado por Usuario"
 
 msgctxt "field:production.bom.input,id:"
 msgid "ID"
@@ -248,7 +252,7 @@ msgstr "Nombre"
 
 msgctxt "field:production.bom.input,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos de Unidad"
+msgstr "Decimales de Unidad"
 
 msgctxt "field:production.bom.input,uom:"
 msgid "Uom"
@@ -260,11 +264,11 @@ msgstr "Categoría UdM"
 
 msgctxt "field:production.bom.input,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Fecha de Modificación"
 
 msgctxt "field:production.bom.input,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Modificado por Usuario"
 
 msgctxt "field:production.bom.output,bom:"
 msgid "BOM"
@@ -272,11 +276,11 @@ msgstr "LDM"
 
 msgctxt "field:production.bom.output,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Fecha de Creación"
 
 msgctxt "field:production.bom.output,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Creado por Usuario"
 
 msgctxt "field:production.bom.output,id:"
 msgid "ID"
@@ -296,7 +300,7 @@ msgstr "Nombre"
 
 msgctxt "field:production.bom.output,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos de Unidad"
+msgstr "Decimales de Unidad"
 
 msgctxt "field:production.bom.output,uom:"
 msgid "Uom"
@@ -308,11 +312,11 @@ msgstr "Categoría UdM"
 
 msgctxt "field:production.bom.output,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Fecha de Modificación"
 
 msgctxt "field:production.bom.output,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Modificado por Usuario"
 
 msgctxt "field:production.bom.tree,childs:"
 msgid "Childs"
@@ -332,7 +336,7 @@ msgstr "Cantidad"
 
 msgctxt "field:production.bom.tree,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos de Unidad"
+msgstr "Decimales de Unidad"
 
 msgctxt "field:production.bom.tree,uom:"
 msgid "Uom"
@@ -360,7 +364,7 @@ msgstr "Cantidad"
 
 msgctxt "field:production.bom.tree.open.start,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos de Unidad"
+msgstr "Decimales de Unidad"
 
 msgctxt "field:production.bom.tree.open.start,uom:"
 msgid "Unit"
@@ -376,11 +380,11 @@ msgstr "ID"
 
 msgctxt "field:production.configuration,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Fecha de Creación"
 
 msgctxt "field:production.configuration,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Creado por Usuario"
 
 msgctxt "field:production.configuration,id:"
 msgid "ID"
@@ -396,11 +400,11 @@ msgstr "Nombre"
 
 msgctxt "field:production.configuration,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Fecha de Modificación"
 
 msgctxt "field:production.configuration,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Modificado por Usuario"
 
 msgctxt "field:stock.location,production_location:"
 msgid "Production"
@@ -422,34 +426,14 @@ msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
 msgstr "LDMs"
 
-msgctxt "model:ir.action,name:act_production_assigned"
-msgid "Assigned Productions"
-msgstr "Producciones Asignadas"
-
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
-msgstr "Configuración Producción"
-
-msgctxt "model:ir.action,name:act_production_draft"
-msgid "Draft Productions"
-msgstr "Producciones en Borrador"
+msgstr "Configuración de Producción"
 
 msgctxt "model:ir.action,name:act_production_list"
 msgid "Productions"
 msgstr "Producciones"
 
-msgctxt "model:ir.action,name:act_production_request"
-msgid "Request Productions"
-msgstr "Producciones Solicitadas"
-
-msgctxt "model:ir.action,name:act_production_running"
-msgid "Running Productions"
-msgstr "Producciones en Ejecución"
-
-msgctxt "model:ir.action,name:act_production_waiting"
-msgid "Waiting Productions"
-msgstr "Producciones en Espera"
-
 msgctxt "model:ir.action,name:wizard_assign"
 msgid "Assign Production"
 msgstr "Asignar Producción"
@@ -458,6 +442,36 @@ msgctxt "model:ir.action,name:wizard_bom_tree_open"
 msgid "BOM Tree"
 msgstr "Árbol LDM"
 
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_all"
+msgid "All"
+msgstr "Todo"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_assigned"
+msgid "Assigned"
+msgstr "Asignado"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_draft"
+msgid "Draft"
+msgstr "Borrador"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_requests"
+msgid "Requests"
+msgstr "Solicitudes"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_running"
+msgid "Running"
+msgstr "En ejecución"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_waiting"
+msgid "Waiting"
+msgstr "Esperando"
+
 msgctxt "model:ir.sequence,name:sequence_production"
 msgid "Production"
 msgstr "Producción"
@@ -478,34 +492,14 @@ msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr "Producción"
 
-msgctxt "model:ir.ui.menu,name:menu_production_assigned"
-msgid "Assigned Productions"
-msgstr "Producciones Asignadas"
-
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
-msgstr "Configuración Producción"
-
-msgctxt "model:ir.ui.menu,name:menu_production_draft"
-msgid "Draft Productions"
-msgstr "Producciones en Borrador"
+msgstr "Configuración de Producción"
 
 msgctxt "model:ir.ui.menu,name:menu_production_list"
 msgid "Productions"
 msgstr "Producciones"
 
-msgctxt "model:ir.ui.menu,name:menu_production_request"
-msgid "Request Productions"
-msgstr "Producciones Solicitadas"
-
-msgctxt "model:ir.ui.menu,name:menu_production_running"
-msgid "Running Productions"
-msgstr "Producciones en Ejecución"
-
-msgctxt "model:ir.ui.menu,name:menu_production_waiting"
-msgid "Waiting Productions"
-msgstr "Producciones en Espera"
-
 msgctxt "model:product.product-production.bom,name:"
 msgid "Product - BOM"
 msgstr "Producto - LDM"
@@ -520,15 +514,15 @@ msgstr "Asignar Producción"
 
 msgctxt "model:production.bom,name:"
 msgid "Bill of Material"
-msgstr "Lista de Material"
+msgstr "Lista de Materiales"
 
 msgctxt "model:production.bom.input,name:"
 msgid "Bill of Material Input"
-msgstr "Entrada Lista de Material"
+msgstr "Entrada de Lista de Materiales"
 
 msgctxt "model:production.bom.output,name:"
 msgid "Bill of Material Output"
-msgstr "Salida Lista de Material"
+msgstr "Salida de Lista de Materiales"
 
 msgctxt "model:production.bom.tree,name:"
 msgid "BOM Tree"
@@ -544,7 +538,7 @@ msgstr "Abrir Arbol de LDM"
 
 msgctxt "model:production.configuration,name:"
 msgid "Production Configuration"
-msgstr "Configuración Producción"
+msgstr "Configuración de Producción"
 
 msgctxt "model:res.group,name:group_production"
 msgid "Production"
@@ -552,7 +546,7 @@ msgstr "Producción"
 
 msgctxt "model:res.group,name:group_production_admin"
 msgid "Production Administration"
-msgstr "Administración Producción"
+msgstr "Administración de Producción"
 
 msgctxt "model:stock.location,name:location_production"
 msgid "Production"
@@ -560,7 +554,7 @@ msgstr "Producción"
 
 msgctxt "selection:production,state:"
 msgid "Assigned"
-msgstr "Assignado"
+msgstr "Asignado"
 
 msgctxt "selection:production,state:"
 msgid "Canceled"
@@ -600,7 +594,7 @@ msgstr "No se puede asignar"
 
 msgctxt "view:production.assign.failed:"
 msgid "Unable to assign those products:"
-msgstr "No se pueden asignarr estos productos:"
+msgstr "No se pueden asignar estos productos:"
 
 msgctxt "view:production.bom.input:"
 msgid "BOM Inputs"
@@ -636,7 +630,7 @@ msgstr "Líneas"
 
 msgctxt "view:production.configuration:"
 msgid "Production Configuration"
-msgstr "Configuración Producción"
+msgstr "Configuración de Producción"
 
 msgctxt "view:production:"
 msgid "Assign"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index 1f3acb9..482a2d2 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -3,36 +3,40 @@ msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:product.product:"
-msgid "You can not create recursive BOMs!"
-msgstr "No puede crear Listas de Materiales recursivas."
+msgid ""
+"You are trying to create a recursive BOM with product \"%s\" which is not "
+"allowed."
+msgstr ""
+"Está intentando crear una lista de materiales recursiva con el producto \"% "
+"s\" que no está permitido."
 
 msgctxt "error:production.bom.input:"
-msgid "Product must be unique per BOM!"
-msgstr "El producto debe ser único en la LdM."
+msgid "Product must be unique per BOM."
+msgstr "El producto debe ser único por LdM."
 
 msgctxt "error:production.bom.input:"
-msgid "You can not create recursive BOMs!"
-msgstr "No puede crear Listas de Materiales recursivas."
+msgid "You can not create recursive BOMs."
+msgstr "No puede crear una lista de materiales recursiva."
 
 msgctxt "error:production.bom.input:"
 msgid "product_bom_uniq"
 msgstr "El producto debe ser único en la LdM."
 
 msgctxt "error:production.bom.output:"
-msgid "Product must be unique per BOM!"
-msgstr "El producto debe ser único en la LdM."
+msgid "Product must be unique per BOM."
+msgstr "El producto debe ser único por LdM."
 
 msgctxt "error:production.bom.output:"
-msgid "You can not create recursive BOMs!"
-msgstr "No puede crear Listas de Materiales recursivas."
+msgid "You can not create recursive BOMs."
+msgstr "No puede crear una lista de materiales recursiva."
 
 msgctxt "error:production.bom.output:"
 msgid "product_bom_uniq"
 msgstr "El producto debe ser único en la LdM."
 
 msgctxt "error:production:"
-msgid "It misses some cost on the outputs!"
-msgstr "Faltan algunos costes en las salidas."
+msgid "Production \"%s\" misses costs on some of its outputs."
+msgstr "La producción \"%s\" pierde costes en alguna de sus salidas."
 
 msgctxt "field:product.product,boms:"
 msgid "BOMs"
@@ -56,7 +60,7 @@ msgstr "ID"
 
 msgctxt "field:product.product-production.bom,product:"
 msgid "Product"
-msgstr "Productos"
+msgstr "Producto"
 
 msgctxt "field:product.product-production.bom,rec_name:"
 msgid "Name"
@@ -124,7 +128,7 @@ msgstr "Fecha estimada"
 
 msgctxt "field:production,product:"
 msgid "Product"
-msgstr "Productos"
+msgstr "Producto"
 
 msgctxt "field:production,quantity:"
 msgid "Quantity"
@@ -144,7 +148,7 @@ msgstr "Estado"
 
 msgctxt "field:production,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos unidad"
+msgstr "Decimales de la unidad"
 
 msgctxt "field:production,uom:"
 msgid "Uom"
@@ -152,7 +156,7 @@ msgstr "UdM"
 
 msgctxt "field:production,uom_category:"
 msgid "Uom Category"
-msgstr "Categoría UdM"
+msgstr "Categoría de UdM"
 
 msgctxt "field:production,warehouse:"
 msgid "Warehouse"
@@ -236,7 +240,7 @@ msgstr "ID"
 
 msgctxt "field:production.bom.input,product:"
 msgid "Product"
-msgstr "Productos"
+msgstr "Producto"
 
 msgctxt "field:production.bom.input,quantity:"
 msgid "Quantity"
@@ -248,7 +252,7 @@ msgstr "Nombre"
 
 msgctxt "field:production.bom.input,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos unidad"
+msgstr "Decimales de la unidad"
 
 msgctxt "field:production.bom.input,uom:"
 msgid "Uom"
@@ -256,7 +260,7 @@ msgstr "UdM"
 
 msgctxt "field:production.bom.input,uom_category:"
 msgid "Uom Category"
-msgstr "Categoría UdM"
+msgstr "Categoría de UdM"
 
 msgctxt "field:production.bom.input,write_date:"
 msgid "Write Date"
@@ -284,7 +288,7 @@ msgstr "ID"
 
 msgctxt "field:production.bom.output,product:"
 msgid "Product"
-msgstr "Productos"
+msgstr "Producto"
 
 msgctxt "field:production.bom.output,quantity:"
 msgid "Quantity"
@@ -296,7 +300,7 @@ msgstr "Nombre"
 
 msgctxt "field:production.bom.output,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos unidad"
+msgstr "Decimales de la unidad"
 
 msgctxt "field:production.bom.output,uom:"
 msgid "Uom"
@@ -304,7 +308,7 @@ msgstr "UdM"
 
 msgctxt "field:production.bom.output,uom_category:"
 msgid "Uom Category"
-msgstr "Categoría UdM"
+msgstr "Categoría de UdM"
 
 msgctxt "field:production.bom.output,write_date:"
 msgid "Write Date"
@@ -324,7 +328,7 @@ msgstr "ID"
 
 msgctxt "field:production.bom.tree,product:"
 msgid "Product"
-msgstr "Productos"
+msgstr "Producto"
 
 msgctxt "field:production.bom.tree,quantity:"
 msgid "Quantity"
@@ -332,7 +336,7 @@ msgstr "Cantidad"
 
 msgctxt "field:production.bom.tree,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos unidad"
+msgstr "Decimales de la unidad"
 
 msgctxt "field:production.bom.tree,uom:"
 msgid "Uom"
@@ -352,7 +356,7 @@ msgstr "ID"
 
 msgctxt "field:production.bom.tree.open.start,product:"
 msgid "Product"
-msgstr "Productos"
+msgstr "Producto"
 
 msgctxt "field:production.bom.tree.open.start,quantity:"
 msgid "Quantity"
@@ -360,7 +364,7 @@ msgstr "Cantidad"
 
 msgctxt "field:production.bom.tree.open.start,unit_digits:"
 msgid "Unit Digits"
-msgstr "Dígitos unidad"
+msgstr "Decimales de la unidad"
 
 msgctxt "field:production.bom.tree.open.start,uom:"
 msgid "Unit"
@@ -388,7 +392,7 @@ msgstr "ID"
 
 msgctxt "field:production.configuration,production_sequence:"
 msgid "Production Sequence"
-msgstr "Secuencia producción"
+msgstr "Secuencia de producción"
 
 msgctxt "field:production.configuration,rec_name:"
 msgid "Name"
@@ -416,40 +420,20 @@ msgstr "Salida producción"
 
 msgctxt "model:ir.action,name:act_bom_form"
 msgid "BOM"
-msgstr "LdM"
+msgstr "Listas de material"
 
 msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
-msgstr "LdM"
-
-msgctxt "model:ir.action,name:act_production_assigned"
-msgid "Assigned Productions"
-msgstr "Producciones reservadas"
+msgstr "Listas de material"
 
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
-msgstr "Configuración producción"
-
-msgctxt "model:ir.action,name:act_production_draft"
-msgid "Draft Productions"
-msgstr "Producciones borrador"
+msgstr "Configuración de la producción"
 
 msgctxt "model:ir.action,name:act_production_list"
 msgid "Productions"
 msgstr "Producciones"
 
-msgctxt "model:ir.action,name:act_production_request"
-msgid "Request Productions"
-msgstr "Producciones solicitadas"
-
-msgctxt "model:ir.action,name:act_production_running"
-msgid "Running Productions"
-msgstr "Producciones en ejecución"
-
-msgctxt "model:ir.action,name:act_production_waiting"
-msgid "Waiting Productions"
-msgstr "Producciones en espera"
-
 msgctxt "model:ir.action,name:wizard_assign"
 msgid "Assign Production"
 msgstr "Reservar producción"
@@ -458,6 +442,36 @@ msgctxt "model:ir.action,name:wizard_bom_tree_open"
 msgid "BOM Tree"
 msgstr "Árbol LdM"
 
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_all"
+msgid "All"
+msgstr "Todo"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_assigned"
+msgid "Assigned"
+msgstr "Reservado"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_draft"
+msgid "Draft"
+msgstr "Borrador"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_requests"
+msgid "Requests"
+msgstr "Solicitudes"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_running"
+msgid "Running"
+msgstr "En ejecución"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_waiting"
+msgid "Waiting"
+msgstr "En espera"
+
 msgctxt "model:ir.sequence,name:sequence_production"
 msgid "Production"
 msgstr "Producción"
@@ -468,7 +482,7 @@ msgstr "Producción"
 
 msgctxt "model:ir.ui.menu,name:menu_bom_list"
 msgid "BOMs"
-msgstr "Listas de Material"
+msgstr "Listas de material"
 
 msgctxt "model:ir.ui.menu,name:menu_configuration"
 msgid "Configuration"
@@ -478,34 +492,14 @@ msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr "Producción"
 
-msgctxt "model:ir.ui.menu,name:menu_production_assigned"
-msgid "Assigned Productions"
-msgstr "Reservadas"
-
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
-msgstr "Configuración producción"
-
-msgctxt "model:ir.ui.menu,name:menu_production_draft"
-msgid "Draft Productions"
-msgstr "Borrador"
+msgstr "Producción"
 
 msgctxt "model:ir.ui.menu,name:menu_production_list"
 msgid "Productions"
 msgstr "Producciones"
 
-msgctxt "model:ir.ui.menu,name:menu_production_request"
-msgid "Request Productions"
-msgstr "Solicitadas"
-
-msgctxt "model:ir.ui.menu,name:menu_production_running"
-msgid "Running Productions"
-msgstr "En ejecución"
-
-msgctxt "model:ir.ui.menu,name:menu_production_waiting"
-msgid "Waiting Productions"
-msgstr "En espera"
-
 msgctxt "model:product.product-production.bom,name:"
 msgid "Product - BOM"
 msgstr "Producto - LdM"
@@ -544,7 +538,7 @@ msgstr "Abrir arbol BOM"
 
 msgctxt "model:production.configuration,name:"
 msgid "Production Configuration"
-msgstr "Configuración producción"
+msgstr "Configuración de la producción"
 
 msgctxt "model:res.group,name:group_production"
 msgid "Production"
@@ -604,15 +598,15 @@ msgstr "No se pueden reservar estos productos:"
 
 msgctxt "view:production.bom.input:"
 msgid "BOM Inputs"
-msgstr "Entradas LdM"
+msgstr "Entradas lista de material"
 
 msgctxt "view:production.bom.output:"
 msgid "BOM Outputs"
-msgstr "Salidas LdM"
+msgstr "Salidas lista de material"
 
 msgctxt "view:production.bom.tree.open.start:"
 msgid "BOM Tree"
-msgstr "Árbol LdM"
+msgstr "Árbol lista de material"
 
 msgctxt "view:production.bom.tree.open.tree:"
 msgid "BOM Tree"
@@ -624,11 +618,11 @@ msgstr "Árbol LdM"
 
 msgctxt "view:production.bom:"
 msgid "BOM"
-msgstr "LdM"
+msgstr "Lista de material"
 
 msgctxt "view:production.bom:"
 msgid "BOMs"
-msgstr "LdM"
+msgstr "Listas de material"
 
 msgctxt "view:production.bom:"
 msgid "Lines"
@@ -636,7 +630,7 @@ msgstr "Líneas"
 
 msgctxt "view:production.configuration:"
 msgid "Production Configuration"
-msgstr "Configuración producción"
+msgstr "Configuración de la producción"
 
 msgctxt "view:production:"
 msgid "Assign"
diff --git a/locale/fr_FR.po b/locale/fr_FR.po
index 1cbc38a..cbad60c 100644
--- a/locale/fr_FR.po
+++ b/locale/fr_FR.po
@@ -3,36 +3,40 @@ msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:product.product:"
-msgid "You can not create recursive BOMs!"
-msgstr "Vous ne pouvez pas créer des nomenclatures récursives"
+msgid ""
+"You are trying to create a recursive BOM with product \"%s\" which is not "
+"allowed."
+msgstr ""
+"Vous essayez de créer une BOM récursive avec le produit \"%s\", ce qui n'est"
+" pas autorisé."
 
 msgctxt "error:production.bom.input:"
-msgid "Product must be unique per BOM!"
-msgstr "Un produit ne peut apparaître qu'une fois dans une même nomenclature"
+msgid "Product must be unique per BOM."
+msgstr "Le produit par nomeclature doit être unique"
 
 msgctxt "error:production.bom.input:"
-msgid "You can not create recursive BOMs!"
-msgstr "Vous ne pouvez pas créer des nomenclatures récursives"
+msgid "You can not create recursive BOMs."
+msgstr "Vous ne pouvez créer des nomenclatures récursives."
 
 msgctxt "error:production.bom.input:"
 msgid "product_bom_uniq"
 msgstr "product_bom_uniq"
 
 msgctxt "error:production.bom.output:"
-msgid "Product must be unique per BOM!"
-msgstr "Un produit ne peut apparaître qu'une fois dans une même nomenclature"
+msgid "Product must be unique per BOM."
+msgstr "Le produit par nomeclature doit être unique"
 
 msgctxt "error:production.bom.output:"
-msgid "You can not create recursive BOMs!"
-msgstr "Vous ne pouvez pas créer des nomenclatures récursives"
+msgid "You can not create recursive BOMs."
+msgstr "Vous ne pouvez créer des nomenclatures récursives."
 
 msgctxt "error:production.bom.output:"
 msgid "product_bom_uniq"
 msgstr "product_bom_uniq"
 
 msgctxt "error:production:"
-msgid "It misses some cost on the outputs!"
-msgstr "Il manques des coûts sur les sorties!"
+msgid "Production \"%s\" misses costs on some of its outputs."
+msgstr "Des coûts sont manquants sur les sorties de la production \"%s\"."
 
 msgctxt "field:product.product,boms:"
 msgid "BOMs"
@@ -422,34 +426,14 @@ msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
 msgstr "Nomenclatures"
 
-msgctxt "model:ir.action,name:act_production_assigned"
-msgid "Assigned Productions"
-msgstr "Productions assignées"
-
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
 msgstr "Configuration de la production"
 
-msgctxt "model:ir.action,name:act_production_draft"
-msgid "Draft Productions"
-msgstr "Productions brouillon"
-
 msgctxt "model:ir.action,name:act_production_list"
 msgid "Productions"
 msgstr "Productions"
 
-msgctxt "model:ir.action,name:act_production_request"
-msgid "Request Productions"
-msgstr "Demandes de production"
-
-msgctxt "model:ir.action,name:act_production_running"
-msgid "Running Productions"
-msgstr "Productions en cours"
-
-msgctxt "model:ir.action,name:act_production_waiting"
-msgid "Waiting Productions"
-msgstr "Productions en attente"
-
 msgctxt "model:ir.action,name:wizard_assign"
 msgid "Assign Production"
 msgstr "productions assignées"
@@ -458,6 +442,36 @@ msgctxt "model:ir.action,name:wizard_bom_tree_open"
 msgid "BOM Tree"
 msgstr "Arbre de nomenclatures"
 
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_all"
+msgid "All"
+msgstr "Toutes"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_assigned"
+msgid "Assigned"
+msgstr "Assigné"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_draft"
+msgid "Draft"
+msgstr "Brouillon"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_requests"
+msgid "Requests"
+msgstr "Demandes"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_running"
+msgid "Running"
+msgstr "En cours"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_waiting"
+msgid "Waiting"
+msgstr "En attente"
+
 msgctxt "model:ir.sequence,name:sequence_production"
 msgid "Production"
 msgstr "Production"
@@ -478,34 +492,14 @@ msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr "Production"
 
-msgctxt "model:ir.ui.menu,name:menu_production_assigned"
-msgid "Assigned Productions"
-msgstr "Productions assignées"
-
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
 msgstr "Configuration de la production"
 
-msgctxt "model:ir.ui.menu,name:menu_production_draft"
-msgid "Draft Productions"
-msgstr "Productions brouillons"
-
 msgctxt "model:ir.ui.menu,name:menu_production_list"
 msgid "Productions"
 msgstr "Productions"
 
-msgctxt "model:ir.ui.menu,name:menu_production_request"
-msgid "Request Productions"
-msgstr "Demandes de production"
-
-msgctxt "model:ir.ui.menu,name:menu_production_running"
-msgid "Running Productions"
-msgstr "Productions en cours"
-
-msgctxt "model:ir.ui.menu,name:menu_production_waiting"
-msgid "Waiting Productions"
-msgstr "Productions en attente"
-
 msgctxt "model:product.product-production.bom,name:"
 msgid "Product - BOM"
 msgstr "Produit - Nomenclature"
diff --git a/locale/nl_NL.po b/locale/nl_NL.po
index 454c7cc..437cd21 100644
--- a/locale/nl_NL.po
+++ b/locale/nl_NL.po
@@ -3,15 +3,17 @@ msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:product.product:"
-msgid "You can not create recursive BOMs!"
+msgid ""
+"You are trying to create a recursive BOM with product \"%s\" which is not "
+"allowed."
 msgstr ""
 
 msgctxt "error:production.bom.input:"
-msgid "Product must be unique per BOM!"
+msgid "Product must be unique per BOM."
 msgstr ""
 
 msgctxt "error:production.bom.input:"
-msgid "You can not create recursive BOMs!"
+msgid "You can not create recursive BOMs."
 msgstr ""
 
 msgctxt "error:production.bom.input:"
@@ -19,11 +21,11 @@ msgid "product_bom_uniq"
 msgstr ""
 
 msgctxt "error:production.bom.output:"
-msgid "Product must be unique per BOM!"
+msgid "Product must be unique per BOM."
 msgstr ""
 
 msgctxt "error:production.bom.output:"
-msgid "You can not create recursive BOMs!"
+msgid "You can not create recursive BOMs."
 msgstr ""
 
 msgctxt "error:production.bom.output:"
@@ -31,7 +33,7 @@ msgid "product_bom_uniq"
 msgstr ""
 
 msgctxt "error:production:"
-msgid "It misses some cost on the outputs!"
+msgid "Production \"%s\" misses costs on some of its outputs."
 msgstr ""
 
 msgctxt "field:product.product,boms:"
@@ -456,42 +458,54 @@ msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_production_assigned"
-msgid "Assigned Productions"
-msgstr ""
-
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_production_draft"
-msgid "Draft Productions"
-msgstr ""
-
 msgctxt "model:ir.action,name:act_production_list"
 msgid "Productions"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_production_request"
-msgid "Request Productions"
+msgctxt "model:ir.action,name:wizard_assign"
+msgid "Assign Production"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_production_running"
-msgid "Running Productions"
+msgctxt "model:ir.action,name:wizard_bom_tree_open"
+msgid "BOM Tree"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_production_waiting"
-msgid "Waiting Productions"
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_all"
+msgid "All"
 msgstr ""
 
-msgctxt "model:ir.action,name:wizard_assign"
-msgid "Assign Production"
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_assigned"
+msgid "Assigned"
 msgstr ""
 
-msgctxt "model:ir.action,name:wizard_bom_tree_open"
-msgid "BOM Tree"
+#, fuzzy
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_draft"
+msgid "Draft"
+msgstr "Concept"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_requests"
+msgid "Requests"
 msgstr ""
 
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_running"
+msgid "Running"
+msgstr ""
+
+#, fuzzy
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_waiting"
+msgid "Waiting"
+msgstr "In afwachting"
+
 msgctxt "model:ir.sequence,name:sequence_production"
 msgid "Production"
 msgstr ""
@@ -513,34 +527,14 @@ msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_production_assigned"
-msgid "Assigned Productions"
-msgstr ""
-
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_production_draft"
-msgid "Draft Productions"
-msgstr ""
-
 msgctxt "model:ir.ui.menu,name:menu_production_list"
 msgid "Productions"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_production_request"
-msgid "Request Productions"
-msgstr ""
-
-msgctxt "model:ir.ui.menu,name:menu_production_running"
-msgid "Running Productions"
-msgstr ""
-
-msgctxt "model:ir.ui.menu,name:menu_production_waiting"
-msgid "Waiting Productions"
-msgstr ""
-
 msgctxt "model:product.product-production.bom,name:"
 msgid "Product - BOM"
 msgstr ""
diff --git a/locale/ru_RU.po b/locale/ru_RU.po
index 892c831..92b1363 100644
--- a/locale/ru_RU.po
+++ b/locale/ru_RU.po
@@ -3,766 +3,693 @@ msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:product.product:"
-msgid "You can not create recursive BOMs!"
-msgstr ""
+msgid ""
+"You are trying to create a recursive BOM with product \"%s\" which is not "
+"allowed."
+msgstr "Нельзя создать рекурсивную спецификацию для продукта \"%s\"."
 
 msgctxt "error:production.bom.input:"
-msgid "Product must be unique per BOM!"
-msgstr ""
+msgid "Product must be unique per BOM."
+msgstr "Продукт должен быть уникальным для спецификации."
 
 msgctxt "error:production.bom.input:"
-msgid "You can not create recursive BOMs!"
-msgstr ""
+msgid "You can not create recursive BOMs."
+msgstr "Вы не можете создать рекурсивную спецификацию."
 
 msgctxt "error:production.bom.input:"
 msgid "product_bom_uniq"
 msgstr ""
 
 msgctxt "error:production.bom.output:"
-msgid "Product must be unique per BOM!"
-msgstr ""
+msgid "Product must be unique per BOM."
+msgstr "Продукт должен быть уникальным для спецификации."
 
 msgctxt "error:production.bom.output:"
-msgid "You can not create recursive BOMs!"
-msgstr ""
+msgid "You can not create recursive BOMs."
+msgstr "Вы не можете создать рекурсивную спецификацию."
 
 msgctxt "error:production.bom.output:"
 msgid "product_bom_uniq"
 msgstr ""
 
 msgctxt "error:production:"
-msgid "It misses some cost on the outputs!"
-msgstr ""
+msgid "Production \"%s\" misses costs on some of its outputs."
+msgstr "У производства \"%s\" отсутствует цена для некоторых продуктов."
 
 msgctxt "field:product.product,boms:"
 msgid "BOMs"
-msgstr ""
+msgstr "Спецификации"
 
 msgctxt "field:product.product-production.bom,bom:"
 msgid "BOM"
-msgstr ""
+msgstr "Спецификация"
 
 msgctxt "field:product.product-production.bom,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Дата создания"
 
 msgctxt "field:product.product-production.bom,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Создано пользователем"
 
 msgctxt "field:product.product-production.bom,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
-#, fuzzy
 msgctxt "field:product.product-production.bom,product:"
 msgid "Product"
-msgstr "Товарно материальные ценности (ТМЦ)"
+msgstr "Продукт"
 
-#, fuzzy
 msgctxt "field:product.product-production.bom,rec_name:"
 msgid "Name"
 msgstr "Наименование"
 
-#, fuzzy
 msgctxt "field:product.product-production.bom,sequence:"
 msgid "Sequence"
-msgstr "Последовательность"
+msgstr "Нумерация"
 
 msgctxt "field:product.product-production.bom,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Дата изменения"
 
 msgctxt "field:product.product-production.bom,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Изменено пользователем"
 
 msgctxt "field:production,bom:"
 msgid "BOM"
-msgstr ""
+msgstr "Спецификация"
 
-#, fuzzy
 msgctxt "field:production,code:"
 msgid "Code"
-msgstr "Код страны"
+msgstr "Код"
 
-#, fuzzy
 msgctxt "field:production,company:"
 msgid "Company"
-msgstr "Учет.орг."
+msgstr "Организация"
 
 msgctxt "field:production,cost:"
 msgid "Cost"
-msgstr ""
+msgstr "Стоимость"
 
 msgctxt "field:production,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Дата создания"
 
 msgctxt "field:production,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Создано пользователем"
 
-#, fuzzy
 msgctxt "field:production,effective_date:"
 msgid "Effective Date"
 msgstr "Учетная дата"
 
 msgctxt "field:production,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 msgctxt "field:production,inputs:"
 msgid "Inputs"
-msgstr ""
+msgstr "Исходные"
 
-#, fuzzy
 msgctxt "field:production,location:"
 msgid "Location"
 msgstr "Местоположение"
 
 msgctxt "field:production,outputs:"
 msgid "Outputs"
-msgstr ""
+msgstr "Продукция"
 
-#, fuzzy
 msgctxt "field:production,planned_date:"
 msgid "Planned Date"
 msgstr "Плановая дата"
 
-#, fuzzy
 msgctxt "field:production,product:"
 msgid "Product"
-msgstr "Товарно материальные ценности (ТМЦ)"
+msgstr "Продукт"
 
-#, fuzzy
 msgctxt "field:production,quantity:"
 msgid "Quantity"
 msgstr "Кол-во"
 
-#, fuzzy
 msgctxt "field:production,rec_name:"
 msgid "Name"
 msgstr "Наименование"
 
-#, fuzzy
 msgctxt "field:production,reference:"
 msgid "Reference"
 msgstr "Ссылка"
 
-#, fuzzy
 msgctxt "field:production,state:"
 msgid "State"
-msgstr "Статус"
+msgstr "Состояние"
 
-#, fuzzy
 msgctxt "field:production,unit_digits:"
 msgid "Unit Digits"
-msgstr "Группа цифр"
+msgstr "Кол-во цифр после запятой"
 
-#, fuzzy
 msgctxt "field:production,uom:"
 msgid "Uom"
 msgstr "Ед.изм."
 
 msgctxt "field:production,uom_category:"
 msgid "Uom Category"
-msgstr ""
+msgstr "Категория ед. измерения"
 
-#, fuzzy
 msgctxt "field:production,warehouse:"
 msgid "Warehouse"
 msgstr "Товарный склад"
 
 msgctxt "field:production,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Дата изменения"
 
 msgctxt "field:production,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Изменено пользователем"
 
 msgctxt "field:production.assign.failed,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
-#, fuzzy
 msgctxt "field:production.assign.failed,moves:"
 msgid "Moves"
 msgstr "Перемещения"
 
-#, fuzzy
 msgctxt "field:production.bom,active:"
 msgid "Active"
-msgstr "Действительный"
+msgstr "Действующий"
 
 msgctxt "field:production.bom,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Дата создания"
 
 msgctxt "field:production.bom,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Создано пользователем"
 
 msgctxt "field:production.bom,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 msgctxt "field:production.bom,inputs:"
 msgid "Inputs"
-msgstr ""
+msgstr "Исходные"
 
-#, fuzzy
 msgctxt "field:production.bom,name:"
 msgid "Name"
 msgstr "Наименование"
 
 msgctxt "field:production.bom,output_products:"
 msgid "Output Products"
-msgstr ""
+msgstr "Готовая продукция"
 
 msgctxt "field:production.bom,outputs:"
 msgid "Outputs"
-msgstr ""
+msgstr "Продукция"
 
-#, fuzzy
 msgctxt "field:production.bom,rec_name:"
 msgid "Name"
 msgstr "Наименование"
 
 msgctxt "field:production.bom,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Дата изменения"
 
 msgctxt "field:production.bom,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Изменено пользователем"
 
 msgctxt "field:production.bom.input,bom:"
 msgid "BOM"
-msgstr ""
+msgstr "Спецификация"
 
 msgctxt "field:production.bom.input,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Дата создания"
 
 msgctxt "field:production.bom.input,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Создано пользователем"
 
 msgctxt "field:production.bom.input,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
-#, fuzzy
 msgctxt "field:production.bom.input,product:"
 msgid "Product"
-msgstr "Товарно материальные ценности (ТМЦ)"
+msgstr "Продукт"
 
-#, fuzzy
 msgctxt "field:production.bom.input,quantity:"
 msgid "Quantity"
 msgstr "Кол-во"
 
-#, fuzzy
 msgctxt "field:production.bom.input,rec_name:"
 msgid "Name"
 msgstr "Наименование"
 
-#, fuzzy
 msgctxt "field:production.bom.input,unit_digits:"
 msgid "Unit Digits"
-msgstr "Группа цифр"
+msgstr "Кол-во цифр после запятой"
 
-#, fuzzy
 msgctxt "field:production.bom.input,uom:"
 msgid "Uom"
 msgstr "Ед.изм."
 
 msgctxt "field:production.bom.input,uom_category:"
 msgid "Uom Category"
-msgstr ""
+msgstr "Категория ед. измерения"
 
 msgctxt "field:production.bom.input,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Дата изменения"
 
 msgctxt "field:production.bom.input,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Изменено пользователем"
 
 msgctxt "field:production.bom.output,bom:"
 msgid "BOM"
-msgstr ""
+msgstr "Спецификация"
 
 msgctxt "field:production.bom.output,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Дата создания"
 
 msgctxt "field:production.bom.output,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Создано пользователем"
 
 msgctxt "field:production.bom.output,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
-#, fuzzy
 msgctxt "field:production.bom.output,product:"
 msgid "Product"
-msgstr "Товарно материальные ценности (ТМЦ)"
+msgstr "Продукт"
 
-#, fuzzy
 msgctxt "field:production.bom.output,quantity:"
 msgid "Quantity"
 msgstr "Кол-во"
 
-#, fuzzy
 msgctxt "field:production.bom.output,rec_name:"
 msgid "Name"
 msgstr "Наименование"
 
-#, fuzzy
 msgctxt "field:production.bom.output,unit_digits:"
 msgid "Unit Digits"
-msgstr "Группа цифр"
+msgstr "Кол-во цифр после запятой"
 
-#, fuzzy
 msgctxt "field:production.bom.output,uom:"
 msgid "Uom"
 msgstr "Ед.изм."
 
 msgctxt "field:production.bom.output,uom_category:"
 msgid "Uom Category"
-msgstr ""
+msgstr "Категория ед. измерения"
 
 msgctxt "field:production.bom.output,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Дата изменения"
 
 msgctxt "field:production.bom.output,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Изменено пользователем"
 
 msgctxt "field:production.bom.tree,childs:"
 msgid "Childs"
-msgstr ""
+msgstr "Подчиненные"
 
 msgctxt "field:production.bom.tree,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
-#, fuzzy
 msgctxt "field:production.bom.tree,product:"
 msgid "Product"
-msgstr "Товарно материальные ценности (ТМЦ)"
+msgstr "Продукт"
 
-#, fuzzy
 msgctxt "field:production.bom.tree,quantity:"
 msgid "Quantity"
 msgstr "Кол-во"
 
-#, fuzzy
 msgctxt "field:production.bom.tree,unit_digits:"
 msgid "Unit Digits"
-msgstr "Группа цифр"
+msgstr "Кол-во цифр после запятой"
 
-#, fuzzy
 msgctxt "field:production.bom.tree,uom:"
 msgid "Uom"
 msgstr "Ед.изм."
 
 msgctxt "field:production.bom.tree.open.start,bom:"
 msgid "BOM"
-msgstr ""
+msgstr "Спецификация"
 
-#, fuzzy
 msgctxt "field:production.bom.tree.open.start,category:"
 msgid "Category"
-msgstr "Категории"
+msgstr "Категория"
 
 msgctxt "field:production.bom.tree.open.start,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
-#, fuzzy
 msgctxt "field:production.bom.tree.open.start,product:"
 msgid "Product"
-msgstr "Товарно материальные ценности (ТМЦ)"
+msgstr "Продукт"
 
-#, fuzzy
 msgctxt "field:production.bom.tree.open.start,quantity:"
 msgid "Quantity"
 msgstr "Кол-во"
 
-#, fuzzy
 msgctxt "field:production.bom.tree.open.start,unit_digits:"
 msgid "Unit Digits"
-msgstr "Группа цифр"
+msgstr "Кол-во цифр после запятой"
 
-#, fuzzy
 msgctxt "field:production.bom.tree.open.start,uom:"
 msgid "Unit"
-msgstr "Штука"
+msgstr "Единица измерения"
 
 msgctxt "field:production.bom.tree.open.tree,bom_tree:"
 msgid "BOM Tree"
-msgstr ""
+msgstr "Дерево спецификации"
 
 msgctxt "field:production.bom.tree.open.tree,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 msgctxt "field:production.configuration,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Дата создания"
 
 msgctxt "field:production.configuration,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Создано пользователем"
 
 msgctxt "field:production.configuration,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 msgctxt "field:production.configuration,production_sequence:"
 msgid "Production Sequence"
-msgstr ""
+msgstr "Нумерация производства"
 
-#, fuzzy
 msgctxt "field:production.configuration,rec_name:"
 msgid "Name"
 msgstr "Наименование"
 
 msgctxt "field:production.configuration,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Дата изменения"
 
 msgctxt "field:production.configuration,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Изменено пользователем"
 
-#, fuzzy
 msgctxt "field:stock.location,production_location:"
 msgid "Production"
 msgstr "Производство"
 
 msgctxt "field:stock.move,production_input:"
 msgid "Production Input"
-msgstr ""
+msgstr "Исходные для производства"
 
 msgctxt "field:stock.move,production_output:"
 msgid "Production Output"
-msgstr ""
+msgstr "Готовая продукция производства"
 
 msgctxt "model:ir.action,name:act_bom_form"
 msgid "BOM"
-msgstr ""
+msgstr "Спецификация"
 
 msgctxt "model:ir.action,name:act_bom_list"
 msgid "BOMs"
-msgstr ""
-
-msgctxt "model:ir.action,name:act_production_assigned"
-msgid "Assigned Productions"
-msgstr ""
+msgstr "Спецификации"
 
 msgctxt "model:ir.action,name:act_production_configuration_form"
 msgid "Production Configuration"
-msgstr ""
-
-msgctxt "model:ir.action,name:act_production_draft"
-msgid "Draft Productions"
-msgstr ""
+msgstr "Конфигурация производства"
 
 msgctxt "model:ir.action,name:act_production_list"
 msgid "Productions"
-msgstr ""
-
-msgctxt "model:ir.action,name:act_production_request"
-msgid "Request Productions"
-msgstr ""
-
-msgctxt "model:ir.action,name:act_production_running"
-msgid "Running Productions"
-msgstr ""
-
-msgctxt "model:ir.action,name:act_production_waiting"
-msgid "Waiting Productions"
-msgstr ""
+msgstr "Производства"
 
 msgctxt "model:ir.action,name:wizard_assign"
 msgid "Assign Production"
-msgstr ""
+msgstr "Назначить производство"
 
 msgctxt "model:ir.action,name:wizard_bom_tree_open"
 msgid "BOM Tree"
-msgstr ""
+msgstr "Дерево спецификации"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_all"
+msgid "All"
+msgstr "Все"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_assigned"
+msgid "Assigned"
+msgstr "Переданный"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_draft"
+msgid "Draft"
+msgstr "Черновик"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_requests"
+msgid "Requests"
+msgstr "Сообщения"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_running"
+msgid "Running"
+msgstr "Выполняется"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_production_list_domain_waiting"
+msgid "Waiting"
+msgstr "Ожидание"
 
-#, fuzzy
 msgctxt "model:ir.sequence,name:sequence_production"
 msgid "Production"
 msgstr "Производство"
 
-#, fuzzy
 msgctxt "model:ir.sequence.type,name:sequence_type_production"
 msgid "Production"
 msgstr "Производство"
 
 msgctxt "model:ir.ui.menu,name:menu_bom_list"
 msgid "BOMs"
-msgstr ""
+msgstr "Спецификации"
 
-#, fuzzy
 msgctxt "model:ir.ui.menu,name:menu_configuration"
 msgid "Configuration"
 msgstr "Конфигурация"
 
-#, fuzzy
 msgctxt "model:ir.ui.menu,name:menu_production"
 msgid "Production"
 msgstr "Производство"
 
-msgctxt "model:ir.ui.menu,name:menu_production_assigned"
-msgid "Assigned Productions"
-msgstr ""
-
 msgctxt "model:ir.ui.menu,name:menu_production_configuration"
 msgid "Production Configuration"
-msgstr ""
-
-msgctxt "model:ir.ui.menu,name:menu_production_draft"
-msgid "Draft Productions"
-msgstr ""
+msgstr "Конфигурация производства"
 
 msgctxt "model:ir.ui.menu,name:menu_production_list"
 msgid "Productions"
-msgstr ""
-
-msgctxt "model:ir.ui.menu,name:menu_production_request"
-msgid "Request Productions"
-msgstr ""
-
-msgctxt "model:ir.ui.menu,name:menu_production_running"
-msgid "Running Productions"
-msgstr ""
-
-msgctxt "model:ir.ui.menu,name:menu_production_waiting"
-msgid "Waiting Productions"
-msgstr ""
+msgstr "Производства"
 
 msgctxt "model:product.product-production.bom,name:"
 msgid "Product - BOM"
-msgstr ""
+msgstr "Продукция - Спецификация"
 
-#, fuzzy
 msgctxt "model:production,name:"
 msgid "Production"
 msgstr "Производство"
 
 msgctxt "model:production.assign.failed,name:"
 msgid "Assign Production"
-msgstr ""
+msgstr "Назначить производство"
 
 msgctxt "model:production.bom,name:"
 msgid "Bill of Material"
-msgstr ""
+msgstr "Спецификация"
 
 msgctxt "model:production.bom.input,name:"
 msgid "Bill of Material Input"
-msgstr ""
+msgstr "Спецификация, исходные"
 
 msgctxt "model:production.bom.output,name:"
 msgid "Bill of Material Output"
-msgstr ""
+msgstr "Спецификация, продукция"
 
 msgctxt "model:production.bom.tree,name:"
 msgid "BOM Tree"
-msgstr ""
+msgstr "Дерево спецификации"
 
 msgctxt "model:production.bom.tree.open.start,name:"
 msgid "Open BOM Tree"
-msgstr ""
+msgstr "Открыть дерево спецификации"
 
 msgctxt "model:production.bom.tree.open.tree,name:"
 msgid "Open BOM Tree"
-msgstr ""
+msgstr "Открыть дерево спецификации"
 
 msgctxt "model:production.configuration,name:"
 msgid "Production Configuration"
-msgstr ""
+msgstr "Конфигурация производства"
 
-#, fuzzy
 msgctxt "model:res.group,name:group_production"
 msgid "Production"
 msgstr "Производство"
 
 msgctxt "model:res.group,name:group_production_admin"
 msgid "Production Administration"
-msgstr ""
+msgstr "Администрирование производства"
 
-#, fuzzy
 msgctxt "model:stock.location,name:location_production"
 msgid "Production"
 msgstr "Производство"
 
-#, fuzzy
 msgctxt "selection:production,state:"
 msgid "Assigned"
 msgstr "Переданный"
 
-#, fuzzy
 msgctxt "selection:production,state:"
 msgid "Canceled"
 msgstr "Отменено"
 
-#, fuzzy
 msgctxt "selection:production,state:"
 msgid "Done"
 msgstr "Выполнено"
 
-#, fuzzy
 msgctxt "selection:production,state:"
 msgid "Draft"
 msgstr "Черновик"
 
-#, fuzzy
 msgctxt "selection:production,state:"
 msgid "Request"
 msgstr "Сообщение"
 
 msgctxt "selection:production,state:"
 msgid "Running"
-msgstr ""
+msgstr "Выполняется"
 
-#, fuzzy
 msgctxt "selection:production,state:"
 msgid "Waiting"
 msgstr "Ожидание"
 
 msgctxt "view:product.product-production.bom:"
 msgid "Product - BOM"
-msgstr ""
+msgstr "Продукция - Спецификация"
 
 msgctxt "view:product.product-production.bom:"
 msgid "Product - BOMs"
-msgstr ""
+msgstr "Продукция - Спецификации"
 
 msgctxt "view:production.assign.failed:"
 msgid "Unable to Assign"
-msgstr ""
+msgstr "Не удалось назначить"
 
 msgctxt "view:production.assign.failed:"
 msgid "Unable to assign those products:"
-msgstr ""
+msgstr "Не удалось назначить эти продукты:"
 
 msgctxt "view:production.bom.input:"
 msgid "BOM Inputs"
-msgstr ""
+msgstr "Спецификация, исходные"
 
 msgctxt "view:production.bom.output:"
 msgid "BOM Outputs"
-msgstr ""
+msgstr "Спецификация, продукция"
 
 msgctxt "view:production.bom.tree.open.start:"
 msgid "BOM Tree"
-msgstr ""
+msgstr "Дерево спецификации"
 
 msgctxt "view:production.bom.tree.open.tree:"
 msgid "BOM Tree"
-msgstr ""
+msgstr "Дерево спецификации"
 
 msgctxt "view:production.bom.tree:"
 msgid "BOM Tree"
-msgstr ""
+msgstr "Дерево спецификации"
 
 msgctxt "view:production.bom:"
 msgid "BOM"
-msgstr ""
+msgstr "Спецификация"
 
 msgctxt "view:production.bom:"
 msgid "BOMs"
-msgstr ""
+msgstr "Спецификации"
 
-#, fuzzy
 msgctxt "view:production.bom:"
 msgid "Lines"
 msgstr "Строки"
 
 msgctxt "view:production.configuration:"
 msgid "Production Configuration"
-msgstr ""
+msgstr "Конфигурация производства"
 
-#, fuzzy
 msgctxt "view:production:"
 msgid "Assign"
 msgstr "Назначение"
 
-#, fuzzy
 msgctxt "view:production:"
 msgid "Cancel"
 msgstr "Отменить"
 
-#, fuzzy
 msgctxt "view:production:"
 msgid "Done"
 msgstr "Выполнено"
 
-#, fuzzy
 msgctxt "view:production:"
 msgid "Draft"
 msgstr "Черновик"
 
-#, fuzzy
 msgctxt "view:production:"
 msgid "Lines"
 msgstr "Строки"
 
 msgctxt "view:production:"
 msgid "Other Info"
-msgstr ""
+msgstr "Другая информация"
 
-#, fuzzy
 msgctxt "view:production:"
 msgid "Production"
 msgstr "Производство"
 
 msgctxt "view:production:"
 msgid "Productions"
-msgstr ""
+msgstr "Производства"
 
 msgctxt "view:production:"
 msgid "Run"
-msgstr ""
+msgstr "Запустить"
 
 msgctxt "view:production:"
 msgid "Wait"
-msgstr ""
+msgstr "Ожидают"
 
-#, fuzzy
 msgctxt "wizard_button:production.assign,failed,end:"
 msgid "Ok"
-msgstr "Да"
+msgstr "Ок"
 
 msgctxt "wizard_button:production.assign,failed,force:"
 msgid "Force Assign"
-msgstr ""
+msgstr "Принудительно назначить"
 
-#, fuzzy
 msgctxt "wizard_button:production.bom.tree.open,start,end:"
 msgid "Cancel"
 msgstr "Отменить"
 
-#, fuzzy
 msgctxt "wizard_button:production.bom.tree.open,start,tree:"
 msgid "Ok"
-msgstr "Да"
+msgstr "Ок"
 
-#, fuzzy
 msgctxt "wizard_button:production.bom.tree.open,tree,end:"
 msgid "Close"
 msgstr "Закрыть"
 
 msgctxt "wizard_button:production.bom.tree.open,tree,start:"
 msgid "Change"
-msgstr ""
+msgstr "Изменить"
diff --git a/product.py b/product.py
index f9e524d..0db43fe 100644
--- a/product.py
+++ b/product.py
@@ -21,13 +21,17 @@ class Product:
     @classmethod
     def __setup__(cls):
         super(Product, cls).__setup__()
-        cls._constraints += [
-            ('check_bom_recursion', 'recursive_bom'),
-            ]
         cls._error_messages.update({
-                'recursive_bom': 'You can not create recursive BOMs!',
+                'recursive_bom': ('You are trying to create a recursive BOM '
+                    'with product "%s" which is not allowed.'),
                 })
 
+    @classmethod
+    def validate(cls, products):
+        super(Product, cls).validate(products)
+        for product in products:
+            product.check_bom_recursion()
+
     def check_bom_recursion(self, product=None):
         '''
         Check BOM recursion
@@ -36,11 +40,17 @@ class Product:
             product = self
         for product_bom in self.boms:
             for input_ in product_bom.bom.inputs:
-                if input_.product == product:
-                    return False
-                if not input_.product.check_bom_recursion(product=product):
-                    return False
-        return True
+                if (input_.product == product
+                        or input_.product.check_bom_recursion(product=product)):
+                    self.raise_user_error('recursive_bom', (product.rec_name,))
+
+    @classmethod
+    def copy(cls, products, default=None):
+        if default is None:
+            default = {}
+        default = default.copy()
+        default.setdefault('boms', None)
+        return super(Product, cls).copy(products, default=default)
 
 
 class ProductBom(ModelSQL, ModelView):
diff --git a/product.xml b/product.xml
index 203a4c8..1c37b36 100644
--- a/product.xml
+++ b/product.xml
@@ -6,62 +6,25 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.ui.view" id="product-bom_view_list">
             <field name="model">product.product-production.bom</field>
             <field name="type">tree</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <tree string="Product - BOMs">
-                    <field name="product"/>
-                    <field name="bom"/>
-                </tree>
-                ]]>
-            </field>
+            <field name="name">product_bom_list</field>
         </record>
 
         <record model="ir.ui.view" id="product-bom_view_list_sequence">
             <field name="model">product.product-production.bom</field>
             <field name="type">tree</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <tree string="Product - BOMs" sequence="sequence">
-                    <field name="bom"/>
-                    <field name="sequence" tree_invisible="1"/>
-                </tree>
-                ]]>
-            </field>
+            <field name="name">product_bom_list_sequence</field>
         </record>
 
         <record model="ir.ui.view" id="product-bom_view_form">
             <field name="model">product.product-production.bom</field>
             <field name="type">form</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <form string="Product - BOM" col="6">
-                    <label name="product"/>
-                    <field name="product"/>
-                    <label name="bom"/>
-                    <field name="bom" widget="selection"/>
-                    <label name="sequence"/>
-                    <field name="sequence"/>
-                </form>
-                ]]>
-            </field>
+            <field name="name">product_bom_form</field>
         </record>
 
         <record model="ir.ui.view" id="product_view_form">
             <field name="model">product.product</field>
             <field name="inherit" ref="product.product_view_form"/>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <data>
-                    <xpath expr="/form/notebook/page[@id="general"]"
-                        position="after">
-                        <page name="boms">
-                            <field name="boms" colspan="4"
-                                view_ids="production.product-bom_view_list_sequence"/>
-                        </page>
-                    </xpath>
-                </data>
-                ]]>
-            </field>
+            <field name="name">product_form</field>
         </record>
     </data>
 </tryton>
diff --git a/production.py b/production.py
index fa1e3a9..6638001 100644
--- a/production.py
+++ b/production.py
@@ -133,11 +133,9 @@ class Production(Workflow, ModelSQL, ModelView):
     @classmethod
     def __setup__(cls):
         super(Production, cls).__setup__()
-        cls._constraints += [
-            ('check_cost', 'missing_cost'),
-            ]
         cls._error_messages.update({
-                'missing_cost': 'It misses some cost on the outputs!',
+                'missing_cost': ('Production "%s" misses costs on '
+                    'some of its outputs.'),
                 })
         cls._transitions |= set((
                 ('request', 'draft'),
@@ -436,28 +434,35 @@ class Production(Workflow, ModelSQL, ModelView):
                 move.save()
         self._set_move_planned_date()
 
+    @classmethod
+    def validate(cls, productions):
+        super(Production, cls).validate(productions)
+        for production in productions:
+            production.check_cost()
+
     def check_cost(self):
         if self.state != 'done':
-            return True
+            return
         cost_price = Decimal(0)
         for output in self.outputs:
             cost_price += (Decimal(str(output.quantity))
                 * output.unit_price)
         if not self.company.currency.is_zero(self.cost - cost_price):
-            return False
-        return True
+            self.raise_user_error('missing_cost', (self.rec_name,))
 
     @classmethod
-    def create(cls, values):
+    def create(cls, vlist):
         Sequence = Pool().get('ir.sequence')
         Config = Pool().get('production.configuration')
 
-        values = values.copy()
+        vlist = [x.copy() for x in vlist]
         config = Config(1)
-        values['code'] = Sequence.get_id(config.production_sequence.id)
-        production = super(Production, cls).create(values)
-        production._set_move_planned_date()
-        return production
+        for values in vlist:
+            values['code'] = Sequence.get_id(config.production_sequence.id)
+        productions = super(Production, cls).create(vlist)
+        for production in productions:
+            production._set_move_planned_date()
+        return productions
 
     @classmethod
     def write(cls, productions, values):
@@ -490,11 +495,8 @@ class Production(Workflow, ModelSQL, ModelView):
     def cancel(cls, productions):
         pool = Pool()
         Move = pool.get('stock.move')
-        Move.write([m for p in productions
-                for m in p.inputs + p.outputs
-                if m.state != 'cancel'], {
-                'state': 'cancel',
-                })
+        Move.cancel([m for p in productions
+                for m in p.inputs + p.outputs])
 
     @classmethod
     @ModelView.button
@@ -502,11 +504,8 @@ class Production(Workflow, ModelSQL, ModelView):
     def draft(cls, productions):
         pool = Pool()
         Move = pool.get('stock.move')
-        Move.write([m for p in productions
-                for m in p.inputs + p.outputs
-                if m.state != 'draft'], {
-                'state': 'draft',
-                })
+        Move.draft([m for p in productions
+                for m in p.inputs + p.outputs])
 
     @classmethod
     @ModelView.button
@@ -514,11 +513,8 @@ class Production(Workflow, ModelSQL, ModelView):
     def wait(cls, productions):
         pool = Pool()
         Move = pool.get('stock.move')
-        Move.write([m for p in productions
-                for m in p.inputs + p.outputs
-                if m.state not in ('draft', 'done')], {
-                'state': 'draft',
-                })
+        Move.draft([m for p in productions
+                for m in p.inputs + p.outputs])
 
     @classmethod
     @Workflow.transition('assigned')
@@ -531,11 +527,7 @@ class Production(Workflow, ModelSQL, ModelView):
     def run(cls, productions):
         pool = Pool()
         Move = pool.get('stock.move')
-        Move.write([m for p in productions
-                for m in p.inputs
-                if m.state not in ('done', 'cancel')], {
-                'state': 'done',
-                })
+        Move.do([m for p in productions for m in p.inputs])
 
     @classmethod
     @ModelView.button
@@ -544,11 +536,7 @@ class Production(Workflow, ModelSQL, ModelView):
         pool = Pool()
         Move = pool.get('stock.move')
         Date = pool.get('ir.date')
-        Move.write([m for p in productions
-                for m in p.outputs
-                if m.state not in ('done', 'cancel')], {
-                'state': 'done',
-                })
+        Move.do([m for p in productions for m in p.outputs])
         cls.write(productions, {
                 'effective_date': Date.today(),
                 })
@@ -575,10 +563,7 @@ class Production(Workflow, ModelSQL, ModelView):
     def assign_force(cls, productions):
         pool = Pool()
         Move = pool.get('stock.move')
-        Move.write([m for p in productions for m in p.inputs
-                if m.state != 'done'], {
-                'state': 'assigned',
-                })
+        Move.assign([m for p in productions for m in p.inputs])
         cls.assign(productions)
 
 
diff --git a/production.xml b/production.xml
index fd07b38..e59b88f 100644
--- a/production.xml
+++ b/production.xml
@@ -56,85 +56,19 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.ui.view" id="production_view_list">
             <field name="model">production</field>
             <field name="type">tree</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <tree string="Productions">
-                    <field name="product"/>
-                    <field name="code"/>
-                    <field name="reference"/>
-                    <field name="planned_date"/>
-                    <field name="effective_date"/>
-                    <field name="state"/>
-                    <field name="create_date" tree_invisible="1"/>
-                </tree>
-                ]]>
-            </field>
+            <field name="name">production_list</field>
         </record>
 
         <record model="ir.ui.view" id="production_view_form">
             <field name="model">production</field>
             <field name="type">form</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <form string="Production">
-                    <label name="reference"/>
-                    <field name="reference"/>
-                    <label name="code"/>
-                    <field name="code"/>
-                    <label name="planned_date"/>
-                    <field name="planned_date"/>
-                    <label name="effective_date"/>
-                    <field name="effective_date"/>
-                    <label name="product"/>
-                    <field name="product"/>
-                    <label name="bom"/>
-                    <field name="bom"/>
-                    <label name="quantity"/>
-                    <field name="quantity"/>
-                    <label name="uom"/>
-                    <field name="uom"/>
-                    <notebook>
-                        <page string="Lines" id="lines">
-                            <field name="inputs" colspan="2"/>
-                            <field name="outputs" colspan="2"/>
-                        </page>
-                        <page string="Other Info" id="other">
-                            <label name="company"/>
-                            <field name="company"/>
-                            <newline/>
-                            <label name="warehouse"/>
-                            <field name="warehouse"/>
-                            <label name="location"/>
-                            <field name="location"/>
-                            <label name="cost"/>
-                            <field name="cost"/>
-                        </page>
-                    </notebook>
-                    <group col="4" colspan="4" id="state_buttons">
-                        <label name="state"/>
-                        <field name="state"/>
-                        <group col="6" colspan="2" id="buttons">
-                            <button name="cancel" string="Cancel"
-                                icon="tryton-cancel"/>
-                            <button name="draft" string="Draft"/>
-                            <button name="wait" string="Wait"/>
-                            <button name="assign_wizard" string="Assign"
-                                icon="tryton-go-next"/>
-                            <button name="run" string="Run"
-                                icon="tryton-go-next"/>
-                            <button name="done" string="Done"
-                                icon="tryton-go-next"/>
-                        </group>
-                    </group>
-                </form>
-                ]]>
-            </field>
+            <field name="name">production_form</field>
         </record>
 
         <record model="ir.action.act_window" id="act_production_list">
             <field name="name">Productions</field>
             <field name="res_model">production</field>
-            <field name="search_value">[('create_date', '>=', DateTime(hour=0, minute=0, second=0, microsecond=0, delta_years=-1))]</field>
+            <field name="search_value"></field>
         </record>
         <record model="ir.action.act_window.view"
             id="act_production_list_view1">
@@ -148,108 +82,50 @@ this repository contains the full copyright notices and license terms. -->
             <field name="view" ref="production_view_form"/>
             <field name="act_window" ref="act_production_list"/>
         </record>
-        <menuitem parent="menu_production" sequence="10"
-            action="act_production_list" id="menu_production_list"/>
-
-        <record model="ir.action.act_window" id="act_production_request">
-            <field name="name">Request Productions</field>
-            <field name="res_model">production</field>
-            <field name="search_value">[('state', '=', 'request')]</field>
-        </record>
-        <record model="ir.action.act_window.view"
-            id="act_production_request_view1">
+        <record model="ir.action.act_window.domain"
+            id="act_production_list_domain_requests">
+            <field name="name">Requests</field>
             <field name="sequence" eval="10"/>
-            <field name="view" ref="production_view_list"/>
-            <field name="act_window" ref="act_production_request"/>
-        </record>
-        <record model="ir.action.act_window.view"
-            id="act_production_request_view2">
-            <field name="sequence" eval="20"/>
-            <field name="view" ref="production_view_form"/>
-            <field name="act_window" ref="act_production_request"/>
-        </record>
-        <menuitem parent="menu_production_list" sequence="10"
-            action="act_production_request" id="menu_production_request"/>
-
-        <record model="ir.action.act_window" id="act_production_draft">
-            <field name="name">Draft Productions</field>
-            <field name="res_model">production</field>
-            <field name="search_value">[('state', '=', 'draft')]</field>
-        </record>
-        <record model="ir.action.act_window.view"
-            id="act_production_draft_view1">
-            <field name="sequence" eval="10"/>
-            <field name="view" ref="production_view_list"/>
-            <field name="act_window" ref="act_production_draft"/>
-        </record>
-        <record model="ir.action.act_window.view"
-            id="act_production_draft_view2">
-            <field name="sequence" eval="20"/>
-            <field name="view" ref="production_view_form"/>
-            <field name="act_window" ref="act_production_draft"/>
-        </record>
-        <menuitem parent="menu_production_list" sequence="20"
-            action="act_production_draft" id="menu_production_draft"/>
-
-        <record model="ir.action.act_window" id="act_production_waiting">
-            <field name="name">Waiting Productions</field>
-            <field name="res_model">production</field>
-            <field name="search_value">[('state', '=', 'waiting')]</field>
-        </record>
-        <record model="ir.action.act_window.view"
-            id="act_production_waiting_view1">
-            <field name="sequence" eval="10"/>
-            <field name="view" ref="production_view_list"/>
-            <field name="act_window" ref="act_production_waiting"/>
+            <field name="domain">[('state', '=', 'request')]</field>
+            <field name="act_window" ref="act_production_list"/>
         </record>
-        <record model="ir.action.act_window.view"
-            id="act_production_waiting_view2">
+        <record model="ir.action.act_window.domain"
+            id="act_production_list_domain_draft">
+            <field name="name">Draft</field>
             <field name="sequence" eval="20"/>
-            <field name="view" ref="production_view_form"/>
-            <field name="act_window" ref="act_production_waiting"/>
-        </record>
-        <menuitem parent="menu_production_list" sequence="30"
-            action="act_production_waiting" id="menu_production_waiting"/>
-
-        <record model="ir.action.act_window" id="act_production_assigned">
-            <field name="name">Assigned Productions</field>
-            <field name="res_model">production</field>
-            <field name="search_value">[('state', '=', 'assigned')]</field>
-        </record>
-        <record model="ir.action.act_window.view"
-            id="act_production_assigned_view1">
-            <field name="sequence" eval="10"/>
-            <field name="view" ref="production_view_list"/>
-            <field name="act_window" ref="act_production_assigned"/>
+            <field name="domain">[('state', '=', 'draft')]</field>
+            <field name="act_window" ref="act_production_list"/>
         </record>
-        <record model="ir.action.act_window.view"
-            id="act_production_assigned_view2">
-            <field name="sequence" eval="20"/>
-            <field name="view" ref="production_view_form"/>
-            <field name="act_window" ref="act_production_assigned"/>
+        <record model="ir.action.act_window.domain"
+            id="act_production_list_domain_waiting">
+            <field name="name">Waiting</field>
+            <field name="sequence" eval="30"/>
+            <field name="domain">[('state', '=', 'waiting')]</field>
+            <field name="act_window" ref="act_production_list"/>
         </record>
-        <menuitem parent="menu_production_list" sequence="40"
-            action="act_production_assigned" id="menu_production_assigned"/>
-
-        <record model="ir.action.act_window" id="act_production_running">
-            <field name="name">Running Productions</field>
-            <field name="res_model">production</field>
-            <field name="search_value">[('state', '=', 'running')]</field>
+        <record model="ir.action.act_window.domain"
+            id="act_production_list_domain_assigned">
+            <field name="name">Assigned</field>
+            <field name="sequence" eval="30"/>
+            <field name="domain">[('state', '=', 'assigned')]</field>
+            <field name="act_window" ref="act_production_list"/>
         </record>
-        <record model="ir.action.act_window.view"
-            id="act_production_running_view1">
-            <field name="sequence" eval="10"/>
-            <field name="view" ref="production_view_list"/>
-            <field name="act_window" ref="act_production_running"/>
+        <record model="ir.action.act_window.domain"
+            id="act_production_list_domain_running">
+            <field name="name">Running</field>
+            <field name="sequence" eval="30"/>
+            <field name="domain">[('state', '=', 'running')]</field>
+            <field name="act_window" ref="act_production_list"/>
         </record>
-        <record model="ir.action.act_window.view"
-            id="act_production_running_view2">
-            <field name="sequence" eval="20"/>
-            <field name="view" ref="production_view_form"/>
-            <field name="act_window" ref="act_production_running"/>
+        <record model="ir.action.act_window.domain"
+            id="act_production_list_domain_all">
+            <field name="name">All</field>
+            <field name="sequence" eval="9999"/>
+            <field name="domain"></field>
+            <field name="act_window" ref="act_production_list"/>
         </record>
-        <menuitem parent="menu_production_list" sequence="50"
-            action="act_production_running" id="menu_production_running"/>
+        <menuitem parent="menu_production" sequence="10"
+            action="act_production_list" id="menu_production_list"/>
 
         <record model="ir.sequence.type" id="sequence_type_production">
             <field name="name">Production</field>
@@ -292,9 +168,7 @@ this repository contains the full copyright notices and license terms. -->
             <field name="global_p" eval="True"/>
         </record>
         <record model="ir.rule" id="rule_production">
-            <field name="field" search="[('name', '=', 'company'), ('model.model', '=', 'production')]"/>
-            <field name="operator">=</field>
-            <field name="operand">User/Current Company</field>
+            <field name="domain">[('company', '=', user.company.id if user.company else None)]</field>
             <field name="rule_group" ref="rule_group_production"/>
         </record>
 
@@ -378,17 +252,7 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.ui.view" id="assign_failed_view_form">
             <field name="model">production.assign.failed</field>
             <field name="type">form</field>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <form string="Unable to Assign" col="2">
-                    <image name="tryton-dialog-warning" xexpand="0" xfill="0"/>
-                    <separator string="Unable to assign those products:"
-                        id="unable"/>
-                    <field name="moves" colspan="2"
-                        view_ids="stock.move_view_tree_simple"/>
-                </form>
-                ]]>
-            </field>
+            <field name="name">assign_failed_form</field>
         </record>
 
     </data>
diff --git a/setup.py b/setup.py
index b08b82c..016c0c7 100644
--- a/setup.py
+++ b/setup.py
@@ -25,10 +25,10 @@ requires = []
 for dep in info.get('depends', []):
     if not re.match(r'(ir|res|webdav)(\W|$)', dep):
         requires.append('trytond_%s >= %s.%s, < %s.%s' %
-                (dep, major_version, minor_version, major_version,
-                    minor_version + 1))
+            (dep, major_version, minor_version, major_version,
+                minor_version + 1))
 requires.append('trytond >= %s.%s, < %s.%s' %
-        (major_version, minor_version, major_version, minor_version + 1))
+    (major_version, minor_version, major_version, minor_version + 1))
 
 setup(name='trytond_production',
     version=info.get('version', '0.0.1'),
@@ -36,16 +36,16 @@ setup(name='trytond_production',
     long_description=read('README'),
     author='Tryton',
     url='http://www.tryton.org/',
-    download_url="http://downloads.tryton.org/" + \
-        info.get('version', '0.0.1').rsplit('.', 1)[0] + '/',
+    download_url=("http://downloads.tryton.org/" +
+        info.get('version', '0.0.1').rsplit('.', 1)[0] + '/'),
     package_dir={'trytond.modules.production': '.'},
     packages=[
         'trytond.modules.production',
         'trytond.modules.production.tests',
         ],
     package_data={
-        'trytond.modules.production': info.get('xml', []) \
-            + ['tryton.cfg', 'locale/*.po', 'tests/*.rst'],
+        'trytond.modules.production': (info.get('xml', [])
+            + ['tryton.cfg', 'view/*.xml', 'locale/*.po', 'tests/*.rst']),
         },
     classifiers=[
         'Development Status :: 5 - Production/Stable',
@@ -57,6 +57,7 @@ setup(name='trytond_production',
         'Intended Audience :: Manufacturing',
         'License :: OSI Approved :: GNU General Public License (GPL)',
         'Natural Language :: Bulgarian',
+        'Natural Language :: Catalan',
         'Natural Language :: Czech',
         'Natural Language :: Dutch',
         'Natural Language :: English',
diff --git a/stock.xml b/stock.xml
index 5b66c33..2f1c9a8 100644
--- a/stock.xml
+++ b/stock.xml
@@ -7,18 +7,7 @@ this repository contains the full copyright notices and license terms. -->
         <record model="ir.ui.view" id="location_view_form">
             <field name="model">stock.location</field>
             <field name="inherit" ref="stock.location_view_form"/>
-            <field name="arch" type="xml">
-                <![CDATA[
-                <data>
-                    <xpath expr="/form/field[@name='storage_location']"
-                        position="after">
-                        <newline/>
-                        <label name="production_location"/>
-                        <field name="production_location"/>
-                    </xpath>
-                </data>
-                ]]>
-            </field>
+            <field name="name">location_form</field>
         </record>
 
         <record model="ir.model.access" id="access_move_group_production">
diff --git a/tests/scenario_production.rst b/tests/scenario_production.rst
index 8e107b3..d91f191 100644
--- a/tests/scenario_production.rst
+++ b/tests/scenario_production.rst
@@ -31,10 +31,13 @@ Create company::
     >>> Currency = Model.get('currency.currency')
     >>> CurrencyRate = Model.get('currency.currency.rate')
     >>> Company = Model.get('company.company')
+    >>> Party = Model.get('party.party')
     >>> company_config = Wizard('company.company.config')
     >>> company_config.execute('company')
     >>> company = company_config.form
-    >>> company.name = 'Dunder Mifflin'
+    >>> party = Party(name='Dunder Mifflin')
+    >>> party.save()
+    >>> company.party = party
     >>> currencies = Currency.find([('code', '=', 'USD')])
     >>> if not currencies:
     ...     currency = Currency(name='Euro', symbol=u'$', code='USD',
@@ -66,33 +69,43 @@ Create product::
 
     >>> ProductUom = Model.get('product.uom')
     >>> unit, = ProductUom.find([('name', '=', 'Unit')])
+    >>> ProductTemplate = Model.get('product.template')
     >>> Product = Model.get('product.product')
     >>> product = Product()
-    >>> product.name = 'product'
-    >>> product.default_uom = unit
-    >>> product.type = 'goods'
-    >>> product.list_price = Decimal(30)
-    >>> product.cost_price = Decimal(20)
+    >>> template = ProductTemplate()
+    >>> template.name = 'product'
+    >>> template.default_uom = unit
+    >>> template.type = 'goods'
+    >>> template.list_price = Decimal(30)
+    >>> template.cost_price = Decimal(20)
+    >>> template.save()
+    >>> product.template = template
     >>> product.save()
 
 Create Components::
 
     >>> component1 = Product()
-    >>> component1.name = 'component 1'
-    >>> component1.default_uom = unit
-    >>> component1.type = 'goods'
-    >>> component1.list_price = Decimal(5)
-    >>> component1.cost_price = Decimal(1)
+    >>> template1 = ProductTemplate()
+    >>> template1.name = 'component 1'
+    >>> template1.default_uom = unit
+    >>> template1.type = 'goods'
+    >>> template1.list_price = Decimal(5)
+    >>> template1.cost_price = Decimal(1)
+    >>> template1.save()
+    >>> component1.template = template1
     >>> component1.save()
 
     >>> meter, = ProductUom.find([('name', '=', 'Meter')])
     >>> centimeter, = ProductUom.find([('name', '=', 'centimeter')])
     >>> component2 = Product()
-    >>> component2.name = 'component 2'
-    >>> component2.default_uom = meter
-    >>> component2.type = 'goods'
-    >>> component2.list_price = Decimal(7)
-    >>> component2.cost_price = Decimal(5)
+    >>> template2 = ProductTemplate()
+    >>> template2.name = 'component 2'
+    >>> template2.default_uom = meter
+    >>> template2.type = 'goods'
+    >>> template2.list_price = Decimal(7)
+    >>> template2.cost_price = Decimal(5)
+    >>> template2.save()
+    >>> component2.template = template2
     >>> component2.save()
 
 Create Bill of Material::
diff --git a/tryton.cfg b/tryton.cfg
index 4711628..6826eb5 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=2.6.1
+version=2.8.0
 depends:
     company
     ir
diff --git a/trytond_production.egg-info/PKG-INFO b/trytond_production.egg-info/PKG-INFO
index 53e32e5..53d8341 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: 2.6.1
+Version: 2.8.0
 Summary: Tryton module for production
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: UNKNOWN
 License: GPL-3
-Download-URL: http://downloads.tryton.org/2.6/
+Download-URL: http://downloads.tryton.org/2.8/
 Description: trytond_production
         ==================
         
@@ -53,6 +53,7 @@ Classifier: Intended Audience :: Legal Industry
 Classifier: Intended Audience :: Manufacturing
 Classifier: License :: OSI Approved :: GNU General Public License (GPL)
 Classifier: Natural Language :: Bulgarian
+Classifier: Natural Language :: Catalan
 Classifier: Natural Language :: Czech
 Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
diff --git a/trytond_production.egg-info/SOURCES.txt b/trytond_production.egg-info/SOURCES.txt
index fee7965..387e5a8 100644
--- a/trytond_production.egg-info/SOURCES.txt
+++ b/trytond_production.egg-info/SOURCES.txt
@@ -37,4 +37,22 @@ trytond_production.egg-info/dependency_links.txt
 trytond_production.egg-info/entry_points.txt
 trytond_production.egg-info/not-zip-safe
 trytond_production.egg-info/requires.txt
-trytond_production.egg-info/top_level.txt
\ No newline at end of file
+trytond_production.egg-info/top_level.txt
+view/assign_failed_form.xml
+view/bom_form.xml
+view/bom_input_form.xml
+view/bom_input_list.xml
+view/bom_list.xml
+view/bom_output_form.xml
+view/bom_output_list.xml
+view/bom_tree_open_start_form.xml
+view/bom_tree_open_tree_form.xml
+view/bom_tree_tree.xml
+view/configuration_form.xml
+view/location_form.xml
+view/product_bom_form.xml
+view/product_bom_list.xml
+view/product_bom_list_sequence.xml
+view/product_form.xml
+view/production_form.xml
+view/production_list.xml
\ No newline at end of file
diff --git a/trytond_production.egg-info/requires.txt b/trytond_production.egg-info/requires.txt
index 20777e7..668770d 100644
--- a/trytond_production.egg-info/requires.txt
+++ b/trytond_production.egg-info/requires.txt
@@ -1,4 +1,4 @@
-trytond_company >= 2.6, < 2.7
-trytond_product >= 2.6, < 2.7
-trytond_stock >= 2.6, < 2.7
-trytond >= 2.6, < 2.7
\ No newline at end of file
+trytond_company >= 2.8, < 2.9
+trytond_product >= 2.8, < 2.9
+trytond_stock >= 2.8, < 2.9
+trytond >= 2.8, < 2.9
\ No newline at end of file
diff --git a/view/assign_failed_form.xml b/view/assign_failed_form.xml
new file mode 100644
index 0000000..227b354
--- /dev/null
+++ b/view/assign_failed_form.xml
@@ -0,0 +1,10 @@
+<?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="Unable to Assign" col="2">
+    <image name="tryton-dialog-warning" xexpand="0" xfill="0"/>
+    <separator string="Unable to assign those products:"
+        id="unable"/>
+    <field name="moves" colspan="2"
+        view_ids="stock.move_view_tree_simple"/>
+</form>
diff --git a/view/bom_form.xml b/view/bom_form.xml
new file mode 100644
index 0000000..e13af0d
--- /dev/null
+++ b/view/bom_form.xml
@@ -0,0 +1,15 @@
+<?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="BOM">
+    <label name="name"/>
+    <field name="name"/>
+    <label name="active"/>
+    <field name="active"/>
+    <notebook>
+        <page string="Lines" id="lines" col="2">
+            <field name="inputs"/>
+            <field name="outputs"/>
+        </page>
+    </notebook>
+</form>
diff --git a/view/bom_input_form.xml b/view/bom_input_form.xml
new file mode 100644
index 0000000..69d9052
--- /dev/null
+++ b/view/bom_input_form.xml
@@ -0,0 +1,15 @@
+<?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="BOM Inputs">
+    <label name="bom"/>
+    <field name="bom"/>
+    <newline/>
+    <label name="product"/>
+    <field name="product"/>
+    <newline/>
+    <label name="quantity"/>
+    <field name="quantity"/>
+    <label name="uom"/>
+    <field name="uom"/>
+</form>
diff --git a/view/bom_input_list.xml b/view/bom_input_list.xml
new file mode 100644
index 0000000..393b793
--- /dev/null
+++ b/view/bom_input_list.xml
@@ -0,0 +1,9 @@
+<?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. -->
+<tree string="BOM Inputs">
+    <field name="bom"/>
+    <field name="product"/>
+    <field name="quantity"/>
+    <field name="uom"/>
+</tree>
diff --git a/view/bom_list.xml b/view/bom_list.xml
new file mode 100644
index 0000000..d0661b6
--- /dev/null
+++ b/view/bom_list.xml
@@ -0,0 +1,7 @@
+<?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. -->
+<tree string="BOMs">
+    <field name="name"/>
+    <field name="active"/>
+</tree>
diff --git a/view/bom_output_form.xml b/view/bom_output_form.xml
new file mode 100644
index 0000000..fbe8df4
--- /dev/null
+++ b/view/bom_output_form.xml
@@ -0,0 +1,15 @@
+<?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="BOM Outputs">
+    <label name="bom"/>
+    <field name="bom"/>
+    <newline/>
+    <label name="product"/>
+    <field name="product"/>
+    <newline/>
+    <label name="quantity"/>
+    <field name="quantity"/>
+    <label name="uom"/>
+    <field name="uom"/>
+</form>
diff --git a/view/bom_output_list.xml b/view/bom_output_list.xml
new file mode 100644
index 0000000..f364302
--- /dev/null
+++ b/view/bom_output_list.xml
@@ -0,0 +1,9 @@
+<?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. -->
+<tree string="BOM Outputs">
+    <field name="bom"/>
+    <field name="product"/>
+    <field name="quantity"/>
+    <field name="uom"/>
+</tree>
diff --git a/view/bom_tree_open_start_form.xml b/view/bom_tree_open_start_form.xml
new file mode 100644
index 0000000..abee32c
--- /dev/null
+++ b/view/bom_tree_open_start_form.xml
@@ -0,0 +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="BOM Tree">
+    <label name="bom"/>
+    <field name="bom"/>
+    <newline/>
+    <label name="quantity"/>
+    <field name="quantity"/>
+    <label name="uom"/>
+    <field name="uom"/>
+</form>
diff --git a/view/bom_tree_open_tree_form.xml b/view/bom_tree_open_tree_form.xml
new file mode 100644
index 0000000..cf48143
--- /dev/null
+++ b/view/bom_tree_open_tree_form.xml
@@ -0,0 +1,6 @@
+<?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="BOM Tree">
+    <field name="bom_tree"/>
+</form>
diff --git a/view/bom_tree_tree.xml b/view/bom_tree_tree.xml
new file mode 100644
index 0000000..4bbd3fa
--- /dev/null
+++ b/view/bom_tree_tree.xml
@@ -0,0 +1,9 @@
+<?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. -->
+<tree string="BOM Tree">
+    <field name="product"/>
+    <field name="quantity"/>
+    <field name="uom"/>
+    <field name="childs" tree_invisible="1"/>
+</tree>
diff --git a/view/configuration_form.xml b/view/configuration_form.xml
new file mode 100644
index 0000000..012f66e
--- /dev/null
+++ b/view/configuration_form.xml
@@ -0,0 +1,7 @@
+<?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 Configuration">
+    <label name="production_sequence"/>
+    <field name="production_sequence"/>
+</form>
diff --git a/view/location_form.xml b/view/location_form.xml
new file mode 100644
index 0000000..2cb4876
--- /dev/null
+++ b/view/location_form.xml
@@ -0,0 +1,10 @@
+<?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. -->
+<data>
+    <xpath expr="/form/field[@name='storage_location']" position="after">
+        <newline/>
+        <label name="production_location"/>
+        <field name="production_location"/>
+    </xpath>
+</data>
diff --git a/view/product_bom_form.xml b/view/product_bom_form.xml
new file mode 100644
index 0000000..5a81be4
--- /dev/null
+++ b/view/product_bom_form.xml
@@ -0,0 +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="Product - BOM" col="6">
+    <label name="product"/>
+    <field name="product"/>
+    <label name="bom"/>
+    <field name="bom" widget="selection"/>
+    <label name="sequence"/>
+    <field name="sequence"/>
+</form>
diff --git a/view/product_bom_list.xml b/view/product_bom_list.xml
new file mode 100644
index 0000000..0d0dac0
--- /dev/null
+++ b/view/product_bom_list.xml
@@ -0,0 +1,7 @@
+<?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. -->
+<tree string="Product - BOMs">
+    <field name="product"/>
+    <field name="bom"/>
+</tree>
diff --git a/view/product_bom_list_sequence.xml b/view/product_bom_list_sequence.xml
new file mode 100644
index 0000000..d2605d7
--- /dev/null
+++ b/view/product_bom_list_sequence.xml
@@ -0,0 +1,7 @@
+<?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. -->
+<tree string="Product - BOMs" sequence="sequence">
+    <field name="bom"/>
+    <field name="sequence" tree_invisible="1"/>
+</tree>
diff --git a/view/product_form.xml b/view/product_form.xml
new file mode 100644
index 0000000..1e4a697
--- /dev/null
+++ b/view/product_form.xml
@@ -0,0 +1,9 @@
+<?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. -->
+<data>
+    <xpath expr="/form/field[@name='description']" position="after">
+        <field name="boms" colspan="6"
+            view_ids="production.product-bom_view_list_sequence"/>
+    </xpath>
+</data>
diff --git a/view/production_form.xml b/view/production_form.xml
new file mode 100644
index 0000000..e80999b
--- /dev/null
+++ b/view/production_form.xml
@@ -0,0 +1,54 @@
+<?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">
+    <label name="reference"/>
+    <field name="reference"/>
+    <label name="code"/>
+    <field name="code"/>
+    <label name="planned_date"/>
+    <field name="planned_date"/>
+    <label name="effective_date"/>
+    <field name="effective_date"/>
+    <label name="product"/>
+    <field name="product"/>
+    <label name="bom"/>
+    <field name="bom"/>
+    <label name="quantity"/>
+    <field name="quantity"/>
+    <label name="uom"/>
+    <field name="uom"/>
+    <notebook>
+        <page string="Lines" id="lines">
+            <field name="inputs" colspan="2"/>
+            <field name="outputs" colspan="2"/>
+        </page>
+        <page string="Other Info" id="other">
+            <label name="company"/>
+            <field name="company"/>
+            <newline/>
+            <label name="warehouse"/>
+            <field name="warehouse"/>
+            <label name="location"/>
+            <field name="location"/>
+            <label name="cost"/>
+            <field name="cost"/>
+        </page>
+    </notebook>
+    <group col="4" colspan="4" id="state_buttons">
+        <label name="state"/>
+        <field name="state"/>
+        <group col="6" colspan="2" id="buttons">
+            <button name="cancel" string="Cancel"
+                icon="tryton-cancel"/>
+            <button name="draft" string="Draft"/>
+            <button name="wait" string="Wait"/>
+            <button name="assign_wizard" string="Assign"
+                icon="tryton-go-next"/>
+            <button name="run" string="Run"
+                icon="tryton-go-next"/>
+            <button name="done" string="Done"
+                icon="tryton-go-next"/>
+        </group>
+    </group>
+</form>
diff --git a/view/production_list.xml b/view/production_list.xml
new file mode 100644
index 0000000..8a0e4c6
--- /dev/null
+++ b/view/production_list.xml
@@ -0,0 +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. -->
+<tree string="Productions">
+    <field name="product"/>
+    <field name="code"/>
+    <field name="reference"/>
+    <field name="planned_date"/>
+    <field name="effective_date"/>
+    <field name="state"/>
+    <field name="create_date" tree_invisible="1"/>
+</tree>
commit b9073b67b22fece488948ef1bc19ea7534d26fd3
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Sat Apr 27 18:44:52 2013 +0200

    Releasing debian version 2.6.1-2.

diff --git a/debian/changelog b/debian/changelog
index 725f5a9..429df5c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+tryton-modules-production (2.6.1-2) experimental; urgency=low
+
+  * Improving update of major version in Depends.
+
+ -- Mathias Behrle <mathiasb at m9s.biz>  Sat, 27 Apr 2013 15:07:50 +0200
+
 tryton-modules-production (2.6.1-1) experimental; urgency=low
 
   * Initial packaging.
commit 1663bc0599062032b23b6d87f4bccc21faa4c587
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Sat Apr 27 14:54:48 2013 +0200

    Improving update of major version in Depends.
    
    Pulling the major version for Depends directly from the package version.
    Thanks to Ilya Melnikov for pushing the idea.

diff --git a/debian/control b/debian/control
index 7743157..00f7989 100644
--- a/debian/control
+++ b/debian/control
@@ -13,9 +13,10 @@ X-Python-Version: >= 2.6
 Package: tryton-modules-production
 Architecture: all
 Depends:
- ${misc:Depends}, ${python:Depends}, tryton-server (>= 2.6),
- tryton-modules-company (>= 2.6), tryton-modules-product (>= 2.6),
- tryton-modules-stock (>= 2.6), python-pkg-resources
+ ${misc:Depends}, ${python:Depends}, tryton-server (>= ${version:major}),
+ tryton-modules-company (>= ${version:major}),
+ tryton-modules-product (>= ${version:major}),
+ tryton-modules-stock (>= ${version:major}), python-pkg-resources
 Description: Tryton Application Platform (Production Module)
  Tryton is a high-level general purpose application platform written in Python
  and using PostgreSQL as database engine. It is the core base of a complete
diff --git a/debian/rules b/debian/rules
index 1ae0776..0f63ab4 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,5 +1,7 @@
 #!/usr/bin/make -f
 
+MAJOR := $(shell python setup.py --version | awk -F "." '{print $$1 "." $$2}')
+
 %:
 	dh ${@} --with python2
 
@@ -8,5 +10,8 @@ override_dh_auto_clean:
 
 	rm -rf *.egg-info
 
+override_dh_gencontrol:
+	dh_gencontrol -- -Vversion:major="$(MAJOR)"
+
 override_dh_builddeb:
 	dh_builddeb -- -Zxz -z9
commit ad08888dafcb6f0ad0a459a62fc7fa7d86a606d4
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Tue Apr 23 15:10:05 2013 +0200

    Adding debian version 2.6.1-1.

diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..725f5a9
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+tryton-modules-production (2.6.1-1) experimental; urgency=low
+
+  * Initial packaging.
+
+ -- Mathias Behrle <mathiasb at m9s.biz>  Tue, 23 Apr 2013 13:53:19 +0200
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..7743157
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,27 @@
+Source: tryton-modules-production
+Section: python
+Priority: optional
+Maintainer: Debian Tryton Maintainers <maintainers at debian.tryton.org>
+Uploaders: Mathias Behrle <mathiasb at m9s.biz>
+Build-Depends: debhelper (>= 9), python (>= 2.6.6-3~), python-setuptools
+Standards-Version: 3.9.4
+Homepage: http://www.tryton.org/
+Vcs-Browser: http://debian.tryton.org/gitweb/?p=packages/tryton-modules-production.git
+Vcs-Git: git://debian.tryton.org/packages/tryton-modules-production.git
+X-Python-Version: >= 2.6
+
+Package: tryton-modules-production
+Architecture: all
+Depends:
+ ${misc:Depends}, ${python:Depends}, tryton-server (>= 2.6),
+ tryton-modules-company (>= 2.6), tryton-modules-product (>= 2.6),
+ tryton-modules-stock (>= 2.6), python-pkg-resources
+Description: Tryton Application Platform (Production Module)
+ Tryton is a high-level general purpose application platform written in Python
+ and using PostgreSQL as database engine. It is the core base of a complete
+ business solution.
+ .
+ This package adds the basics for production management.
+ .
+  * Bill of material
+  * Production order
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..900682e
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,28 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+
+Files: *
+Copyright: 2012 Cédric Krier
+           2012 B2CK SPRL
+License: GPL-3+
+
+Files: debian/*
+Copyright: 2009-2012 Daniel Baumann <daniel at debian.org>
+           2012-2013 Mathias Behrle <mathiasb at m9s.biz>
+License: GPL-3+
+
+License: GPL-3+
+ 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
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ .
+ The complete text of the GNU General Public License
+ can be found in /usr/share/common-licenses/GPL-3 file.
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..1ae0776
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,12 @@
+#!/usr/bin/make -f
+
+%:
+	dh ${@} --with python2
+
+override_dh_auto_clean:
+	dh_auto_clean
+
+	rm -rf *.egg-info
+
+override_dh_builddeb:
+	dh_builddeb -- -Zxz -z9
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/options b/debian/source/options
new file mode 100644
index 0000000..22a4de9
--- /dev/null
+++ b/debian/source/options
@@ -0,0 +1,2 @@
+compression = xz
+compression-level = 9
diff --git a/debian/tryton-modules-production.docs b/debian/tryton-modules-production.docs
new file mode 100644
index 0000000..172a1f8
--- /dev/null
+++ b/debian/tryton-modules-production.docs
@@ -0,0 +1 @@
+doc/index.rst
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..279a050
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,2 @@
+version=3
+http://downloads.tryton.org/current/ .*trytond_production-(\d.*)\.(?:tgz|tbz2|txz|tar\.(?:gz|bz2|xz))
commit aee5aacf3c0fd255401d67cd69105f45fc6420c1
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Mon Apr 22 23:19:26 2013 +0200

    Merging upstream version 2.6.1.

diff --git a/CHANGELOG b/CHANGELOG
index 4ea9392..ea0e50a 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 2.6.1 - 2012-12-23
+* Bug fixes (see mercurial logs for details)
+
 Version 2.6.0 - 2012-10-22
 * Bug fixes (see mercurial logs for details)
 
diff --git a/PKG-INFO b/PKG-INFO
index f15bc56..53ed5d9 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
-Metadata-Version: 1.0
+Metadata-Version: 1.1
 Name: trytond_production
-Version: 2.6.0
+Version: 2.6.1
 Summary: Tryton module for production
 Home-page: http://www.tryton.org/
 Author: Tryton
diff --git a/production.py b/production.py
index 8cc125a..fa1e3a9 100644
--- a/production.py
+++ b/production.py
@@ -258,6 +258,7 @@ class Production(Workflow, ModelSQL, ModelView):
         pool = Pool()
         Uom = pool.get('product.uom')
         Template = pool.get('product.template')
+        Product = pool.get('product.product')
         if not (self.bom and self.product and self.uom):
             return {}
         inputs = {
@@ -292,6 +293,10 @@ class Production(Workflow, ModelSQL, ModelView):
                 changes['cost'] += (Decimal(str(quantity)) *
                     input_.product.cost_price)
 
+        if hasattr(Product, 'cost_price'):
+            digits = Product.cost_price.digits
+        else:
+            digits = Template.cost_price.digits
         for output in self.bom.outputs:
             quantity = output.compute_quantity(factor)
             values = self._explode_move_values(self.location, storage_location,
@@ -299,10 +304,9 @@ class Production(Workflow, ModelSQL, ModelView):
             if values:
                 values['unit_price'] = Decimal(0)
                 if output.product.id == values.get('product') and quantity:
-                    digits = Template.cost_price.digits[1]
                     values['unit_price'] = Decimal(
                         changes['cost'] / Decimal(str(quantity))
-                        ).quantize(Decimal(str(10 ** -digits)))
+                        ).quantize(Decimal(str(10 ** -digits[1])))
                 outputs['add'].append(values)
         return changes
 
@@ -328,7 +332,8 @@ class Production(Workflow, ModelSQL, ModelView):
             result['uom.rec_name'] = ''
             result['unit_digits'] = 2
 
-        self.uom = result['uom']
+        if 'uom' in result:
+            self.uom = result['uom']
         if 'bom' in result:
             self.bom = result['bom']
         result.update(self.explode_bom())
@@ -381,6 +386,10 @@ class Production(Workflow, ModelSQL, ModelView):
         return cost
 
     def set_moves(self):
+        pool = Pool()
+        Template = pool.get('product.template')
+        Product = pool.get('product.product')
+
         storage_location = self.warehouse.storage_location
         location = self.location
         company = self.company
@@ -393,6 +402,7 @@ class Production(Workflow, ModelSQL, ModelView):
                     move.production_output = self
                     move.unit_price = Decimal(0)
                     move.save()
+            self._set_move_planned_date()
             return
 
         factor = self.bom.compute_factor(self.product, self.quantity, self.uom)
@@ -407,6 +417,11 @@ class Production(Workflow, ModelSQL, ModelView):
                 move.save()
                 cost += Decimal(str(quantity)) * product.cost_price
 
+        if hasattr(Product, 'cost_price'):
+            digits = Product.cost_price.digits
+        else:
+            digits = Template.cost_price.digits
+
         for output in self.bom.outputs:
             quantity = output.compute_quantity(factor)
             product = output.product
@@ -415,7 +430,9 @@ class Production(Workflow, ModelSQL, ModelView):
             if move:
                 move.production_output = self
                 if product == self.product:
-                    move.unit_price = cost / Decimal(str(quantity))
+                    move.unit_price = Decimal(
+                        cost / Decimal(str(quantity))
+                        ).quantize(Decimal(str(10 ** -digits[1])))
                 move.save()
         self._set_move_planned_date()
 
diff --git a/tryton.cfg b/tryton.cfg
index 9dbbace..4711628 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=2.6.0
+version=2.6.1
 depends:
     company
     ir
diff --git a/trytond_production.egg-info/PKG-INFO b/trytond_production.egg-info/PKG-INFO
index a306da7..53e32e5 100644
--- a/trytond_production.egg-info/PKG-INFO
+++ b/trytond_production.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
-Metadata-Version: 1.0
+Metadata-Version: 1.1
 Name: trytond-production
-Version: 2.6.0
+Version: 2.6.1
 Summary: Tryton module for production
 Home-page: http://www.tryton.org/
 Author: Tryton
-- 
tryton-modules-production



More information about the tryton-debian-vcs mailing list