[tryton-debian-vcs] tryton-modules-stock-supply branch debian updated. debian/3.6.0-1-4-g58f7cdd
Mathias Behrle
tryton-debian-vcs at alioth.debian.org
Wed Nov 11 11:30:08 UTC 2015
The following commit has been merged in the debian branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-modules-stock-supply.git;a=commitdiff;h=debian/3.6.0-1-4-g58f7cdd
commit 58f7cdd942f7614c009a9c47474d94493de7918c
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Wed Nov 11 12:11:21 2015 +0100
Merging upstream version 3.8.0.
diff --git a/CHANGELOG b/CHANGELOG
index 4465fe9..e1a199d 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,9 @@
+Version 3.8.0 - 2015-11-02
+* Bug fixes (see mercurial logs for details)
+* Generate purchase requests even if rounding set the quantity to 0
+* Add searcher on purchase_request's state
+* Add default internal provisioning per location
+
Version 3.6.0 - 2015-04-20
* Bug fixes (see mercurial logs for details)
* Add support for PyPy
diff --git a/PKG-INFO b/PKG-INFO
index 129731f..bb8b111 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
Metadata-Version: 1.1
Name: trytond_stock_supply
-Version: 3.6.0
+Version: 3.8.0
Summary: Tryton module for stock supply
Home-page: http://www.tryton.org/
Author: Tryton
Author-email: issue_tracker at tryton.org
License: GPL-3
-Download-URL: http://downloads.tryton.org/3.6/
+Download-URL: http://downloads.tryton.org/3.8/
Description: trytond_stock_supply
====================
@@ -60,6 +60,9 @@ Classifier: Natural Language :: Dutch
Classifier: Natural Language :: English
Classifier: Natural Language :: French
Classifier: Natural Language :: German
+Classifier: Natural Language :: Hungarian
+Classifier: Natural Language :: Italian
+Classifier: Natural Language :: Portuguese (Brazilian)
Classifier: Natural Language :: Russian
Classifier: Natural Language :: Slovenian
Classifier: Natural Language :: Spanish
diff --git a/__init__.py b/__init__.py
index ca8ad42..6e25edf 100644
--- a/__init__.py
+++ b/__init__.py
@@ -6,6 +6,7 @@ from .order_point import *
from .product import *
from .purchase_request import *
from .shipment import *
+from .location import *
def register():
@@ -17,6 +18,7 @@ def register():
CreatePurchaseAskParty,
ShipmentInternal,
CreateShipmentInternalStart,
+ Location,
module='stock_supply', type_='model')
Pool.register(
CreatePurchaseRequest,
diff --git a/doc/index.rst b/doc/index.rst
index fb872ef..5b60d08 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -66,4 +66,6 @@ The internal shipments and purchase requests are created by schedulers
with respect to stock levels and existing shipments and requests. The
stock levels are computed between the next two supply dates. If the
stock level of a product without order point on the given warehouse is
-below zero, a purchase request is also created.
+below zero, a purchase request is also created. The same happens if
+the stock level of a storage location with a provisioning location is
+below zero.
diff --git a/locale/bg_BG.po b/locale/bg_BG.po
index 848d7b3..f5579df 100644
--- a/locale/bg_BG.po
+++ b/locale/bg_BG.po
@@ -19,10 +19,6 @@ msgid "Purchase requests are only created by the system."
msgstr "Заявките за покупка се създават само от системата"
msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr "Поръчаното количество трябва да е по-голямо от 0"
-
-msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
@@ -60,10 +56,6 @@ msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
msgstr "Изчислена мер. ед."
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr ""
-
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
msgstr "Създадено на"
@@ -168,6 +160,10 @@ msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
msgstr "Продукт"
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr ""
+
msgctxt "field:stock.order_point,company:"
msgid "Company"
msgstr "Фирма"
@@ -241,9 +237,9 @@ msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr "ID"
-msgctxt "model:ir.action,name:"
-msgid "Purchases"
-msgstr "Покупки"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
+msgstr ""
msgctxt "model:ir.action,name:act_order_point_form"
msgid "Order Points"
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
index d40ff82..988beee 100644
--- a/locale/ca_ES.po
+++ b/locale/ca_ES.po
@@ -19,10 +19,6 @@ msgid "Purchase requests are only created by the system."
msgstr "Les sol·licituds de compra només les crea el sistema."
msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr "La quantitat sol·licitada ha de ser més gran que 0."
-
-msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr "No podeu eliminar una sol·licitud comprada."
@@ -60,10 +56,6 @@ msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
msgstr "UdM calculada"
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr "Decimals de la UdM calculada"
-
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
msgstr "Data creació"
@@ -138,7 +130,7 @@ msgstr "Magatzem"
msgctxt "field:purchase.request,warehouse_required:"
msgid "Warehouse Required"
-msgstr "Magatzem requerit"
+msgstr "Magatzem obligatori"
msgctxt "field:purchase.request,write_date:"
msgid "Write Date"
@@ -168,6 +160,10 @@ msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
msgstr "Producte"
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr "Ubicació de l'aprovisionament"
+
msgctxt "field:stock.order_point,company:"
msgid "Company"
msgstr "Empresa"
@@ -240,9 +236,9 @@ msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr "ID"
-msgctxt "model:ir.action,name:"
-msgid "Purchases"
-msgstr "Compres"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
+msgstr "Deixeu-lo buit per no tenir una ubicació de proveïment per defecte."
msgctxt "model:ir.action,name:act_order_point_form"
msgid "Order Points"
@@ -275,7 +271,7 @@ msgstr "Crear una compra"
msgctxt ""
"model:ir.action.act_window.domain,name:act_order_point_form_domain_all"
msgid "All"
-msgstr "Totes"
+msgstr "Tot"
msgctxt ""
"model:ir.action.act_window.domain,name:act_order_point_form_domain_internal"
@@ -290,7 +286,7 @@ msgstr "Compra"
msgctxt ""
"model:ir.action.act_window.domain,name:act_purchase_request_form_domain_all"
msgid "All"
-msgstr "Totes"
+msgstr "Tot"
msgctxt ""
"model:ir.action.act_window.domain,name:act_purchase_request_form_domain_draft"
@@ -353,10 +349,6 @@ msgctxt "model:stock.shipment.internal.create.start,name:"
msgid "Create Shipment Internal"
msgstr "Crea albarans interns"
-msgctxt "selection:purchase.request,origin:"
-msgid "Order Point"
-msgstr "Regla de proveïment"
-
msgctxt "selection:purchase.request,state:"
msgid "Cancel"
msgstr "Cancel·lada"
diff --git a/locale/cs_CZ.po b/locale/cs_CZ.po
index a3e7939..37b234b 100644
--- a/locale/cs_CZ.po
+++ b/locale/cs_CZ.po
@@ -19,10 +19,6 @@ msgid "Purchase requests are only created by the system."
msgstr ""
msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr ""
-
-msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
@@ -56,10 +52,6 @@ msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
msgstr ""
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr ""
-
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
msgstr ""
@@ -164,6 +156,10 @@ msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
msgstr ""
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr ""
+
msgctxt "field:stock.order_point,company:"
msgid "Company"
msgstr ""
@@ -236,8 +232,8 @@ msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr ""
-msgctxt "model:ir.action,name:"
-msgid "Purchases"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
msgstr ""
msgctxt "model:ir.action,name:act_order_point_form"
diff --git a/locale/de_DE.po b/locale/de_DE.po
index 032d89f..ce0f57f 100644
--- a/locale/de_DE.po
+++ b/locale/de_DE.po
@@ -19,10 +19,6 @@ msgid "Purchase requests are only created by the system."
msgstr "Bestellvorschläge werden nur durch das System generiert!"
msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr "Die angefragte Menge muss größer als 0 sein"
-
-msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
"Für einen Einkauf benutzte Bestellvorschläge können nicht gelöscht werden."
@@ -33,14 +29,15 @@ msgstr "Die maximale Anzahl muss größer als die minimale Anzahl sein"
msgctxt "error:stock.order_point:"
msgid "Only one order point is allowed for each product-location pair."
-msgstr "Es ist nur ein Bestellpunkt für jede Paarung Artikel-Lagerort erlaubt"
+msgstr ""
+"Es ist nur ein Bestellpunkt für jede Paarung Variante-Lagerort erlaubt"
msgctxt "error:stock.order_point:"
msgid ""
"You can not define two order points on the same product with opposite "
"locations."
msgstr ""
-"Für einen Artikel können keine verschiedenen Bestellpunkte mit "
+"Für eine Variante können keine verschiedenen Bestellpunkte mit "
"unterschiedlichen Lagerstandorten erstellt werden."
msgctxt "field:product.product,order_points:"
@@ -59,10 +56,6 @@ msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
msgstr "Berechnete Maßeinheit"
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr "Maßeinheit berechnete Nachkommastellen"
-
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
msgstr "Erstellungsdatum"
@@ -89,11 +82,11 @@ msgstr "Partei"
msgctxt "field:purchase.request,product:"
msgid "Product"
-msgstr "Artikel"
+msgstr "Variante"
msgctxt "field:purchase.request,purchase:"
msgid "Purchase"
-msgstr "Bestellvorschlag"
+msgstr "Einkauf"
msgctxt "field:purchase.request,purchase_date:"
msgid "Best Purchase Date"
@@ -165,7 +158,11 @@ msgstr "Lieferant"
msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
-msgstr "Artikel"
+msgstr "Variante"
+
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr "Bereitstellungsort"
msgctxt "field:stock.order_point,company:"
msgid "Company"
@@ -197,7 +194,7 @@ msgstr "Minimale Anzahl"
msgctxt "field:stock.order_point,product:"
msgid "Product"
-msgstr "Artikel"
+msgstr "Variante"
msgctxt "field:stock.order_point,provisioning_location:"
msgid "Provisioning Location"
@@ -239,6 +236,11 @@ msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr "ID"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
+msgstr ""
+"Leer lassen, wenn kein Standardbereitstellungsort verwendet werden soll"
+
msgctxt "model:ir.action,name:"
msgid "Purchases"
msgstr "Einkäufe"
@@ -370,7 +372,7 @@ msgstr "Entwurf"
msgctxt "selection:purchase.request,state:"
msgid "Purchased"
-msgstr "Auftrag erteilt"
+msgstr "Auftrag erstellt"
msgctxt "selection:stock.order_point,type:"
msgid "Internal"
@@ -378,7 +380,7 @@ msgstr "Intern"
msgctxt "selection:stock.order_point,type:"
msgid "Purchase"
-msgstr "Bestellvorschlag"
+msgstr "Einkauf"
msgctxt "view:purchase.request.create.start:"
msgid "Create Purchase Requests"
@@ -394,7 +396,7 @@ msgstr "Auftragerstellung: Fehlender Lieferant"
msgctxt "view:purchase.request:"
msgid "Product Info"
-msgstr "Info Artikel"
+msgstr "Info"
msgctxt "view:purchase.request:"
msgid "Purchase Request"
@@ -422,7 +424,7 @@ msgstr "Bestellpunkte"
msgctxt "view:stock.order_point:"
msgid "Product Info"
-msgstr "Artikelinfo"
+msgstr "Info"
msgctxt "view:stock.shipment.internal.create.start:"
msgid "Create Internal Shipments"
diff --git a/locale/es_AR.po b/locale/es_AR.po
index fa7fae4..3413558 100644
--- a/locale/es_AR.po
+++ b/locale/es_AR.po
@@ -19,10 +19,6 @@ msgid "Purchase requests are only created by the system."
msgstr "Las solicitudes de compra solo las crea el sistema."
msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr "La cantidad solicitada debe ser mayor que 0."
-
-msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr "No puede eliminar una solicitud comprada."
@@ -60,10 +56,6 @@ msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
msgstr "UdM calculada"
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr "Decimales de UdM calculada"
-
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
msgstr "Fecha creación"
@@ -168,6 +160,10 @@ msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
msgstr "Producto"
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr "Ubicación del aprovisionamiento"
+
msgctxt "field:stock.order_point,company:"
msgid "Company"
msgstr "Empresa"
@@ -240,9 +236,9 @@ msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr "ID"
-msgctxt "model:ir.action,name:"
-msgid "Purchases"
-msgstr "Compras"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
+msgstr "Dejar vacío para ningún aprovisionamiento por defecto"
msgctxt "model:ir.action,name:act_order_point_form"
msgid "Order Points"
@@ -353,10 +349,6 @@ msgctxt "model:stock.shipment.internal.create.start,name:"
msgid "Create Shipment Internal"
msgstr "Crear Remito interno"
-msgctxt "selection:purchase.request,origin:"
-msgid "Order Point"
-msgstr "Regla de abastecimiento"
-
msgctxt "selection:purchase.request,state:"
msgid "Cancel"
msgstr "Cancelado"
diff --git a/locale/es_CO.po b/locale/es_CO.po
index 41546a5..e442782 100644
--- a/locale/es_CO.po
+++ b/locale/es_CO.po
@@ -19,10 +19,6 @@ msgid "Purchase requests are only created by the system."
msgstr "Los requisitos de compras son creados por el sistema únicamente."
msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr "La cantidad solicitada debe ser mayor que 0"
-
-msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr "No puede borrar ordenes de compra."
@@ -58,10 +54,6 @@ msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
msgstr "UdM Calculada"
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr "Digitos UdM Computado"
-
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
msgstr "Fecha de Creación"
@@ -166,6 +158,10 @@ msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
msgstr "Producto"
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr ""
+
msgctxt "field:stock.order_point,company:"
msgid "Company"
msgstr "Compañía"
@@ -238,9 +234,9 @@ msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr "ID"
-msgctxt "model:ir.action,name:"
-msgid "Purchases"
-msgstr "Compras"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
+msgstr ""
msgctxt "model:ir.action,name:act_order_point_form"
msgid "Order Points"
@@ -351,10 +347,6 @@ msgctxt "model:stock.shipment.internal.create.start,name:"
msgid "Create Shipment Internal"
msgstr "Crear Envío Interno"
-msgctxt "selection:purchase.request,origin:"
-msgid "Order Point"
-msgstr "Requisición"
-
msgctxt "selection:purchase.request,state:"
msgid "Cancel"
msgstr "Cancelar"
diff --git a/locale/es_EC.po b/locale/es_EC.po
index 8e19dd5..933e77f 100644
--- a/locale/es_EC.po
+++ b/locale/es_EC.po
@@ -19,16 +19,12 @@ msgid "Purchase requests are only created by the system."
msgstr "Las solicitudes de compra son creadas únicamente por el sistema."
msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr "La cantidad solicitada debe ser mayor que 0"
-
-msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr "No puede eliminar la solicitud comprada."
msgctxt "error:stock.order_point:"
msgid "Maximal quantity must be bigger than Minimal quantity"
-msgstr "La cantidad Máxima debe ser mayor que la cantidad Mínima"
+msgstr "La cantidad máxima debe ser mayor que la cantidad mínima"
msgctxt "error:stock.order_point:"
msgid "Only one order point is allowed for each product-location pair."
@@ -57,11 +53,7 @@ msgstr "Cantidad calculada"
msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
-msgstr "UdM Calculada"
-
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr "Decimales de UdM calculada"
+msgstr "UdM calculada"
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
@@ -133,7 +125,7 @@ msgstr "Decimales de UdM"
msgctxt "field:purchase.request,warehouse:"
msgid "Warehouse"
-msgstr "Depósito"
+msgstr "Bodega"
msgctxt "field:purchase.request,warehouse_required:"
msgid "Warehouse Required"
@@ -167,6 +159,10 @@ msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
msgstr "Producto"
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr "Ubicación del aprovisionamiento"
+
msgctxt "field:stock.order_point,company:"
msgid "Company"
msgstr "Empresa"
@@ -185,7 +181,7 @@ msgstr "ID"
msgctxt "field:stock.order_point,location:"
msgid "Location"
-msgstr "Bodega"
+msgstr "Ubicación"
msgctxt "field:stock.order_point,max_quantity:"
msgid "Maximal Quantity"
@@ -201,7 +197,7 @@ msgstr "Producto"
msgctxt "field:stock.order_point,provisioning_location:"
msgid "Provisioning Location"
-msgstr "Bodega de aprovisionamiento"
+msgstr "Ubicación del aprovisionamiento"
msgctxt "field:stock.order_point,rec_name:"
msgid "Name"
@@ -209,7 +205,7 @@ msgstr "Nombre"
msgctxt "field:stock.order_point,storage_location:"
msgid "Storage Location"
-msgstr "Bodega de almacenamiento"
+msgstr "Ubicación de almacenamiento"
msgctxt "field:stock.order_point,type:"
msgid "Type"
@@ -239,9 +235,9 @@ msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr "ID"
-msgctxt "model:ir.action,name:"
-msgid "Purchases"
-msgstr "Compras"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
+msgstr "Dejarlo vacío para ningún aprovisionamiento por defecto"
msgctxt "model:ir.action,name:act_order_point_form"
msgid "Order Points"
@@ -265,7 +261,7 @@ msgstr "Solicitudes de compra"
msgctxt "model:ir.action,name:act_shipment_internal_create"
msgid "Create Internal Shipments"
-msgstr "Crear envíos internos"
+msgstr "Crear guías de remisión internas"
msgctxt "model:ir.action,name:wizard_create_purchase"
msgid "Create Purchase"
@@ -302,7 +298,7 @@ msgstr "Generar solicitudes de compra"
msgctxt "model:ir.cron,name:cron_shipment_iternal"
msgid "Generate Internal Shipments"
-msgstr "Generar envíos internos"
+msgstr "Generar guías de remisión internas"
msgctxt "model:ir.ui.menu,name:menu_order_point_form"
msgid "Order Points"
@@ -310,15 +306,15 @@ msgstr "Requisiciones"
msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
msgid "Create Purchase Requests"
-msgstr "Crear solicitudes de compra"
+msgstr "Crear Solicitudes de Compra"
msgctxt "model:ir.ui.menu,name:menu_purchase_request_form"
msgid "Purchase Requests"
-msgstr "Solicitudes de compra"
+msgstr "Solicitudes de Compra"
msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
msgid "Create Internal Shipments"
-msgstr "Crear envíos internos"
+msgstr "Crear Guías de Remisión Internas"
msgctxt "model:purchase.request,name:"
msgid "Purchase Request"
@@ -350,11 +346,7 @@ msgstr "Requisición"
msgctxt "model:stock.shipment.internal.create.start,name:"
msgid "Create Shipment Internal"
-msgstr "Crear envío interno"
-
-msgctxt "selection:purchase.request,origin:"
-msgid "Order Point"
-msgstr "Requisición"
+msgstr "Crear guía de remisión interna"
msgctxt "selection:purchase.request,state:"
msgid "Cancel"
@@ -426,11 +418,11 @@ msgstr "Información del producto"
msgctxt "view:stock.shipment.internal.create.start:"
msgid "Create Internal Shipments"
-msgstr "Crear envíos internos"
+msgstr "Crear guías de remisión internas"
msgctxt "view:stock.shipment.internal.create.start:"
msgid "Create Internal Shipments?"
-msgstr "¿Crear envíos internos?"
+msgstr "¿Crear guías de remisión internas?"
msgctxt "wizard_button:purchase.request.create,start,create_:"
msgid "Create"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index 8660bb5..e5d8d01 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -19,10 +19,6 @@ msgid "Purchase requests are only created by the system."
msgstr "Las solicitudes de compra sólo las crea el sistema."
msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr "La cantidad solicitada debe ser más grande que 0."
-
-msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr "No puede eliminar una solicitud de compra."
@@ -60,10 +56,6 @@ msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
msgstr "UdM calculada"
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr "Decimales de la UdM calculada"
-
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
msgstr "Fecha creación"
@@ -138,7 +130,7 @@ msgstr "Almacén"
msgctxt "field:purchase.request,warehouse_required:"
msgid "Warehouse Required"
-msgstr "Almacén requerido"
+msgstr "Almacén obligatorio"
msgctxt "field:purchase.request,write_date:"
msgid "Write Date"
@@ -168,6 +160,10 @@ msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
msgstr "Producto"
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr "Ubicación del abastecimiento"
+
msgctxt "field:stock.order_point,company:"
msgid "Company"
msgstr "Empresa"
@@ -240,9 +236,10 @@ msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr "ID"
-msgctxt "model:ir.action,name:"
-msgid "Purchases"
-msgstr "Compras"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
+msgstr ""
+"Dejarlo vacío para no tener una ubicación de abastecimiento por defecto."
msgctxt "model:ir.action,name:act_order_point_form"
msgid "Order Points"
@@ -275,7 +272,7 @@ msgstr "Crear compra"
msgctxt ""
"model:ir.action.act_window.domain,name:act_order_point_form_domain_all"
msgid "All"
-msgstr "Todas"
+msgstr "Todo"
msgctxt ""
"model:ir.action.act_window.domain,name:act_order_point_form_domain_internal"
@@ -290,7 +287,7 @@ msgstr "Compra"
msgctxt ""
"model:ir.action.act_window.domain,name:act_purchase_request_form_domain_all"
msgid "All"
-msgstr "Todas"
+msgstr "Todo"
msgctxt ""
"model:ir.action.act_window.domain,name:act_purchase_request_form_domain_draft"
@@ -353,10 +350,6 @@ msgctxt "model:stock.shipment.internal.create.start,name:"
msgid "Create Shipment Internal"
msgstr "Crear albaranes internos"
-msgctxt "selection:purchase.request,origin:"
-msgid "Order Point"
-msgstr "Regla de abastecimiento"
-
msgctxt "selection:purchase.request,state:"
msgid "Cancel"
msgstr "Cancelada"
diff --git a/locale/es_ES.po b/locale/es_MX.po
similarity index 89%
copy from locale/es_ES.po
copy to locale/es_MX.po
index 8660bb5..c877dab 100644
--- a/locale/es_ES.po
+++ b/locale/es_MX.po
@@ -19,10 +19,6 @@ msgid "Purchase requests are only created by the system."
msgstr "Las solicitudes de compra sólo las crea el sistema."
msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr "La cantidad solicitada debe ser más grande que 0."
-
-msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr "No puede eliminar una solicitud de compra."
@@ -60,10 +56,6 @@ msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
msgstr "UdM calculada"
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr "Decimales de la UdM calculada"
-
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
msgstr "Fecha creación"
@@ -74,7 +66,7 @@ msgstr "Usuario creación"
msgctxt "field:purchase.request,default_uom_digits:"
msgid "Default UOM Digits"
-msgstr "Decimales de la UdM por defecto"
+msgstr "Decimales de la UdM predefinidos"
msgctxt "field:purchase.request,id:"
msgid "ID"
@@ -86,7 +78,7 @@ msgstr "Origen"
msgctxt "field:purchase.request,party:"
msgid "Party"
-msgstr "Tercero"
+msgstr "Entidad"
msgctxt "field:purchase.request,product:"
msgid "Product"
@@ -118,7 +110,7 @@ msgstr "Estado"
msgctxt "field:purchase.request,stock_level:"
msgid "Stock at Supply Date"
-msgstr "Stock a la fecha del suministro"
+msgstr "Existencias a la fecha del suministro"
msgctxt "field:purchase.request,supply_date:"
msgid "Expected Supply Date"
@@ -168,6 +160,10 @@ msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
msgstr "Producto"
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr ""
+
msgctxt "field:stock.order_point,company:"
msgid "Company"
msgstr "Empresa"
@@ -240,9 +236,9 @@ msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr "ID"
-msgctxt "model:ir.action,name:"
-msgid "Purchases"
-msgstr "Compras"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
+msgstr ""
msgctxt "model:ir.action,name:act_order_point_form"
msgid "Order Points"
@@ -266,7 +262,7 @@ msgstr "Solicitudes de compra"
msgctxt "model:ir.action,name:act_shipment_internal_create"
msgid "Create Internal Shipments"
-msgstr "Crear albaranes internos"
+msgstr "Crear reubicacion interna"
msgctxt "model:ir.action,name:wizard_create_purchase"
msgid "Create Purchase"
@@ -303,7 +299,7 @@ msgstr "Generar solicitudes de compra"
msgctxt "model:ir.cron,name:cron_shipment_iternal"
msgid "Generate Internal Shipments"
-msgstr "Generar albaranes internos"
+msgstr "Generar reubicación interna"
msgctxt "model:ir.ui.menu,name:menu_order_point_form"
msgid "Order Points"
@@ -319,7 +315,7 @@ msgstr "Solicitudes de compra"
msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
msgid "Create Internal Shipments"
-msgstr "Crear albaranes internos"
+msgstr "Crear reubicación interna"
msgctxt "model:purchase.request,name:"
msgid "Purchase Request"
@@ -331,7 +327,7 @@ msgstr "Crear solicitud de compra"
msgctxt "model:purchase.request.create_purchase.ask_party,name:"
msgid "Create Purchase Ask Party"
-msgstr "Crear compra - Petición de tercero"
+msgstr "Crear compra - Petición de entidad"
msgctxt "model:res.group,name:group_purchase_request"
msgid "Purchase Request"
@@ -343,7 +339,7 @@ msgstr "Planificador de solicitudes de compra"
msgctxt "model:res.user,name:user_generate_shipment_internal"
msgid "Cron Intenal Shipment"
-msgstr "Planificador de envíos internos"
+msgstr "Planificador de reubicación interna"
msgctxt "model:stock.order_point,name:"
msgid "Order Point"
@@ -351,11 +347,7 @@ msgstr "Regla de abastecimiento"
msgctxt "model:stock.shipment.internal.create.start,name:"
msgid "Create Shipment Internal"
-msgstr "Crear albaranes internos"
-
-msgctxt "selection:purchase.request,origin:"
-msgid "Order Point"
-msgstr "Regla de abastecimiento"
+msgstr "Crear reubicación interna"
msgctxt "selection:purchase.request,state:"
msgid "Cancel"
@@ -383,55 +375,55 @@ msgstr "Compra"
msgctxt "view:purchase.request.create.start:"
msgid "Create Purchase Requests"
-msgstr "Crear solicitudes de compra"
+msgstr ""
msgctxt "view:purchase.request.create.start:"
msgid "Create Purchase Requests?"
-msgstr "¿Quiere crear las solicitudes de compra?"
+msgstr ""
msgctxt "view:purchase.request.create_purchase.ask_party:"
msgid "Create Purchase: Missing Supplier"
-msgstr "Crear compra: Falta proveedor"
+msgstr ""
msgctxt "view:purchase.request:"
msgid "Product Info"
-msgstr "Información del producto"
+msgstr ""
msgctxt "view:purchase.request:"
msgid "Purchase Request"
-msgstr "Solicitud de compra"
+msgstr ""
msgctxt "view:purchase.request:"
msgid "Purchase Requests"
-msgstr "Solicitudes de compra"
+msgstr ""
msgctxt "view:purchase.request:"
msgid "Supply Info"
-msgstr "Información del suministro"
+msgstr ""
msgctxt "view:stock.order_point:"
msgid "Order Point"
-msgstr "Regla de abastecimiento"
+msgstr ""
msgctxt "view:stock.order_point:"
msgid "Order Point Type"
-msgstr "Tipo de regla de abastecimiento"
+msgstr ""
msgctxt "view:stock.order_point:"
msgid "Order Points"
-msgstr "Reglas de abastecimiento"
+msgstr ""
msgctxt "view:stock.order_point:"
msgid "Product Info"
-msgstr "Información del producto"
+msgstr ""
msgctxt "view:stock.shipment.internal.create.start:"
msgid "Create Internal Shipments"
-msgstr "Crear albaranes internos"
+msgstr ""
msgctxt "view:stock.shipment.internal.create.start:"
msgid "Create Internal Shipments?"
-msgstr "¿Crear albaranes internos?"
+msgstr ""
msgctxt "wizard_button:purchase.request.create,start,create_:"
msgid "Create"
diff --git a/locale/fr_FR.po b/locale/fr_FR.po
index f6c2880..bec48d9 100644
--- a/locale/fr_FR.po
+++ b/locale/fr_FR.po
@@ -19,10 +19,6 @@ msgid "Purchase requests are only created by the system."
msgstr "Les demandes d'achat sont uniquement crées par le sytème"
msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr "La quantité requise doit être supérieure à zéro"
-
-msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr "Vous ne pouvez pas supprimer des demandes d'achat commandées."
@@ -42,7 +38,7 @@ msgid ""
"locations."
msgstr ""
"Vous ne pouvez pas définir deux règles d'approvisionnement sur le même "
-"produit avec des emplacement opposés"
+"produit avec des emplacement opposés."
msgctxt "field:product.product,order_points:"
msgid "Order Points"
@@ -60,10 +56,6 @@ msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
msgstr "UDM calculée"
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr "Décimales d'unité de mesure calculée"
-
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
msgstr "Date de création"
@@ -74,7 +66,7 @@ msgstr "Créé par"
msgctxt "field:purchase.request,default_uom_digits:"
msgid "Default UOM Digits"
-msgstr "Décimales d'unité de mesure par défaut"
+msgstr "Décimales d'UDM par défaut"
msgctxt "field:purchase.request,id:"
msgid "ID"
@@ -130,7 +122,7 @@ msgstr "UDM"
msgctxt "field:purchase.request,uom_digits:"
msgid "UOM Digits"
-msgstr "Décimales d'unité de mesure"
+msgstr "Décimales d'UDM"
msgctxt "field:purchase.request,warehouse:"
msgid "Warehouse"
@@ -168,6 +160,10 @@ msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
msgstr "Produit"
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr "Emplacement d’approvisionnement"
+
msgctxt "field:stock.order_point,company:"
msgid "Company"
msgstr "Société"
@@ -202,7 +198,7 @@ msgstr "Produit"
msgctxt "field:stock.order_point,provisioning_location:"
msgid "Provisioning Location"
-msgstr "Emplacement d'appro."
+msgstr "Emplacement d'approvisionnement"
msgctxt "field:stock.order_point,rec_name:"
msgid "Name"
@@ -240,9 +236,9 @@ msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr "ID"
-msgctxt "model:ir.action,name:"
-msgid "Purchases"
-msgstr "Achats"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
+msgstr "Laisser vide pour aucun approvisionnement par défaut"
msgctxt "model:ir.action,name:act_order_point_form"
msgid "Order Points"
@@ -353,17 +349,13 @@ msgctxt "model:stock.shipment.internal.create.start,name:"
msgid "Create Shipment Internal"
msgstr "Créer l'expédition interne"
-msgctxt "selection:purchase.request,origin:"
-msgid "Order Point"
-msgstr "Règle d'approvisionnement"
-
msgctxt "selection:purchase.request,state:"
msgid "Cancel"
msgstr "Annulé"
msgctxt "selection:purchase.request,state:"
msgid "Done"
-msgstr "Fait"
+msgstr "Effectuée"
msgctxt "selection:purchase.request,state:"
msgid "Draft"
diff --git a/locale/cs_CZ.po b/locale/hu_HU.po
similarity index 97%
copy from locale/cs_CZ.po
copy to locale/hu_HU.po
index a3e7939..37b234b 100644
--- a/locale/cs_CZ.po
+++ b/locale/hu_HU.po
@@ -19,10 +19,6 @@ msgid "Purchase requests are only created by the system."
msgstr ""
msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr ""
-
-msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
@@ -56,10 +52,6 @@ msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
msgstr ""
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr ""
-
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
msgstr ""
@@ -164,6 +156,10 @@ msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
msgstr ""
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr ""
+
msgctxt "field:stock.order_point,company:"
msgid "Company"
msgstr ""
@@ -236,8 +232,8 @@ msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr ""
-msgctxt "model:ir.action,name:"
-msgid "Purchases"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
msgstr ""
msgctxt "model:ir.action,name:act_order_point_form"
diff --git a/locale/cs_CZ.po b/locale/it_IT.po
similarity index 97%
copy from locale/cs_CZ.po
copy to locale/it_IT.po
index a3e7939..37b234b 100644
--- a/locale/cs_CZ.po
+++ b/locale/it_IT.po
@@ -19,10 +19,6 @@ msgid "Purchase requests are only created by the system."
msgstr ""
msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr ""
-
-msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
@@ -56,10 +52,6 @@ msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
msgstr ""
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr ""
-
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
msgstr ""
@@ -164,6 +156,10 @@ msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
msgstr ""
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr ""
+
msgctxt "field:stock.order_point,company:"
msgid "Company"
msgstr ""
@@ -236,8 +232,8 @@ msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr ""
-msgctxt "model:ir.action,name:"
-msgid "Purchases"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
msgstr ""
msgctxt "model:ir.action,name:act_order_point_form"
diff --git a/locale/cs_CZ.po b/locale/ja_JP.po
similarity index 97%
copy from locale/cs_CZ.po
copy to locale/ja_JP.po
index a3e7939..37b234b 100644
--- a/locale/cs_CZ.po
+++ b/locale/ja_JP.po
@@ -19,10 +19,6 @@ msgid "Purchase requests are only created by the system."
msgstr ""
msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr ""
-
-msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
@@ -56,10 +52,6 @@ msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
msgstr ""
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr ""
-
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
msgstr ""
@@ -164,6 +156,10 @@ msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
msgstr ""
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr ""
+
msgctxt "field:stock.order_point,company:"
msgid "Company"
msgstr ""
@@ -236,8 +232,8 @@ msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr ""
-msgctxt "model:ir.action,name:"
-msgid "Purchases"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
msgstr ""
msgctxt "model:ir.action,name:act_order_point_form"
diff --git a/locale/cs_CZ.po b/locale/lt_LT.po
similarity index 97%
copy from locale/cs_CZ.po
copy to locale/lt_LT.po
index a3e7939..37b234b 100644
--- a/locale/cs_CZ.po
+++ b/locale/lt_LT.po
@@ -19,10 +19,6 @@ msgid "Purchase requests are only created by the system."
msgstr ""
msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr ""
-
-msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
@@ -56,10 +52,6 @@ msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
msgstr ""
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr ""
-
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
msgstr ""
@@ -164,6 +156,10 @@ msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
msgstr ""
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr ""
+
msgctxt "field:stock.order_point,company:"
msgid "Company"
msgstr ""
@@ -236,8 +232,8 @@ msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr ""
-msgctxt "model:ir.action,name:"
-msgid "Purchases"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
msgstr ""
msgctxt "model:ir.action,name:act_order_point_form"
diff --git a/locale/nl_NL.po b/locale/nl_NL.po
index a13516d..4572988 100644
--- a/locale/nl_NL.po
+++ b/locale/nl_NL.po
@@ -19,10 +19,6 @@ msgid "Purchase requests are only created by the system."
msgstr ""
msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr ""
-
-msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
@@ -57,10 +53,6 @@ msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
msgstr ""
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr ""
-
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
msgstr ""
@@ -174,6 +166,10 @@ msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
msgstr "Producten"
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr ""
+
#, fuzzy
msgctxt "field:stock.order_point,company:"
msgid "Company"
@@ -252,8 +248,8 @@ msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr ""
-msgctxt "model:ir.action,name:"
-msgid "Purchases"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
msgstr ""
msgctxt "model:ir.action,name:act_order_point_form"
diff --git a/locale/es_CO.po b/locale/pt_BR.po
similarity index 72%
copy from locale/es_CO.po
copy to locale/pt_BR.po
index 41546a5..d4a9ba3 100644
--- a/locale/es_CO.po
+++ b/locale/pt_BR.po
@@ -4,75 +4,67 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "error:purchase.request.create:"
msgid "There are some late supplier moves."
-msgstr "Hay pendientes algunos movimientos de proveedor."
+msgstr "Existem algumas movimentações de fornecedor atrasadas."
msgctxt "error:purchase.request.create_purchase:"
msgid "Purchase price is missing for product \"%s\"."
-msgstr "Falta el precio de compra del producto \"%s\"."
+msgstr "Falta o preço de compra para o produto \"%s\"."
msgctxt "error:purchase.request.create_purchase:"
msgid "This price is necessary for creating purchases."
-msgstr "Este precio es ncesario para crear compras."
+msgstr "Este preço é necessário para criação de compras."
msgctxt "error:purchase.request:"
msgid "Purchase requests are only created by the system."
-msgstr "Los requisitos de compras son creados por el sistema únicamente."
-
-msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr "La cantidad solicitada debe ser mayor que 0"
+msgstr "Ordens de compra são criadas apenas pelo sistema."
msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
-msgstr "No puede borrar ordenes de compra."
+msgstr "Você não pode apagar uma requisição de compra efetuada."
msgctxt "error:stock.order_point:"
msgid "Maximal quantity must be bigger than Minimal quantity"
-msgstr "La cantidad máxima debe ser mayor que la cantidad mínima"
+msgstr "A quantidade máxima deve ser maior do que a quantidade mínima"
msgctxt "error:stock.order_point:"
msgid "Only one order point is allowed for each product-location pair."
-msgstr ""
-"Solamente se permite un punto de orden para cada par producto-locación."
+msgstr "Apenas uma ordem é permitida para cada par produto-localização."
msgctxt "error:stock.order_point:"
msgid ""
"You can not define two order points on the same product with opposite "
"locations."
msgstr ""
-"No puede definir dos requisiciones del mismo producto con lugares opuestos."
+"Você não pode definir duas ordens para o mesmo produto com localizações "
+"opostas."
msgctxt "field:product.product,order_points:"
msgid "Order Points"
-msgstr "Requisiciones"
+msgstr "Regras de Abastecimento"
msgctxt "field:purchase.request,company:"
msgid "Company"
-msgstr "Compañía"
+msgstr "Empresa"
msgctxt "field:purchase.request,computed_quantity:"
msgid "Computed Quantity"
-msgstr "Cantidad Calculada"
+msgstr "Quantidade computada"
msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
-msgstr "UdM Calculada"
-
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr "Digitos UdM Computado"
+msgstr "UDM computada"
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr "Data de criação"
msgctxt "field:purchase.request,create_uid:"
msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr "Criado pelo usuário"
msgctxt "field:purchase.request,default_uom_digits:"
msgid "Default UOM Digits"
-msgstr "Digitos de UdM por Defecto"
+msgstr "Dígitos Decimais Padrão da UDM."
msgctxt "field:purchase.request,id:"
msgid "ID"
@@ -80,15 +72,15 @@ msgstr "ID"
msgctxt "field:purchase.request,origin:"
msgid "Origin"
-msgstr "Origen"
+msgstr "Origem"
msgctxt "field:purchase.request,party:"
msgid "Party"
-msgstr "Tercero"
+msgstr "Parceiro"
msgctxt "field:purchase.request,product:"
msgid "Product"
-msgstr "Producto"
+msgstr "Produto"
msgctxt "field:purchase.request,purchase:"
msgid "Purchase"
@@ -96,19 +88,19 @@ msgstr "Compra"
msgctxt "field:purchase.request,purchase_date:"
msgid "Best Purchase Date"
-msgstr "Mejor Fecha de Compra"
+msgstr "Melhor data para compra"
msgctxt "field:purchase.request,purchase_line:"
msgid "Purchase Line"
-msgstr "Línea de Compra"
+msgstr "Linha da compra"
msgctxt "field:purchase.request,quantity:"
msgid "Quantity"
-msgstr "Cantidad"
+msgstr "Quantidade"
msgctxt "field:purchase.request,rec_name:"
msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
msgctxt "field:purchase.request,state:"
msgid "State"
@@ -116,35 +108,35 @@ msgstr "Estado"
msgctxt "field:purchase.request,stock_level:"
msgid "Stock at Supply Date"
-msgstr "Inventario a Fecha de Aprovisionamiento"
+msgstr "Estoque na data do fornecimento"
msgctxt "field:purchase.request,supply_date:"
msgid "Expected Supply Date"
-msgstr "Fecha Esperada de Aprovisionamiento"
+msgstr "Data prevista para fornecimento"
msgctxt "field:purchase.request,uom:"
msgid "UOM"
-msgstr "UDM"
+msgstr "UM"
msgctxt "field:purchase.request,uom_digits:"
msgid "UOM Digits"
-msgstr "Dígitos de UdM"
+msgstr "Dígitos Decimais da UDM."
msgctxt "field:purchase.request,warehouse:"
msgid "Warehouse"
-msgstr "Depósito"
+msgstr "Estoque/Almoxarifado"
msgctxt "field:purchase.request,warehouse_required:"
msgid "Warehouse Required"
-msgstr "Depósito Requerido"
+msgstr "Armazém Obrigatório"
msgctxt "field:purchase.request,write_date:"
msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr "Data de gravação"
msgctxt "field:purchase.request,write_uid:"
msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr "Gravado pelo usuário"
msgctxt "field:purchase.request.create.start,id:"
msgid "ID"
@@ -152,7 +144,7 @@ msgstr "ID"
msgctxt "field:purchase.request.create_purchase.ask_party,company:"
msgid "Company"
-msgstr "Compañía"
+msgstr "Empresa"
msgctxt "field:purchase.request.create_purchase.ask_party,id:"
msgid "ID"
@@ -160,23 +152,27 @@ msgstr "ID"
msgctxt "field:purchase.request.create_purchase.ask_party,party:"
msgid "Supplier"
-msgstr "Proveedor"
+msgstr "Fornecedor"
msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
-msgstr "Producto"
+msgstr "Produto"
+
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr "Localização do Abastecimento"
msgctxt "field:stock.order_point,company:"
msgid "Company"
-msgstr "Compañía"
+msgstr "Empresa"
msgctxt "field:stock.order_point,create_date:"
msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr "Data de criação"
msgctxt "field:stock.order_point,create_uid:"
msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr "Criado pelo usuário"
msgctxt "field:stock.order_point,id:"
msgid "ID"
@@ -184,31 +180,31 @@ msgstr "ID"
msgctxt "field:stock.order_point,location:"
msgid "Location"
-msgstr "Bodega"
+msgstr "Localização"
msgctxt "field:stock.order_point,max_quantity:"
msgid "Maximal Quantity"
-msgstr "Cantidad Máxima"
+msgstr "Quantidade máxima"
msgctxt "field:stock.order_point,min_quantity:"
msgid "Minimal Quantity"
-msgstr "Cantidad Mínima"
+msgstr "Quantidade mínima"
msgctxt "field:stock.order_point,product:"
msgid "Product"
-msgstr "Producto"
+msgstr "Produto"
msgctxt "field:stock.order_point,provisioning_location:"
msgid "Provisioning Location"
-msgstr "Bodega de Almacenamiento"
+msgstr "Localização do Abastecimento"
msgctxt "field:stock.order_point,rec_name:"
msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
msgctxt "field:stock.order_point,storage_location:"
msgid "Storage Location"
-msgstr "Bodega de Almacenamiento"
+msgstr "Local de armazenamento"
msgctxt "field:stock.order_point,type:"
msgid "Type"
@@ -216,69 +212,69 @@ msgstr "Tipo"
msgctxt "field:stock.order_point,unit:"
msgid "Unit"
-msgstr "Unidad"
+msgstr "Unidade"
msgctxt "field:stock.order_point,unit_digits:"
msgid "Unit Digits"
-msgstr "Decimales de Unidad"
+msgstr "Dígitos da unidade"
msgctxt "field:stock.order_point,warehouse_location:"
msgid "Warehouse Location"
-msgstr "Bodega"
+msgstr "Localização do estoque/almoxarifado"
msgctxt "field:stock.order_point,write_date:"
msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr "Data de gravação"
msgctxt "field:stock.order_point,write_uid:"
msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr "Gravado pelo usuário"
msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr "ID"
-msgctxt "model:ir.action,name:"
-msgid "Purchases"
-msgstr "Compras"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
+msgstr "Deixe vazio para nenhum abastecimento padrão"
msgctxt "model:ir.action,name:act_order_point_form"
msgid "Order Points"
-msgstr "Requisiciones"
+msgstr "Regras de Abastecimento"
msgctxt "model:ir.action,name:act_order_point_form_relate"
msgid "Order Points"
-msgstr "Requisiciones"
+msgstr "Regras de Abastecimento"
msgctxt "model:ir.action,name:act_order_point_form_relate2"
msgid "Order Points"
-msgstr "Requisiciones"
+msgstr "Regras de Abastecimento"
msgctxt "model:ir.action,name:act_purchase_request_create"
msgid "Create Purchase Requests"
-msgstr "Crear Ordenes de Compras"
+msgstr "Criar ordens de compra"
msgctxt "model:ir.action,name:act_purchase_request_form"
msgid "Purchase Requests"
-msgstr "Ordenes de Compra"
+msgstr "Ordens de compra"
msgctxt "model:ir.action,name:act_shipment_internal_create"
msgid "Create Internal Shipments"
-msgstr "Crear Envío Interno"
+msgstr "Gerar Remessas Internas"
msgctxt "model:ir.action,name:wizard_create_purchase"
msgid "Create Purchase"
-msgstr "Crear Compra"
+msgstr "Criar a compra"
msgctxt ""
"model:ir.action.act_window.domain,name:act_order_point_form_domain_all"
msgid "All"
-msgstr "Todo"
+msgstr "Todos"
msgctxt ""
"model:ir.action.act_window.domain,name:act_order_point_form_domain_internal"
msgid "Internal"
-msgstr "Interna"
+msgstr "Interno"
msgctxt ""
"model:ir.action.act_window.domain,name:act_order_point_form_domain_purchase"
@@ -288,72 +284,68 @@ msgstr "Compra"
msgctxt ""
"model:ir.action.act_window.domain,name:act_purchase_request_form_domain_all"
msgid "All"
-msgstr "Todo"
+msgstr "Todos"
msgctxt ""
"model:ir.action.act_window.domain,name:act_purchase_request_form_domain_draft"
msgid "Draft"
-msgstr "Borrador"
+msgstr "Rascunho"
msgctxt "model:ir.cron,name:cron_generate_request"
msgid "Generate Purchase Requests"
-msgstr "Generar Orden de Compra"
+msgstr "Gere ordens de compra"
msgctxt "model:ir.cron,name:cron_shipment_iternal"
msgid "Generate Internal Shipments"
-msgstr "Generar Envío Interno"
+msgstr "Gere expedições internas"
msgctxt "model:ir.ui.menu,name:menu_order_point_form"
msgid "Order Points"
-msgstr "Requisiciones"
+msgstr "Regras de Abastecimento"
msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
msgid "Create Purchase Requests"
-msgstr "Crear Ordenes de Compra"
+msgstr "Criar ordens de compra"
msgctxt "model:ir.ui.menu,name:menu_purchase_request_form"
msgid "Purchase Requests"
-msgstr "Ordenes de Compra"
+msgstr "Ordens de compra"
msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
msgid "Create Internal Shipments"
-msgstr "Crear Envíos Internos"
+msgstr "Gerar Remessas Internas"
msgctxt "model:purchase.request,name:"
msgid "Purchase Request"
-msgstr "Orden de Compra"
+msgstr "Pedido de compra"
msgctxt "model:purchase.request.create.start,name:"
msgid "Create Purchase Request"
-msgstr "Crear Orden de Compra"
+msgstr "Criar ordem de compra"
msgctxt "model:purchase.request.create_purchase.ask_party,name:"
msgid "Create Purchase Ask Party"
-msgstr "Crear Compra Pregunta Tercero"
+msgstr "Criar a compra pedem o parte"
msgctxt "model:res.group,name:group_purchase_request"
msgid "Purchase Request"
-msgstr "Orden de Compra"
+msgstr "Pedido de compra"
msgctxt "model:res.user,name:user_generate_request"
msgid "Cron Purchase Request"
-msgstr "Cron Orden de Compra"
+msgstr "Pedido de compra de Cron"
msgctxt "model:res.user,name:user_generate_shipment_internal"
msgid "Cron Intenal Shipment"
-msgstr "Cron Envío Interno"
+msgstr "Programar Remessas Internas"
msgctxt "model:stock.order_point,name:"
msgid "Order Point"
-msgstr "Requisición"
+msgstr "Regra de Abastecimento"
msgctxt "model:stock.shipment.internal.create.start,name:"
msgid "Create Shipment Internal"
-msgstr "Crear Envío Interno"
-
-msgctxt "selection:purchase.request,origin:"
-msgid "Order Point"
-msgstr "Requisición"
+msgstr "Criar Remessa Interna"
msgctxt "selection:purchase.request,state:"
msgid "Cancel"
@@ -361,11 +353,11 @@ msgstr "Cancelar"
msgctxt "selection:purchase.request,state:"
msgid "Done"
-msgstr "Hecho"
+msgstr "Feito"
msgctxt "selection:purchase.request,state:"
msgid "Draft"
-msgstr "Borrador"
+msgstr "Rascunho"
msgctxt "selection:purchase.request,state:"
msgid "Purchased"
@@ -373,7 +365,7 @@ msgstr "Comprado"
msgctxt "selection:stock.order_point,type:"
msgid "Internal"
-msgstr "Interna"
+msgstr "Interno"
msgctxt "selection:stock.order_point,type:"
msgid "Purchase"
@@ -381,59 +373,59 @@ msgstr "Compra"
msgctxt "view:purchase.request.create.start:"
msgid "Create Purchase Requests"
-msgstr "Crear Ordenes de Compras"
+msgstr "Criar ordens de compra"
msgctxt "view:purchase.request.create.start:"
msgid "Create Purchase Requests?"
-msgstr "Crear Ordenes de Compras?"
+msgstr "Criar Ordens de Compra?"
msgctxt "view:purchase.request.create_purchase.ask_party:"
msgid "Create Purchase: Missing Supplier"
-msgstr "Crear Compra: Sin Proveedor"
+msgstr "Criar compra: falta o fornecedor"
msgctxt "view:purchase.request:"
msgid "Product Info"
-msgstr "Información de Producto"
+msgstr "Informação do Produto"
msgctxt "view:purchase.request:"
msgid "Purchase Request"
-msgstr "Orden de Compra"
+msgstr "Pedido de compra"
msgctxt "view:purchase.request:"
msgid "Purchase Requests"
-msgstr "Ordenes de Compra"
+msgstr "Ordens de compra"
msgctxt "view:purchase.request:"
msgid "Supply Info"
-msgstr "Información de Proveedor"
+msgstr "Informação do Abastecimento"
msgctxt "view:stock.order_point:"
msgid "Order Point"
-msgstr "Requisición"
+msgstr "Regra de Abastecimento"
msgctxt "view:stock.order_point:"
msgid "Order Point Type"
-msgstr "Tipo de Requisición"
+msgstr "Tipo de Regra de Abastecimento"
msgctxt "view:stock.order_point:"
msgid "Order Points"
-msgstr "Requisiciones"
+msgstr "Regra de Abastecimento"
msgctxt "view:stock.order_point:"
msgid "Product Info"
-msgstr "Información de Producto"
+msgstr "Informação do Produto"
msgctxt "view:stock.shipment.internal.create.start:"
msgid "Create Internal Shipments"
-msgstr "Crear Envíos Internos"
+msgstr "Criar Remessas Internas"
msgctxt "view:stock.shipment.internal.create.start:"
msgid "Create Internal Shipments?"
-msgstr "Crear Envíos Internos?"
+msgstr "Criar Remessas Internas?"
msgctxt "wizard_button:purchase.request.create,start,create_:"
msgid "Create"
-msgstr "Crear"
+msgstr "Criar"
msgctxt "wizard_button:purchase.request.create,start,end:"
msgid "Cancel"
@@ -449,7 +441,7 @@ msgstr "Continuar"
msgctxt "wizard_button:stock.shipment.internal.create,start,create_:"
msgid "Create"
-msgstr "Crear"
+msgstr "Criar"
msgctxt "wizard_button:stock.shipment.internal.create,start,end:"
msgid "Cancel"
diff --git a/locale/ru_RU.po b/locale/ru_RU.po
index cb6e998..88a0d6c 100644
--- a/locale/ru_RU.po
+++ b/locale/ru_RU.po
@@ -19,10 +19,6 @@ msgid "Purchase requests are only created by the system."
msgstr "Запросы на покупку создаются системой."
msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr "Запрашиваемое кол-во должно быть больше 0"
-
-msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
@@ -59,10 +55,6 @@ msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
msgstr "Расчитанные ед. измерения"
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr ""
-
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
msgstr "Дата создания"
@@ -167,6 +159,10 @@ msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
msgstr "Продукт"
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr ""
+
msgctxt "field:stock.order_point,company:"
msgid "Company"
msgstr "Организация"
@@ -240,9 +236,9 @@ msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr "ID"
-msgctxt "model:ir.action,name:"
-msgid "Purchases"
-msgstr "Покупки"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
+msgstr ""
msgctxt "model:ir.action,name:act_order_point_form"
msgid "Order Points"
diff --git a/locale/sl_SI.po b/locale/sl_SI.po
index e90111d..9f3f91c 100644
--- a/locale/sl_SI.po
+++ b/locale/sl_SI.po
@@ -19,10 +19,6 @@ msgid "Purchase requests are only created by the system."
msgstr "Nabavni zahtevki so izdelani samo s strani sistema."
msgctxt "error:purchase.request:"
-msgid "The requested quantity must be greater than 0"
-msgstr "Zahtevana količina mora biti večja od nič."
-
-msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr "Nabavnega zahtevka ni možno zbrisati."
@@ -58,10 +54,6 @@ msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
msgstr "Izračunana ME"
-msgctxt "field:purchase.request,computed_uom_digits:"
-msgid "Computed UOM Digits"
-msgstr "Decimalke izračunane ME"
-
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
msgstr "Izdelano"
@@ -166,6 +158,10 @@ msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
msgstr "Izdelek"
+msgctxt "field:stock.location,provisioning_location:"
+msgid "Provisioning Location"
+msgstr "Preskrba"
+
msgctxt "field:stock.order_point,company:"
msgid "Company"
msgstr "Družba"
@@ -238,6 +234,10 @@ msgctxt "field:stock.shipment.internal.create.start,id:"
msgid "ID"
msgstr "ID"
+msgctxt "help:stock.location,provisioning_location:"
+msgid "Leave empty for no default provisioning"
+msgstr "Pusti prazno, če ni privzete preskrbe"
+
msgctxt "model:ir.action,name:"
msgid "Purchases"
msgstr "Nabavni nalogi"
diff --git a/location.py b/location.py
new file mode 100644
index 0000000..b5a3830
--- /dev/null
+++ b/location.py
@@ -0,0 +1,25 @@
+# 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.pool import PoolMeta
+from trytond.model import fields
+from trytond.pyson import Eval
+
+
+__all__ = ['Location']
+
+
+class Location:
+ __metaclass__ = PoolMeta
+ __name__ = 'stock.location'
+
+ provisioning_location = fields.Many2One('stock.location',
+ 'Provisioning Location',
+ states={
+ 'invisible': Eval('type') != 'storage',
+ 'readonly': ~Eval('active'),
+ },
+ domain=[
+ ('type', '=', 'storage'),
+ ],
+ depends=['type', 'active'],
+ help='Leave empty for no default provisioning')
diff --git a/location.xml b/location.xml
new file mode 100644
index 0000000..82f4599
--- /dev/null
+++ b/location.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. -->
+<tryton>
+ <data>
+ <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="name">location_form</field>
+ </record>
+ </data>
+</tryton>
diff --git a/order_point.py b/order_point.py
index a252004..a5f9dd9 100644
--- a/order_point.py
+++ b/order_point.py
@@ -1,6 +1,6 @@
# 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, ModelSQL, fields
+from trytond.model import ModelView, ModelSQL, fields, Check
from trytond.pyson import If, Equal, Eval, Not, In
from trytond.transaction import Transaction
from trytond import backend
@@ -71,9 +71,10 @@ class OrderPoint(ModelSQL, ModelView):
@classmethod
def __setup__(cls):
super(OrderPoint, cls).__setup__()
+ t = cls.__table__()
cls._sql_constraints += [
('check_max_qty_greater_min_qty',
- 'CHECK(max_quantity >= min_quantity)',
+ Check(t, t.max_quantity >= t.min_quantity),
'Maximal quantity must be bigger than Minimal quantity'),
]
cls._error_messages.update({
diff --git a/purchase_request.py b/purchase_request.py
index d425eef..81b4bc8 100644
--- a/purchase_request.py
+++ b/purchase_request.py
@@ -2,9 +2,13 @@
# this repository contains the full copyright notices and license terms.
import datetime
import operator
+from sql import Null
+from sql.conditionals import Case
from itertools import groupby
from functools import partial
from decimal import Decimal
+
+from trytond import backend
from trytond.model import ModelView, ModelSQL, fields
from trytond.wizard import Wizard, StateView, StateAction, StateTransition, \
Button
@@ -36,14 +40,9 @@ class PurchaseRequest(ModelSQL, ModelView):
states=STATES, depends=DEPENDS)
uom_digits = fields.Function(fields.Integer('UOM Digits'),
'on_change_with_uom_digits')
- computed_quantity = fields.Float('Computed Quantity', readonly=True,
- digits=(16, Eval('computed_uom_digits', 2)),
- depends=['computed_uom_digits'])
+ computed_quantity = fields.Float('Computed Quantity', readonly=True)
computed_uom = fields.Many2One('product.uom', 'Computed UOM',
readonly=True)
- computed_uom_digits = fields.Function(fields.Integer(
- 'Computed UOM Digits'),
- 'on_change_with_computed_uom_digits')
purchase_date = fields.Date('Best Purchase Date', readonly=True)
supply_date = fields.Date('Expected Supply Date', readonly=True)
default_uom_digits = fields.Function(fields.Integer('Default UOM Digits'),
@@ -76,7 +75,7 @@ class PurchaseRequest(ModelSQL, ModelView):
('done', 'Done'),
('draft', 'Draft'),
('cancel', 'Cancel'),
- ], 'State'), 'get_state')
+ ], 'State'), 'get_state', searcher='search_state')
@classmethod
def __setup__(cls):
@@ -88,13 +87,10 @@ class PurchaseRequest(ModelSQL, ModelView):
'delete_purchase_line': ('You can not delete purchased '
'request.'),
})
- cls._sql_constraints += [
- ('check_purchase_request_quantity', 'CHECK(quantity > 0)',
- 'The requested quantity must be greater than 0'),
- ]
@classmethod
def __register__(cls, module_name):
+ TableHandler = backend.get('TableHandler')
cursor = Transaction().cursor
sql_table = cls.__table__()
super(PurchaseRequest, cls).__register__(module_name)
@@ -105,6 +101,10 @@ class PurchaseRequest(ModelSQL, ModelView):
values=['stock.order_point,-1'],
where=sql_table.origin == 'stock.order_point,0'))
+ # Migration from 3.6: removing the constraint on the quantity
+ tablehandler = TableHandler(cursor, cls, module_name)
+ tablehandler.drop_constraint('check_purchase_request_quantity')
+
def get_rec_name(self, name):
if self.warehouse:
return "%s@%s" % (self.product.name, self.warehouse.name)
@@ -142,6 +142,34 @@ class PurchaseRequest(ModelSQL, ModelView):
return 'purchased'
return 'draft'
+ @classmethod
+ def search_state(cls, name, clause):
+ pool = Pool()
+ Purchase = pool.get('purchase.purchase')
+ PurchaseLine = pool.get('purchase.line')
+
+ request = cls.__table__()
+ purchase_line = PurchaseLine.__table__()
+ purchase = Purchase.__table__()
+
+ _, operator_, state = clause
+ Operator = fields.SQL_OPERATORS[operator_]
+ state_case = Case(
+ (purchase.state == 'cancel', 'cancel'),
+ (purchase.state == 'done', 'done'),
+ (request.purchase_line != Null, 'purchased'),
+ else_='draft')
+ state_query = request.join(
+ purchase_line, type_='LEFT',
+ condition=request.purchase_line == purchase_line.id
+ ).join(purchase, type_='LEFT',
+ condition=purchase_line.purchase == purchase.id
+ ).select(
+ request.id,
+ where=Operator(state_case, state))
+
+ return [('id', 'in', state_query)]
+
def get_warehouse_required(self, name):
return self.product.type in ('goods', 'assets')
@@ -151,12 +179,6 @@ class PurchaseRequest(ModelSQL, ModelView):
return self.uom.digits
return 2
- @fields.depends('computed_uom')
- def on_change_with_computed_uom_digits(self, name=None):
- if self.computed_uom:
- return self.computed_uom.digits
- return 2
-
@fields.depends('product')
def on_change_with_default_uom_digits(self, name=None):
if self.product:
@@ -277,7 +299,7 @@ class PurchaseRequest(ModelSQL, ModelView):
for new_req in new_requests:
if new_req.supply_date == datetime.date.max:
new_req.supply_date = None
- if new_req.quantity > 0.0:
+ if new_req.computed_quantity > 0:
new_req.save()
@classmethod
@@ -304,14 +326,9 @@ class PurchaseRequest(ModelSQL, ModelView):
request.warehouse.id != pline.purchase.warehouse.id:
continue
# Take smallest amount between request and purchase line
- req_qty = Uom.compute_qty(request.uom, request.quantity,
- pline.unit)
- if req_qty < pline.quantity:
- quantity = request.quantity
- uom = request.uom
- else:
- quantity = pline.quantity
- uom = pline.unit
+ pline_qty = Uom.compute_qty(pline.unit, pline.quantity,
+ pline.product.default_uom, round=False)
+ quantity = min(request.computed_quantity, pline_qty)
existing_req.setdefault(
(request.product.id, request.warehouse.id),
@@ -319,7 +336,6 @@ class PurchaseRequest(ModelSQL, ModelView):
'supply_date': (
request.supply_date or datetime.date.max),
'quantity': quantity,
- 'uom': uom,
})
for i in existing_req.itervalues():
@@ -331,12 +347,13 @@ class PurchaseRequest(ModelSQL, ModelView):
for old_req in existing_req.get(
(new_req.product.id, new_req.warehouse.id), []):
if old_req['supply_date'] <= new_req.supply_date:
- quantity = Uom.compute_qty(old_req['uom'],
- old_req['quantity'], new_req.uom)
- new_req.quantity = max(0.0, new_req.quantity - quantity)
- new_req.computed_quantity = new_req.quantity
- old_req['quantity'] = Uom.compute_qty(new_req.uom,
- max(0.0, quantity - new_req.quantity), old_req['uom'])
+ new_req.computed_quantity = max(0.0,
+ new_req.computed_quantity - old_req['quantity'])
+ new_req.quantity = Uom.compute_qty(
+ new_req.product.default_uom, new_req.computed_quantity,
+ new_req.uom)
+ old_req['quantity'] = max(0.0,
+ old_req['quantity'] - new_req.computed_quantity)
else:
break
@@ -414,9 +431,9 @@ class PurchaseRequest(ModelSQL, ModelView):
shortage_date)
max_quantity = order_point and order_point.max_quantity or 0.0
- quantity = Uom.compute_qty(product.default_uom,
- max_quantity - product_quantity,
- product.purchase_uom or product.default_uom)
+ computed_quantity = max_quantity - product_quantity
+ quantity = Uom.compute_qty(product.default_uom, computed_quantity,
+ product.purchase_uom or product.default_uom)
if order_point:
origin = 'stock.order_point,%s' % order_point.id
@@ -426,8 +443,8 @@ class PurchaseRequest(ModelSQL, ModelView):
party=supplier and supplier or None,
quantity=quantity,
uom=product.purchase_uom or product.default_uom,
- computed_quantity=quantity,
- computed_uom=product.purchase_uom or product.default_uom,
+ computed_quantity=computed_quantity,
+ computed_uom=product.default_uom,
purchase_date=purchase_date,
supply_date=shortage_date,
stock_level=product_quantity,
diff --git a/setup.py b/setup.py
index c532948..0ad1a0e 100644
--- a/setup.py
+++ b/setup.py
@@ -87,6 +87,9 @@ setup(name=name,
'Natural Language :: English',
'Natural Language :: French',
'Natural Language :: German',
+ 'Natural Language :: Hungarian',
+ 'Natural Language :: Italian',
+ 'Natural Language :: Portuguese (Brazilian)',
'Natural Language :: Russian',
'Natural Language :: Slovenian',
'Natural Language :: Spanish',
diff --git a/shipment.py b/shipment.py
index f8b6c1b..dd3627f 100644
--- a/shipment.py
+++ b/shipment.py
@@ -46,6 +46,7 @@ class ShipmentInternal(ModelSQL, ModelView):
"""
pool = Pool()
OrderPoint = pool.get('stock.order_point')
+ Location = pool.get('stock.location')
Product = pool.get('product.product')
Date = pool.get('ir.date')
User = pool.get('res.user')
@@ -57,25 +58,50 @@ class ShipmentInternal(ModelSQL, ModelView):
('type', '=', 'internal'),
])
id2product = {}
- location_ids = []
+ product2op = {}
+ id2location = {}
for op in order_points:
id2product[op.product.id] = op.product
- location_ids.append(op.storage_location.id)
+ product2op[
+ (op.storage_location.id, op.product.id)
+ ] = op
+ id2location[op.storage_location.id] = op.storage_location
+ provisioned = Location.search([
+ ('provisioning_location', '!=', None),
+ ])
+ id2location.update({l.id: l for l in provisioned})
+ # ordered by ids to speedup reduce_ids in products_by_location
+ if provisioned:
+ products = Product.search([
+ ('type', 'in', ['goods', 'assets']),
+ ], order=[('id', 'ASC')])
+ product_ids = [p.id for p in products]
+ else:
+ product_ids = id2product.keys()
+ product_ids.sort()
# TODO Allow to compute for other future date
with Transaction().set_context(forecast=True, stock_date_end=today):
- pbl = Product.products_by_location(location_ids,
- list(id2product.iterkeys()), with_childs=True)
+ pbl = Product.products_by_location(id2location.keys(),
+ product_ids, with_childs=True)
# Create a list of move to create
moves = {}
- for op in order_points:
- qty = pbl.get((op.storage_location.id, op.product.id), 0)
- if qty < op.min_quantity:
- key = (op.provisioning_location.id,
- op.storage_location.id,
- op.product.id)
- moves[key] = op.max_quantity - qty
+ for location in id2location.itervalues():
+ for product_id in product_ids:
+ qty = pbl.get((location.id, product_id), 0)
+ op = product2op.get((location.id, product_id))
+ if op:
+ min_qty, max_qty = op.min_quantity, op.max_quantity
+ provisioning_location = op.provisioning_location
+ elif location and location.provisioning_location:
+ min_qty, max_qty = 0, 0
+ provisioning_location = location.provisioning_location
+ else:
+ continue
+ if qty < min_qty:
+ key = (provisioning_location.id, location.id, product_id)
+ moves[key] = max_qty - qty
# Group moves by {from,to}_location
to_create = {}
@@ -94,13 +120,16 @@ class ShipmentInternal(ModelSQL, ModelView):
)
shipment_moves = []
for move in moves:
- product, qty = move
+ product_id, qty = move
+ product = id2product.setdefault(
+ product_id, Product(product_id))
shipment_moves.append(Move(
from_location=from_location,
to_location=to_location,
+ planned_date=today,
product=product,
quantity=qty,
- uom=id2product[product].default_uom,
+ uom=product.default_uom,
company=user_record.company,
))
shipment.moves = shipment_moves
diff --git a/tests/scenario_stock_internal_supply.rst b/tests/scenario_stock_internal_supply.rst
index a0f638f..8a84f07 100644
--- a/tests/scenario_stock_internal_supply.rst
+++ b/tests/scenario_stock_internal_supply.rst
@@ -19,10 +19,10 @@ Create database::
Install stock Module::
- >>> Module = Model.get('ir.module.module')
+ >>> Module = Model.get('ir.module')
>>> module, = Module.find([('name', '=', 'stock_supply')])
>>> module.click('install')
- >>> Wizard('ir.module.module.install_upgrade').execute('upgrade')
+ >>> Wizard('ir.module.install_upgrade').execute('upgrade')
Create company::
@@ -94,8 +94,9 @@ Get stock locations::
>>> customer_loc, = Location.find([('code', '=', 'CUS')])
>>> output_loc, = Location.find([('code', '=', 'OUT')])
>>> storage_loc, = Location.find([('code', '=', 'STO')])
+ >>> lost_loc, = Location.find([('type', '=', 'lost_found')])
-Create new internal location::
+Create provisioning location::
>>> Location = Model.get('stock.location')
>>> provisioning_loc = Location()
@@ -104,12 +105,20 @@ Create new internal location::
>>> provisioning_loc.parent = warehouse_loc
>>> provisioning_loc.save()
+Create a new storage location::
+
+ >>> sec_storage_loc = Location()
+ >>> sec_storage_loc.name = 'Second Storage'
+ >>> sec_storage_loc.type = 'storage'
+ >>> sec_storage_loc.parent = warehouse_loc
+ >>> sec_storage_loc.provisioning_location = provisioning_loc
+ >>> sec_storage_loc.save()
+
Create internal order point::
>>> OrderPoint = Model.get('stock.order_point')
>>> order_point = OrderPoint()
>>> order_point.product = product
- >>> order_point.warehouse_location = warehouse_loc
>>> order_point.storage_location = storage_loc
>>> order_point.provisioning_location = provisioning_loc
>>> order_point.type = 'internal'
@@ -148,3 +157,33 @@ Execute internal supply::
u'Provisioning Location'
>>> move.to_location.code
u'STO'
+
+Create negative quantity in Second Storage::
+
+ >>> Move = Model.get('stock.move')
+ >>> move = Move()
+ >>> move.product = product
+ >>> move.quantity = 10
+ >>> move.from_location = sec_storage_loc
+ >>> move.to_location = lost_loc
+ >>> move.click('do')
+ >>> move.state
+ u'done'
+
+Execute internal supply::
+
+ >>> Wizard('stock.shipment.internal.create').execute('create_')
+ >>> shipment, = ShipmentInternal.find([('id', '!=', shipment.id)])
+ >>> shipment.state
+ u'waiting'
+ >>> len(shipment.moves)
+ 1
+ >>> move, = shipment.moves
+ >>> move.product.template.name
+ u'Product'
+ >>> move.quantity
+ 10.0
+ >>> move.from_location.name
+ u'Provisioning Location'
+ >>> move.to_location.name
+ u'Second Storage'
diff --git a/tests/scenario_stock_internal_supply.rst b/tests/scenario_stock_supply_purchase_request.rst
similarity index 57%
copy from tests/scenario_stock_internal_supply.rst
copy to tests/scenario_stock_supply_purchase_request.rst
index a0f638f..3bf06ba 100644
--- a/tests/scenario_stock_internal_supply.rst
+++ b/tests/scenario_stock_supply_purchase_request.rst
@@ -1,6 +1,6 @@
-===========================
-Stock Shipment Out Scenario
-===========================
+=========================
+Purchase Request Scenario
+=========================
Imports::
@@ -10,6 +10,8 @@ Imports::
>>> from proteus import config, Model, Wizard
>>> from trytond.modules.company.tests.tools import create_company, \
... get_company
+ >>> from trytond.modules.account.tests.tools import (create_chart,
+ ... get_accounts)
>>> today = datetime.date.today()
Create database::
@@ -19,10 +21,10 @@ Create database::
Install stock Module::
- >>> Module = Model.get('ir.module.module')
+ >>> Module = Model.get('ir.module')
>>> module, = Module.find([('name', '=', 'stock_supply')])
>>> module.click('install')
- >>> Wizard('ir.module.module.install_upgrade').execute('upgrade')
+ >>> Wizard('ir.module.install_upgrade').execute('upgrade')
Create company::
@@ -35,6 +37,18 @@ Reload the context::
>>> Group = Model.get('res.group')
>>> config._context = User.get_preferences(True, config.context)
+Create chart of accounts::
+
+ >>> _ = create_chart(company)
+ >>> accounts = get_accounts(company)
+ >>> expense = accounts['expense']
+
+Create a customer::
+
+ >>> Party = Model.get('party.party')
+ >>> customer = Party(name='Customer')
+ >>> customer.save()
+
Create stock admin user::
>>> stock_admin_user = User()
@@ -67,6 +81,18 @@ Create product user::
>>> product_admin_user.groups.append(product_admin_group)
>>> product_admin_user.save()
+Create purchase user::
+
+ >>> purchase_user = User()
+ >>> purchase_user.name = 'Purchase'
+ >>> purchase_user.login = 'purchase'
+ >>> purchase_user.main_company = company
+ >>> purchase_group, = Group.find([
+ ... ('name', '=', 'Purchase')
+ ... ])
+ >>> purchase_user.groups.append(purchase_group)
+ >>> purchase_user.save()
+
Create product::
>>> config.user = product_admin_user.id
@@ -81,6 +107,8 @@ Create product::
>>> template.type = 'goods'
>>> template.list_price = Decimal('20')
>>> template.cost_price = Decimal('8')
+ >>> template.purchasable = True
+ >>> template.account_expense = expense
>>> template.save()
>>> product.template = template
>>> product.save()
@@ -95,56 +123,43 @@ Get stock locations::
>>> output_loc, = Location.find([('code', '=', 'OUT')])
>>> storage_loc, = Location.find([('code', '=', 'STO')])
-Create new internal location::
-
- >>> Location = Model.get('stock.location')
- >>> provisioning_loc = Location()
- >>> provisioning_loc.name = 'Provisioning Location'
- >>> provisioning_loc.type = 'storage'
- >>> provisioning_loc.parent = warehouse_loc
- >>> provisioning_loc.save()
-
-Create internal order point::
-
- >>> OrderPoint = Model.get('stock.order_point')
- >>> order_point = OrderPoint()
- >>> order_point.product = product
- >>> order_point.warehouse_location = warehouse_loc
- >>> order_point.storage_location = storage_loc
- >>> order_point.provisioning_location = provisioning_loc
- >>> order_point.type = 'internal'
- >>> order_point.min_quantity = 10
- >>> order_point.max_quantity = 15
- >>> order_point.save()
-
-Create inventory to add enough quantity in Provisioning Location::
+Create a need for missing product::
>>> config.user = stock_user.id
- >>> Inventory = Model.get('stock.inventory')
- >>> inventory = Inventory()
- >>> inventory.location = provisioning_loc
- >>> inventory_line = inventory.lines.new(product=product)
- >>> inventory_line.quantity = 100.0
- >>> inventory_line.expected_quantity = 0.0
- >>> inventory.click('confirm')
- >>> inventory.state
- u'done'
-
-Execute internal supply::
-
- >>> ShipmentInternal = Model.get('stock.shipment.internal')
- >>> Wizard('stock.shipment.internal.create').execute('create_')
- >>> shipment, = ShipmentInternal.find([])
- >>> shipment.state
- u'waiting'
- >>> len(shipment.moves)
- 1
- >>> move, = shipment.moves
- >>> move.product.template.name
- u'Product'
- >>> move.quantity
- 15.0
- >>> move.from_location.name
- u'Provisioning Location'
- >>> move.to_location.code
- u'STO'
+ >>> ShipmentOut = Model.get('stock.shipment.out')
+ >>> shipment_out = ShipmentOut()
+ >>> shipment_out.planned_date = today
+ >>> shipment_out.effective_date = today
+ >>> shipment_out.customer = customer
+ >>> shipment_out.warehouse = warehouse_loc
+ >>> shipment_out.company = company
+ >>> move = shipment_out.outgoing_moves.new()
+ >>> move.product = product
+ >>> move.uom = unit
+ >>> move.quantity = 1
+ >>> move.from_location = output_loc
+ >>> move.to_location = customer_loc
+ >>> move.company = company
+ >>> move.unit_price = Decimal('1')
+ >>> move.currency = company.currency
+ >>> shipment_out.click('wait')
+
+There is no purchase request::
+
+ >>> PurchaseRequest = Model.get('purchase.request')
+ >>> PurchaseRequest.find([])
+ []
+
+Create the purchase request::
+
+ >>> create_pr = Wizard('purchase.request.create')
+ >>> create_pr.execute('create_')
+
+There is now a draft purchase request::
+
+ >>> config.user = purchase_user.id
+ >>> pr, = PurchaseRequest.find([('state', '=', 'draft')])
+ >>> pr.product == product
+ True
+ >>> pr.quantity
+ 1.0
diff --git a/tests/test_stock_supply.py b/tests/test_stock_supply.py
index 9f29a88..36f6c2d 100644
--- a/tests/test_stock_supply.py
+++ b/tests/test_stock_supply.py
@@ -128,4 +128,8 @@ def suite():
suite.addTests(doctest.DocFileSuite('scenario_stock_internal_supply.rst',
setUp=doctest_setup, tearDown=doctest_teardown, encoding='utf-8',
optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
+ suite.addTests(doctest.DocFileSuite(
+ 'scenario_stock_supply_purchase_request.rst',
+ setUp=doctest_setup, tearDown=doctest_teardown, encoding='utf-8',
+ optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
return suite
diff --git a/tryton.cfg b/tryton.cfg
index f9177b7..180e232 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
[tryton]
-version=3.6.0
+version=3.8.0
depends:
account
ir
@@ -13,3 +13,4 @@ xml:
purchase_request.xml
shipment.xml
product.xml
+ location.xml
diff --git a/trytond_stock_supply.egg-info/PKG-INFO b/trytond_stock_supply.egg-info/PKG-INFO
index c0844f6..8703a31 100644
--- a/trytond_stock_supply.egg-info/PKG-INFO
+++ b/trytond_stock_supply.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
Metadata-Version: 1.1
Name: trytond-stock-supply
-Version: 3.6.0
+Version: 3.8.0
Summary: Tryton module for stock supply
Home-page: http://www.tryton.org/
Author: Tryton
Author-email: issue_tracker at tryton.org
License: GPL-3
-Download-URL: http://downloads.tryton.org/3.6/
+Download-URL: http://downloads.tryton.org/3.8/
Description: trytond_stock_supply
====================
@@ -60,6 +60,9 @@ Classifier: Natural Language :: Dutch
Classifier: Natural Language :: English
Classifier: Natural Language :: French
Classifier: Natural Language :: German
+Classifier: Natural Language :: Hungarian
+Classifier: Natural Language :: Italian
+Classifier: Natural Language :: Portuguese (Brazilian)
Classifier: Natural Language :: Russian
Classifier: Natural Language :: Slovenian
Classifier: Natural Language :: Spanish
diff --git a/trytond_stock_supply.egg-info/SOURCES.txt b/trytond_stock_supply.egg-info/SOURCES.txt
index e0ee884..d28ff29 100644
--- a/trytond_stock_supply.egg-info/SOURCES.txt
+++ b/trytond_stock_supply.egg-info/SOURCES.txt
@@ -4,6 +4,7 @@ INSTALL
LICENSE
MANIFEST.in
README
+location.xml
order_point.xml
product.xml
purchase_request.xml
@@ -11,6 +12,8 @@ setup.py
shipment.xml
tryton.cfg
./__init__.py
+./location.py
+./location.xml
./order_point.py
./order_point.xml
./product.py
@@ -28,13 +31,21 @@ tryton.cfg
./locale/es_CO.po
./locale/es_EC.po
./locale/es_ES.po
+./locale/es_MX.po
./locale/fr_FR.po
+./locale/hu_HU.po
+./locale/it_IT.po
+./locale/ja_JP.po
+./locale/lt_LT.po
./locale/nl_NL.po
+./locale/pt_BR.po
./locale/ru_RU.po
./locale/sl_SI.po
./tests/__init__.py
./tests/scenario_stock_internal_supply.rst
+./tests/scenario_stock_supply_purchase_request.rst
./tests/test_stock_supply.py
+./view/location_form.xml
./view/order_point_form.xml
./view/order_point_tree.xml
./view/purchase_request_create_purchase_ask_party_form.xml
@@ -51,11 +62,18 @@ locale/es_AR.po
locale/es_CO.po
locale/es_EC.po
locale/es_ES.po
+locale/es_MX.po
locale/fr_FR.po
+locale/hu_HU.po
+locale/it_IT.po
+locale/ja_JP.po
+locale/lt_LT.po
locale/nl_NL.po
+locale/pt_BR.po
locale/ru_RU.po
locale/sl_SI.po
tests/scenario_stock_internal_supply.rst
+tests/scenario_stock_supply_purchase_request.rst
trytond_stock_supply.egg-info/PKG-INFO
trytond_stock_supply.egg-info/SOURCES.txt
trytond_stock_supply.egg-info/dependency_links.txt
@@ -63,6 +81,7 @@ trytond_stock_supply.egg-info/entry_points.txt
trytond_stock_supply.egg-info/not-zip-safe
trytond_stock_supply.egg-info/requires.txt
trytond_stock_supply.egg-info/top_level.txt
+view/location_form.xml
view/order_point_form.xml
view/order_point_tree.xml
view/purchase_request_create_purchase_ask_party_form.xml
diff --git a/trytond_stock_supply.egg-info/requires.txt b/trytond_stock_supply.egg-info/requires.txt
index be181aa..ee0355f 100644
--- a/trytond_stock_supply.egg-info/requires.txt
+++ b/trytond_stock_supply.egg-info/requires.txt
@@ -1,7 +1,7 @@
python-sql
-trytond_account >= 3.6, < 3.7
-trytond_party >= 3.6, < 3.7
-trytond_product >= 3.6, < 3.7
-trytond_purchase >= 3.6, < 3.7
-trytond_stock >= 3.6, < 3.7
-trytond >= 3.6, < 3.7
\ No newline at end of file
+trytond_account >= 3.8, < 3.9
+trytond_party >= 3.8, < 3.9
+trytond_product >= 3.8, < 3.9
+trytond_purchase >= 3.8, < 3.9
+trytond_stock >= 3.8, < 3.9
+trytond >= 3.8, < 3.9
\ No newline at end of file
diff --git a/view/location_form.xml b/view/location_form.xml
new file mode 100644
index 0000000..d367016
--- /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='address']" position="after">
+ <newline/>
+ <label name="provisioning_location"/>
+ <field name="provisioning_location"/>
+ </xpath>
+</data>
--
tryton-modules-stock-supply
More information about the tryton-debian-vcs
mailing list