first commit
This commit is contained in:
2
modules/production_split/__init__.py
Normal file
2
modules/production_split/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
BIN
modules/production_split/__pycache__/__init__.cpython-311.pyc
Normal file
BIN
modules/production_split/__pycache__/__init__.cpython-311.pyc
Normal file
Binary file not shown.
BIN
modules/production_split/__pycache__/production.cpython-311.pyc
Normal file
BIN
modules/production_split/__pycache__/production.cpython-311.pyc
Normal file
Binary file not shown.
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M14 4l2.29 2.29-2.88 2.88 1.42 1.42 2.88-2.88L20 10V4zm-4 0H4v6l2.29-2.29 4.71 4.7V20h2v-8.41l-5.29-5.3z"/></svg>
|
||||
|
After Width: | Height: | Size: 242 B |
51
modules/production_split/locale/bg.po
Normal file
51
modules/production_split/locale/bg.po
Normal file
@@ -0,0 +1,51 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Количество"
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr "Категория мер. ед."
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Split Production"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Отказване"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
47
modules/production_split/locale/ca.po
Normal file
47
modules/production_split/locale/ca.po
Normal file
@@ -0,0 +1,47 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr "Comptador"
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Quantitat"
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Unitat"
|
||||
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr "Categoria de la UdM"
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr "El nombre de produccions límit"
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr "La categoria de la unitat de mesura."
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Divideix producció"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Divideix"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr "Inici dividir produccions"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel·la"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "Divideix"
|
||||
48
modules/production_split/locale/cs.po
Normal file
48
modules/production_split/locale/cs.po
Normal file
@@ -0,0 +1,48 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Split Production"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
47
modules/production_split/locale/de.po
Normal file
47
modules/production_split/locale/de.po
Normal file
@@ -0,0 +1,47 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr "Anzahl"
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Menge"
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Einheit"
|
||||
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr "Maßeinheitenkategorie"
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr "Die maximale Zahl der Produktionsaufträge"
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr "Die Kategorie der Maßeinheit."
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Produktionsauftrag aufteilen"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Aufteilen"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr "Produktion aufteilen Start"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "Aufteilen"
|
||||
47
modules/production_split/locale/es.po
Normal file
47
modules/production_split/locale/es.po
Normal file
@@ -0,0 +1,47 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr "Contador"
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Cantidad"
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Unidad"
|
||||
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr "Categoría de UdM"
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr "El número de producciones límite"
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr "La categoria de la unidad de medida."
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Dividir producción"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Dividir"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr "Inicio dividir producciones"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "Dividir"
|
||||
47
modules/production_split/locale/es_419.po
Normal file
47
modules/production_split/locale/es_419.po
Normal file
@@ -0,0 +1,47 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr "El número límite de producciones"
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr ""
|
||||
48
modules/production_split/locale/et.po
Normal file
48
modules/production_split/locale/et.po
Normal file
@@ -0,0 +1,48 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr "Loend"
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Kogus"
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr "Mõõtühiku kategooria"
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr "Tootmiste piirnumber"
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Tootmise poolitamine"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Poolitamine"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Tühista"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "Poolitamine"
|
||||
48
modules/production_split/locale/fa.po
Normal file
48
modules/production_split/locale/fa.po
Normal file
@@ -0,0 +1,48 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr "شمارش"
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "مقدار/تعداد"
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr "دسته بندی واحد اندازه گیری"
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr "تعداد محدود تولیدات"
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "تقسیم تولید"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "انصراف"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "تقسیم"
|
||||
48
modules/production_split/locale/fi.po
Normal file
48
modules/production_split/locale/fi.po
Normal file
@@ -0,0 +1,48 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Split Production"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
47
modules/production_split/locale/fr.po
Normal file
47
modules/production_split/locale/fr.po
Normal file
@@ -0,0 +1,47 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr "Décompte"
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Quantité"
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Unité"
|
||||
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr "Catégorie d'UDM"
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr "Le nombre limite de productions"
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr "La catégorie d’unité de mesure."
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Diviser la production"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Diviser"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr "Diviser la production début"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "Diviser"
|
||||
51
modules/production_split/locale/hu.po
Normal file
51
modules/production_split/locale/hu.po
Normal file
@@ -0,0 +1,51 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Mennyiség"
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr "Egység kategória"
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Split Production"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Mégse"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "Beosztás"
|
||||
47
modules/production_split/locale/id.po
Normal file
47
modules/production_split/locale/id.po
Normal file
@@ -0,0 +1,47 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Batal"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr ""
|
||||
48
modules/production_split/locale/it.po
Normal file
48
modules/production_split/locale/it.po
Normal file
@@ -0,0 +1,48 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr "Conteggio"
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Quantità"
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr "Categoria UdM"
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr "Il numero limite di produzioni"
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Produzione separata"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Separa"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "Dividi"
|
||||
49
modules/production_split/locale/lo.po
Normal file
49
modules/production_split/locale/lo.po
Normal file
@@ -0,0 +1,49 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr "ນັບ"
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "ຈຳນວນ"
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr "ໝວດຫົວໜ່ວຍ"
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr "ຈຳນວນຈຳກັດຂອງການຜະລິດ"
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Split Production"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "ຍົກເລີກ"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "ແຍກ"
|
||||
48
modules/production_split/locale/lt.po
Normal file
48
modules/production_split/locale/lt.po
Normal file
@@ -0,0 +1,48 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Split Production"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
47
modules/production_split/locale/nl.po
Normal file
47
modules/production_split/locale/nl.po
Normal file
@@ -0,0 +1,47 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr "aantal"
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Hoeveelheid"
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Maateenheid"
|
||||
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr "Maateenheid categorie"
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr "Het limiet aantal producties"
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr "De categorie van de maateenheid."
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Productie opsplitsen"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "opsplitsen"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr "Productie splitsen start"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleer"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "opsplitsen"
|
||||
50
modules/production_split/locale/pl.po
Normal file
50
modules/production_split/locale/pl.po
Normal file
@@ -0,0 +1,50 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Ilość"
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr "Kategoria jednostki miary"
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Split Production"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
49
modules/production_split/locale/pt.po
Normal file
49
modules/production_split/locale/pt.po
Normal file
@@ -0,0 +1,49 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr "Contagem"
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Quantidade"
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr "Categoria da UDM"
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr "Limite para o número de produções"
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Split Production"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "Dividir"
|
||||
47
modules/production_split/locale/ro.po
Normal file
47
modules/production_split/locale/ro.po
Normal file
@@ -0,0 +1,47 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr ""
|
||||
52
modules/production_split/locale/ru.po
Normal file
52
modules/production_split/locale/ru.po
Normal file
@@ -0,0 +1,52 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr "Кол-во"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Кол-во"
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr "Категория ед. измерения"
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Split Production"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Отменить"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
48
modules/production_split/locale/sl.po
Normal file
48
modules/production_split/locale/sl.po
Normal file
@@ -0,0 +1,48 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr "Zgornja meja"
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Količina"
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr "Kategorija ME"
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr "Zgornja meja delitve proizvodnje"
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Razdelitev proizvodnje"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Razdeli"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Prekliči"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "Razdeli"
|
||||
49
modules/production_split/locale/tr.po
Normal file
49
modules/production_split/locale/tr.po
Normal file
@@ -0,0 +1,49 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr "Adet"
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Miktar"
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr "Ölçü Birimi Kategorisi"
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr "Üretimler sayısı limiti"
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Split Production"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "Vazgeç"
|
||||
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "Bölme"
|
||||
47
modules/production_split/locale/uk.po
Normal file
47
modules/production_split/locale/uk.po
Normal file
@@ -0,0 +1,47 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr ""
|
||||
49
modules/production_split/locale/zh_CN.po
Normal file
49
modules/production_split/locale/zh_CN.po
Normal file
@@ -0,0 +1,49 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:production.split.start,count:"
|
||||
msgid "Count"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:production.split.start,uom_category:"
|
||||
msgid "UoM Category"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,count:"
|
||||
msgid "The limit number of productions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:production.split.start,uom_category:"
|
||||
msgid "The category of Unit of Measure."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:wizard_split_production"
|
||||
msgid "Split Production"
|
||||
msgstr "Split Production"
|
||||
|
||||
msgctxt "model:ir.model.button,string:production_split_wizard_button"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
|
||||
msgctxt "model:production.split.start,string:"
|
||||
msgid "Production Split Start"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "wizard_button:production.split,start,end:"
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "wizard_button:production.split,start,split:"
|
||||
msgid "Split"
|
||||
msgstr "Split"
|
||||
108
modules/production_split/production.py
Normal file
108
modules/production_split/production.py
Normal file
@@ -0,0 +1,108 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
from trytond.model import ModelView, fields
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.pyson import Eval
|
||||
from trytond.wizard import Button, StateTransition, StateView, Wizard
|
||||
|
||||
|
||||
class Production(metaclass=PoolMeta):
|
||||
__name__ = 'production'
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super().__setup__()
|
||||
cls._buttons.update({
|
||||
'split_wizard': {
|
||||
'invisible': (~Eval('state').in_(['request', 'draft'])
|
||||
| ~Eval('bom') | ~Eval('quantity', 0)),
|
||||
'depends': ['state', 'bom', 'quantity'],
|
||||
},
|
||||
})
|
||||
|
||||
@classmethod
|
||||
@ModelView.button_action('production_split.wizard_split_production')
|
||||
def split_wizard(cls, productions):
|
||||
pass
|
||||
|
||||
def split(self, quantity, unit, count=None):
|
||||
"""
|
||||
Split production into productions of quantity.
|
||||
If count is not defined, the production will be split until remainder
|
||||
is less than quantity.
|
||||
Return the split productions
|
||||
"""
|
||||
pool = Pool()
|
||||
Uom = pool.get('product.uom')
|
||||
|
||||
productions = [self]
|
||||
n_productions = 0
|
||||
remainder = Uom.compute_qty(self.unit, self.quantity, unit)
|
||||
if remainder <= quantity:
|
||||
return productions
|
||||
self.quantity = quantity
|
||||
self.unit = unit
|
||||
self.save()
|
||||
remainder -= quantity
|
||||
if count:
|
||||
count -= 1
|
||||
while (remainder > quantity
|
||||
and (count or count is None)):
|
||||
n_productions += 1
|
||||
remainder -= quantity
|
||||
remainder = unit.round(remainder)
|
||||
if count:
|
||||
count -= 1
|
||||
if n_productions:
|
||||
productions.extend(self.copy([self] * n_productions, {
|
||||
'reference': lambda data: data['reference'],
|
||||
'quantity': quantity,
|
||||
'unit': unit.id,
|
||||
'inputs': None,
|
||||
'outputs': None,
|
||||
}))
|
||||
assert remainder >= 0
|
||||
if remainder:
|
||||
productions.extend(self.copy([self], {
|
||||
'quantity': remainder,
|
||||
'unit': unit.id,
|
||||
}))
|
||||
for production in productions:
|
||||
production.explode_bom()
|
||||
self.__class__.save(productions)
|
||||
return productions
|
||||
|
||||
|
||||
class SplitProduction(Wizard):
|
||||
__name__ = 'production.split'
|
||||
start = StateView('production.split.start',
|
||||
'production_split.split_start_view_form', [
|
||||
Button('Cancel', 'end', 'tryton-cancel'),
|
||||
Button('Split', 'split', 'tryton-ok', default=True),
|
||||
])
|
||||
split = StateTransition()
|
||||
|
||||
def default_start(self, fields):
|
||||
return {
|
||||
'unit': self.record.unit.id,
|
||||
'uom_category': self.record.unit.category.id,
|
||||
}
|
||||
|
||||
def transition_split(self):
|
||||
self.record.split(
|
||||
self.start.quantity, self.start.unit, count=self.start.count)
|
||||
return 'end'
|
||||
|
||||
|
||||
class SplitProductionStart(ModelView):
|
||||
__name__ = 'production.split.start'
|
||||
count = fields.Integer('Count', help='The limit number of productions')
|
||||
quantity = fields.Float("Quantity", digits='unit', required=True)
|
||||
unit = fields.Many2One(
|
||||
'product.uom', "Unit", required=True,
|
||||
domain=[
|
||||
('category', '=', Eval('uom_category', -1)),
|
||||
])
|
||||
uom_category = fields.Many2One(
|
||||
'product.uom.category', "UoM Category", readonly=True,
|
||||
help="The category of Unit of Measure.")
|
||||
34
modules/production_split/production.xml
Normal file
34
modules/production_split/production.xml
Normal file
@@ -0,0 +1,34 @@
|
||||
<?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. -->
|
||||
<tryton>
|
||||
<data>
|
||||
<record model="ir.ui.icon" id="production_split_icon">
|
||||
<field name="name">tryton-production-split</field>
|
||||
<field name="path">icons/tryton-production-split.svg</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.action.wizard" id="wizard_split_production">
|
||||
<field name="name">Split Production</field>
|
||||
<field name="wiz_name">production.split</field>
|
||||
<field name="model">production</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="production_view_form">
|
||||
<field name="model">production</field>
|
||||
<field name="inherit" ref="production.production_view_form"/>
|
||||
<field name="name">production_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="split_start_view_form">
|
||||
<field name="model">production.split.start</field>
|
||||
<field name="type">form</field>
|
||||
<field name="name">split_start_form</field>
|
||||
</record>
|
||||
<record model="ir.model.button" id="production_split_wizard_button">
|
||||
<field name="model">production</field>
|
||||
<field name="name">split_wizard</field>
|
||||
<field name="string">Split</field>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
2
modules/production_split/tests/__init__.py
Normal file
2
modules/production_split/tests/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
52
modules/production_split/tests/scenario_production_split.rst
Normal file
52
modules/production_split/tests/scenario_production_split.rst
Normal file
@@ -0,0 +1,52 @@
|
||||
=========================
|
||||
Production Split Scenario
|
||||
=========================
|
||||
|
||||
Imports::
|
||||
|
||||
>>> from decimal import Decimal
|
||||
|
||||
>>> from proteus import Model
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules('production_split', create_company)
|
||||
|
||||
>>> ProductTemplate = Model.get('product.template')
|
||||
>>> ProductUom = Model.get('product.uom')
|
||||
>>> Production = Model.get('production')
|
||||
|
||||
Create product::
|
||||
|
||||
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
|
||||
|
||||
>>> template = ProductTemplate()
|
||||
>>> template.name = 'product'
|
||||
>>> template.default_uom = unit
|
||||
>>> template.type = 'goods'
|
||||
>>> template.producible = True
|
||||
>>> template.list_price = Decimal(20)
|
||||
>>> template.save()
|
||||
>>> product, = template.products
|
||||
|
||||
Create a production::
|
||||
|
||||
>>> production = Production()
|
||||
>>> production.product = product
|
||||
>>> production.quantity = 10
|
||||
>>> production.save()
|
||||
|
||||
Split the production::
|
||||
|
||||
>>> split_production = production.click('split_wizard')
|
||||
>>> split_production.form.quantity = 4
|
||||
>>> split_production.form.count = 1
|
||||
>>> split_production.execute('split')
|
||||
>>> production2, = Production.find([('id', '!=', production.id)])
|
||||
|
||||
>>> production.quantity
|
||||
4.0
|
||||
>>> production2.quantity
|
||||
6.0
|
||||
45
modules/production_split/tests/test_module.py
Normal file
45
modules/production_split/tests/test_module.py
Normal file
@@ -0,0 +1,45 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
|
||||
from unittest.mock import patch
|
||||
|
||||
from trytond.pool import Pool
|
||||
from trytond.tests.test_tryton import ModuleTestCase, with_transaction
|
||||
|
||||
|
||||
class ProductionSplitTestCase(ModuleTestCase):
|
||||
'Test Production Split module'
|
||||
module = 'production_split'
|
||||
|
||||
@with_transaction()
|
||||
def test_split(self):
|
||||
'Test split'
|
||||
pool = Pool()
|
||||
Uom = pool.get('product.uom')
|
||||
Production = pool.get('production')
|
||||
|
||||
unit, = Uom.search([('name', '=', 'Unit')])
|
||||
|
||||
with patch.object(Production, 'save'), \
|
||||
patch.object(Production, 'explode_bom'), \
|
||||
patch.object(Production, 'copy') as copy:
|
||||
copy.side_effect = lambda l, values: [
|
||||
Production(**values) for r in l]
|
||||
for quantity, quantity_split, count, quantities in [
|
||||
(10, 5, None, [5, 5]),
|
||||
(13, 5, None, [5, 5, 3]),
|
||||
(7, 8, None, [7]),
|
||||
(20, 5, 2, [5, 5, 10]),
|
||||
(20, 5, 4, [5, 5, 5, 5]),
|
||||
]:
|
||||
production = Production()
|
||||
production.quantity = quantity
|
||||
production.unit = unit
|
||||
|
||||
productions = production.split(
|
||||
quantity_split, unit, count=count)
|
||||
self.assertEqual(
|
||||
[p.quantity for p in productions], quantities)
|
||||
|
||||
|
||||
del ModuleTestCase
|
||||
8
modules/production_split/tests/test_scenario.py
Normal file
8
modules/production_split/tests/test_scenario.py
Normal file
@@ -0,0 +1,8 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
|
||||
from trytond.tests.test_tryton import load_doc_tests
|
||||
|
||||
|
||||
def load_tests(*args, **kwargs):
|
||||
return load_doc_tests(__name__, __file__, *args, **kwargs)
|
||||
14
modules/production_split/tryton.cfg
Normal file
14
modules/production_split/tryton.cfg
Normal file
@@ -0,0 +1,14 @@
|
||||
[tryton]
|
||||
version=7.8.1
|
||||
depends:
|
||||
ir
|
||||
production
|
||||
xml:
|
||||
production.xml
|
||||
|
||||
[register]
|
||||
model:
|
||||
production.Production
|
||||
production.SplitProductionStart
|
||||
wizard:
|
||||
production.SplitProduction
|
||||
8
modules/production_split/view/production_form.xml
Normal file
8
modules/production_split/view/production_form.xml
Normal file
@@ -0,0 +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. -->
|
||||
<data>
|
||||
<xpath expr="//group[@id='buttons']/button[@name='draft']" position="after">
|
||||
<button name="split_wizard" icon="tryton-production-split"/>
|
||||
</xpath>
|
||||
</data>
|
||||
11
modules/production_split/view/split_start_form.xml
Normal file
11
modules/production_split/view/split_start_form.xml
Normal file
@@ -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 col="6">
|
||||
<label name="count"/>
|
||||
<field name="count"/>
|
||||
<label name="quantity"/>
|
||||
<field name="quantity"/>
|
||||
<label name="unit"/>
|
||||
<field name="unit"/>
|
||||
</form>
|
||||
Reference in New Issue
Block a user