[tryton-debian-vcs] tryton-modules-purchase-request branch upstream updated. upstream/4.2.0-2-gd61f4ac
Mathias Behrle
tryton-debian-vcs at alioth.debian.org
Wed Jun 7 13:35:08 UTC 2017
The following commit has been merged in the upstream branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-modules-purchase-request.git;a=commitdiff;h=upstream/4.2.0-2-gd61f4ac
commit d61f4ac5dd5525d93cd3d68b99c46d9078dded11
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Wed Jun 7 15:27:33 2017 +0200
Adding upstream version 4.4.1.
Signed-off-by: Mathias Behrle <mathiasb at m9s.biz>
diff --git a/CHANGELOG b/CHANGELOG
index b40d94f..079411f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 4.4.1 - 2017-06-06
+* Bug fixes (see mercurial logs for details)
+
Version 4.4.0 - 2017-05-01
* Bug fixes (see mercurial logs for details)
* Add requests on purchase line
diff --git a/PKG-INFO b/PKG-INFO
index 10006c7..5dd6940 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: trytond_purchase_request
-Version: 4.4.0
+Version: 4.4.1
Summary: Tryton module for purchase requests
Home-page: http://www.tryton.org/
Author: Tryton
diff --git a/purchase.py b/purchase.py
index 703e5ba..2cb4e51 100644
--- a/purchase.py
+++ b/purchase.py
@@ -39,6 +39,7 @@ class Purchase:
cls.check_delete_purchase_request(purchases)
super(Purchase, cls).delete(purchases)
+ @classmethod
def check_delete_purchase_request(cls, purchases):
with Transaction().set_context(_check_access=False):
purchases = cls.browse(purchases)
diff --git a/setup.cfg b/setup.cfg
index 861a9f5..8bfd5a1 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,5 +1,4 @@
[egg_info]
tag_build =
tag_date = 0
-tag_svn_revision = 0
diff --git a/tryton.cfg b/tryton.cfg
index f835f86..bfe1b2b 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
[tryton]
-version=4.4.0
+version=4.4.1
depends:
ir
purchase
diff --git a/trytond_purchase_request.egg-info/PKG-INFO b/trytond_purchase_request.egg-info/PKG-INFO
index f41e972..3670be7 100644
--- a/trytond_purchase_request.egg-info/PKG-INFO
+++ b/trytond_purchase_request.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: trytond-purchase-request
-Version: 4.4.0
+Version: 4.4.1
Summary: Tryton module for purchase requests
Home-page: http://www.tryton.org/
Author: Tryton
commit 12d9331676067c4aa963d15d773b66c6306dca5b
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Wed Jun 7 15:26:53 2017 +0200
Adding upstream version 4.4.0.
Signed-off-by: Mathias Behrle <mathiasb at m9s.biz>
diff --git a/CHANGELOG b/CHANGELOG
index 5114ce7..b40d94f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,7 @@
+Version 4.4.0 - 2017-05-01
+* Bug fixes (see mercurial logs for details)
+* Add requests on purchase line
+
Version 4.2.0 - 2016-11-28
* Bug fixes (see mercurial logs for details)
* Allow request without product
diff --git a/COPYRIGHT b/COPYRIGHT
index 029f63b..4891bb6 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1,8 +1,8 @@
-Copyright (C) 2016 Nicolas Évrard.
+Copyright (C) 2016-2017 Nicolas Évrard.
Copyright (C) 2013-2015 NaN-tic.
-Copyright (C) 2008-2016 Cédric Krier.
+Copyright (C) 2008-2017 Cédric Krier.
Copyright (C) 2008-2013 Bertrand Chenal.
-Copyright (C) 2008-2016 B2CK SPRL.
+Copyright (C) 2008-2017 B2CK SPRL.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/PKG-INFO b/PKG-INFO
index 6933766..10006c7 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
Metadata-Version: 1.1
Name: trytond_purchase_request
-Version: 4.2.0
+Version: 4.4.0
Summary: Tryton module for purchase requests
Home-page: http://www.tryton.org/
Author: Tryton
Author-email: issue_tracker at tryton.org
License: GPL-3
-Download-URL: http://downloads.tryton.org/4.2/
+Download-URL: http://downloads.tryton.org/4.4/
Description: trytond_purchase_request
========================
@@ -51,7 +51,7 @@ Classifier: Framework :: Tryton
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Intended Audience :: Legal Industry
-Classifier: License :: OSI Approved :: GNU General Public License (GPL)
+Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Natural Language :: Bulgarian
Classifier: Natural Language :: Catalan
Classifier: Natural Language :: Chinese (Simplified)
diff --git a/__init__.py b/__init__.py
index 255b40b..3085bd7 100644
--- a/__init__.py
+++ b/__init__.py
@@ -13,6 +13,7 @@ def register():
HandlePurchaseCancellationExceptionStart,
CreatePurchaseAskParty,
Purchase,
+ PurchaseLine,
module='purchase_request', type_='model')
Pool.register(
CreatePurchase,
diff --git a/locale/bg.po b/locale/bg.po
index 24edd7d..46fff85 100644
--- a/locale/bg.po
+++ b/locale/bg.po
@@ -24,6 +24,10 @@ msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr ""
+
#, fuzzy
msgctxt "field:purchase.request,company:"
msgid "Company"
diff --git a/locale/ca.po b/locale/ca.po
index 2ea9214..3f33b29 100644
--- a/locale/ca.po
+++ b/locale/ca.po
@@ -26,6 +26,10 @@ msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr "No podeu eliminar sol·licituds de compra."
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr "Sol·licituds"
+
msgctxt "field:purchase.request,company:"
msgid "Company"
msgstr "Empresa"
@@ -100,7 +104,7 @@ msgstr "Estat"
msgctxt "field:purchase.request,stock_level:"
msgid "Stock at Supply Date"
-msgstr "Estoc a data de subministre"
+msgstr "Existències a data de subministre"
msgctxt "field:purchase.request,supply_date:"
msgid "Expected Supply Date"
diff --git a/locale/cs.po b/locale/cs.po
index c6db10b..8955c89 100644
--- a/locale/cs.po
+++ b/locale/cs.po
@@ -24,6 +24,10 @@ msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr ""
+
msgctxt "field:purchase.request,company:"
msgid "Company"
msgstr ""
diff --git a/locale/de.po b/locale/de.po
index 98f2f48..282cc9a 100644
--- a/locale/de.po
+++ b/locale/de.po
@@ -26,6 +26,10 @@ msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr "Ein beauftragter Bestellvorschlag kann nicht gelöscht werden."
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr "Anfragen"
+
msgctxt "field:purchase.request,company:"
msgid "Company"
msgstr "Unternehmen"
diff --git a/locale/es.po b/locale/es.po
index 615a9c7..e3d889b 100644
--- a/locale/es.po
+++ b/locale/es.po
@@ -26,6 +26,10 @@ msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr "No puede eliminar solicitudes de compra."
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr "Solicitudes"
+
msgctxt "field:purchase.request,company:"
msgid "Company"
msgstr "Empresa"
@@ -100,7 +104,7 @@ msgstr "Estado"
msgctxt "field:purchase.request,stock_level:"
msgid "Stock at Supply Date"
-msgstr "Stock a fecha de suministro"
+msgstr "Existencias a fecha de suministro"
msgctxt "field:purchase.request,supply_date:"
msgid "Expected Supply Date"
diff --git a/locale/es_419.po b/locale/es_419.po
index 4a54cff..523ed88 100644
--- a/locale/es_419.po
+++ b/locale/es_419.po
@@ -7,6 +7,8 @@ msgid ""
"You can not delete the purchase \"%(purchase)s\" because it is linked to at "
"least one purchase request."
msgstr ""
+"No puede eliminar la compra \"%(purchase)s\" porque está asociada al menos a"
+" una solicitud de compra."
msgctxt "error:purchase.request.create_purchase:"
msgid "Purchase price is missing for product \"%s\"."
@@ -18,12 +20,16 @@ msgstr ""
msgctxt "error:purchase.request:"
msgid "Purchase requests are only created by the system."
-msgstr ""
+msgstr "Las solicitudes de compra sólo son creadas por el sistema."
msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr ""
+
msgctxt "field:purchase.request,company:"
msgid "Company"
msgstr ""
@@ -42,7 +48,7 @@ msgstr ""
msgctxt "field:purchase.request,create_uid:"
msgid "Create User"
-msgstr ""
+msgstr "Creado por usuario"
msgctxt "field:purchase.request,default_uom_digits:"
msgid "Default UOM Digits"
@@ -102,7 +108,7 @@ msgstr ""
msgctxt "field:purchase.request,supply_date:"
msgid "Expected Supply Date"
-msgstr ""
+msgstr "Fecha de suministro estimada"
msgctxt "field:purchase.request,uom:"
msgid "UOM"
@@ -114,11 +120,11 @@ msgstr ""
msgctxt "field:purchase.request,warehouse:"
msgid "Warehouse"
-msgstr ""
+msgstr "Bodega"
msgctxt "field:purchase.request,warehouse_required:"
msgid "Warehouse Required"
-msgstr ""
+msgstr "Bodega requerida"
msgctxt "field:purchase.request,write_date:"
msgid "Write Date"
@@ -126,7 +132,7 @@ msgstr ""
msgctxt "field:purchase.request,write_uid:"
msgid "Write User"
-msgstr ""
+msgstr "Modificado por usuario"
msgctxt "field:purchase.request.create_purchase.ask_party,company:"
msgid "Company"
@@ -154,39 +160,38 @@ msgstr ""
msgctxt "model:ir.action,name:act_purchase_request_form"
msgid "Purchase Requests"
-msgstr "Purchase Requests"
+msgstr ""
msgctxt "model:ir.action,name:wizard_create_purchase"
msgid "Create Purchase"
-msgstr "Create Purchase"
+msgstr ""
msgctxt "model:ir.action,name:wizard_purchase_cancellation_handle_exception"
msgid "Handle Purchase Cancellation"
-msgstr "Handle Purchase Cancellation"
+msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_purchase_request_form_domain_all"
msgid "All"
-msgstr "All"
+msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_purchase_request_form_domain_draft"
msgid "Draft"
-msgstr "Draft"
+msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_purchase_request_form_domain_exception"
msgid "Exception"
-msgstr "Exception"
+msgstr ""
msgctxt "model:ir.ui.menu,name:menu_purchase_request_form"
msgid "Purchase Requests"
-msgstr "Purchase Requests"
+msgstr ""
-#, fuzzy
msgctxt "model:purchase.request,name:"
msgid "Purchase Request"
-msgstr "Purchase Request"
+msgstr ""
msgctxt "model:purchase.request.create_purchase.ask_party,name:"
msgid "Create Purchase Ask Party"
@@ -194,11 +199,11 @@ msgstr ""
msgctxt "model:purchase.request.handle.purchase.cancellation.start,name:"
msgid "Handle Purchase Cancellation Exception - Start"
-msgstr ""
+msgstr "Gestionar excepción de cancelación de compra - Inicio"
msgctxt "model:res.group,name:group_purchase_request"
msgid "Purchase Request"
-msgstr "Purchase Request"
+msgstr ""
msgctxt "selection:purchase.request,state:"
msgid "Cancel"
@@ -206,17 +211,15 @@ msgstr ""
msgctxt "selection:purchase.request,state:"
msgid "Done"
-msgstr ""
+msgstr "Realizada"
-#, fuzzy
msgctxt "selection:purchase.request,state:"
msgid "Draft"
-msgstr "Draft"
+msgstr ""
-#, fuzzy
msgctxt "selection:purchase.request,state:"
msgid "Exception"
-msgstr "Exception"
+msgstr ""
msgctxt "selection:purchase.request,state:"
msgid "Purchased"
@@ -226,18 +229,17 @@ msgctxt "view:purchase.request.handle.purchase.cancellation.start:"
msgid "Do you want to cancel the request or to reset it to draft?"
msgstr ""
-#, fuzzy
msgctxt "view:purchase.request:"
msgid "Handle Purchase Cancellation"
-msgstr "Handle Purchase Cancellation"
+msgstr ""
msgctxt "view:purchase.request:"
msgid "Product Info"
-msgstr ""
+msgstr "Información de producto"
msgctxt "view:purchase.request:"
msgid "Supply Info"
-msgstr ""
+msgstr "Información de proveedor"
msgctxt "wizard_button:purchase.request.create_purchase,ask_party,end:"
msgid "Cancel"
diff --git a/locale/fr.po b/locale/fr.po
index 26e108b..f34e62d 100644
--- a/locale/fr.po
+++ b/locale/fr.po
@@ -26,6 +26,10 @@ msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr "Vous ne pouvez pas supprimer des demandes d'achat commandées."
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr "Demandes"
+
msgctxt "field:purchase.request,company:"
msgid "Company"
msgstr "Société"
diff --git a/locale/hu_HU.po b/locale/hu_HU.po
index b03a658..5c9089a 100644
--- a/locale/hu_HU.po
+++ b/locale/hu_HU.po
@@ -24,6 +24,10 @@ msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr ""
+
#, fuzzy
msgctxt "field:purchase.request,company:"
msgid "Company"
diff --git a/locale/it_IT.po b/locale/it_IT.po
index b7c3a8c..0ed0b2c 100644
--- a/locale/it_IT.po
+++ b/locale/it_IT.po
@@ -24,6 +24,10 @@ msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr ""
+
#, fuzzy
msgctxt "field:purchase.request,company:"
msgid "Company"
diff --git a/locale/ja_JP.po b/locale/ja_JP.po
index 4a54cff..d637895 100644
--- a/locale/ja_JP.po
+++ b/locale/ja_JP.po
@@ -24,6 +24,10 @@ msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr ""
+
msgctxt "field:purchase.request,company:"
msgid "Company"
msgstr ""
diff --git a/locale/lo.po b/locale/lo.po
index b4480f1..f83d346 100644
--- a/locale/lo.po
+++ b/locale/lo.po
@@ -24,6 +24,10 @@ msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr ""
+
#, fuzzy
msgctxt "field:purchase.request,company:"
msgid "Company"
diff --git a/locale/lt.po b/locale/lt.po
index c6db10b..8955c89 100644
--- a/locale/lt.po
+++ b/locale/lt.po
@@ -24,6 +24,10 @@ msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr ""
+
msgctxt "field:purchase.request,company:"
msgid "Company"
msgstr ""
diff --git a/locale/nl.po b/locale/nl.po
index a459b25..f40bcbd 100644
--- a/locale/nl.po
+++ b/locale/nl.po
@@ -24,6 +24,10 @@ msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr ""
+
#, fuzzy
msgctxt "field:purchase.request,company:"
msgid "Company"
diff --git a/locale/pl.po b/locale/pl.po
index 4a54cff..d637895 100644
--- a/locale/pl.po
+++ b/locale/pl.po
@@ -24,6 +24,10 @@ msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr ""
+
msgctxt "field:purchase.request,company:"
msgid "Company"
msgstr ""
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
index a1988e2..1187ff1 100644
--- a/locale/pt_BR.po
+++ b/locale/pt_BR.po
@@ -7,285 +7,253 @@ msgid ""
"You can not delete the purchase \"%(purchase)s\" because it is linked to at "
"least one purchase request."
msgstr ""
+"Você não pode apagar a compra \"%(purchase)s\", pois ela está vinculada a "
+"pelo menos um pedido de compra."
msgctxt "error:purchase.request.create_purchase:"
msgid "Purchase price is missing for product \"%s\"."
-msgstr ""
+msgstr "Preço de compra está faltando para produto \"%s\"."
msgctxt "error:purchase.request.create_purchase:"
msgid "This price is necessary for creating purchases."
-msgstr ""
+msgstr "Este preço é necessário para criar compras."
msgctxt "error:purchase.request:"
msgid "Purchase requests are only created by the system."
-msgstr ""
+msgstr "Pedidos de compra são criados apenas pelo sistema."
msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
-msgstr ""
+msgstr "Você não pode apagar pedido de compra."
+
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr "Pedidos"
-#, fuzzy
msgctxt "field:purchase.request,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:purchase.request,computed_quantity:"
msgid "Computed Quantity"
-msgstr ""
+msgstr "Quantidade Calculada"
msgctxt "field:purchase.request,computed_uom:"
msgid "Computed UOM"
-msgstr ""
+msgstr "UDM Calculada"
-#, fuzzy
msgctxt "field:purchase.request,create_date:"
msgid "Create Date"
msgstr "Data de criação"
-#, fuzzy
msgctxt "field:purchase.request,create_uid:"
msgid "Create User"
-msgstr "Usuário de Criação"
+msgstr "Criado por"
msgctxt "field:purchase.request,default_uom_digits:"
msgid "Default UOM Digits"
-msgstr ""
+msgstr "Dígitos Decimais Padrões da UDM"
-#, fuzzy
msgctxt "field:purchase.request,description:"
msgid "Description"
msgstr "Descrição"
msgctxt "field:purchase.request,exception_ignored:"
msgid "Ignored Exception"
-msgstr ""
+msgstr "Exceção Ignorada"
-#, fuzzy
msgctxt "field:purchase.request,id:"
msgid "ID"
msgstr "ID"
-#, fuzzy
msgctxt "field:purchase.request,origin:"
msgid "Origin"
msgstr "Origem"
-#, fuzzy
msgctxt "field:purchase.request,party:"
msgid "Party"
msgstr "Pessoa"
-#, fuzzy
msgctxt "field:purchase.request,product:"
msgid "Product"
msgstr "Produto"
-#, fuzzy
msgctxt "field:purchase.request,purchase:"
msgid "Purchase"
-msgstr "Comprar"
+msgstr "Compra"
msgctxt "field:purchase.request,purchase_date:"
msgid "Best Purchase Date"
-msgstr ""
+msgstr "Melhor Data de Compra"
-#, fuzzy
msgctxt "field:purchase.request,purchase_line:"
msgid "Purchase Line"
-msgstr "Linha da compra"
+msgstr "Linha da Compra"
-#, fuzzy
msgctxt "field:purchase.request,quantity:"
msgid "Quantity"
msgstr "Quantidade"
-#, fuzzy
msgctxt "field:purchase.request,rec_name:"
msgid "Name"
msgstr "Nome"
-#, fuzzy
msgctxt "field:purchase.request,state:"
msgid "State"
-msgstr "State"
+msgstr "Estado"
msgctxt "field:purchase.request,stock_level:"
msgid "Stock at Supply Date"
-msgstr ""
+msgstr "Estoque na Data de Abastecimento"
msgctxt "field:purchase.request,supply_date:"
msgid "Expected Supply Date"
-msgstr ""
+msgstr "Data Esperada de Abastecimento"
-#, fuzzy
msgctxt "field:purchase.request,uom:"
msgid "UOM"
-msgstr "UM"
+msgstr "UDM"
msgctxt "field:purchase.request,uom_digits:"
msgid "UOM Digits"
-msgstr ""
+msgstr "Dígitos Decimais da UDM"
-#, fuzzy
msgctxt "field:purchase.request,warehouse:"
msgid "Warehouse"
-msgstr "Estoque/Almoxarifado"
+msgstr "Almoxarifado"
msgctxt "field:purchase.request,warehouse_required:"
msgid "Warehouse Required"
-msgstr ""
+msgstr "Almoxarifado Obrigatório"
-#, fuzzy
msgctxt "field:purchase.request,write_date:"
msgid "Write Date"
-msgstr "Editado por"
+msgstr "Data de edição"
-#, fuzzy
msgctxt "field:purchase.request,write_uid:"
msgid "Write User"
-msgstr "Gravado por"
+msgstr "Editado por"
-#, fuzzy
msgctxt "field:purchase.request.create_purchase.ask_party,company:"
msgid "Company"
msgstr "Empresa"
-#, fuzzy
msgctxt "field:purchase.request.create_purchase.ask_party,description:"
msgid "Description"
msgstr "Descrição"
-#, fuzzy
msgctxt "field:purchase.request.create_purchase.ask_party,id:"
msgid "ID"
msgstr "ID"
-#, fuzzy
msgctxt "field:purchase.request.create_purchase.ask_party,party:"
msgid "Supplier"
msgstr "Fornecedor"
-#, fuzzy
msgctxt "field:purchase.request.create_purchase.ask_party,product:"
msgid "Product"
msgstr "Produto"
-#, fuzzy
msgctxt "field:purchase.request.handle.purchase.cancellation.start,id:"
msgid "ID"
msgstr "ID"
-#, fuzzy
msgctxt "model:ir.action,name:act_purchase_request_form"
msgid "Purchase Requests"
-msgstr "Requisições de Compra"
+msgstr "Pedidos de Compra"
msgctxt "model:ir.action,name:wizard_create_purchase"
msgid "Create Purchase"
-msgstr ""
+msgstr "Criar Compra"
msgctxt "model:ir.action,name:wizard_purchase_cancellation_handle_exception"
msgid "Handle Purchase Cancellation"
-msgstr ""
+msgstr "Gerenciamento de Cancelamento de Compra"
-#, fuzzy
msgctxt ""
"model:ir.action.act_window.domain,name:act_purchase_request_form_domain_all"
msgid "All"
-msgstr "Tudo"
+msgstr "Todos"
-#, fuzzy
msgctxt ""
"model:ir.action.act_window.domain,name:act_purchase_request_form_domain_draft"
msgid "Draft"
msgstr "Rascunho"
-#, fuzzy
msgctxt ""
"model:ir.action.act_window.domain,name:act_purchase_request_form_domain_exception"
msgid "Exception"
msgstr "Exceção"
-#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_purchase_request_form"
msgid "Purchase Requests"
-msgstr "Requisições de Compra"
+msgstr "Pedidos de Compra"
-#, fuzzy
msgctxt "model:purchase.request,name:"
msgid "Purchase Request"
-msgstr "Requisição de Compra"
+msgstr "Pedidos de Compra"
msgctxt "model:purchase.request.create_purchase.ask_party,name:"
msgid "Create Purchase Ask Party"
-msgstr ""
+msgstr "Criar Pedido de Compra"
msgctxt "model:purchase.request.handle.purchase.cancellation.start,name:"
msgid "Handle Purchase Cancellation Exception - Start"
-msgstr ""
+msgstr "Gerenciamento de Cancelamento de Compra Exceção - Início"
-#, fuzzy
msgctxt "model:res.group,name:group_purchase_request"
msgid "Purchase Request"
-msgstr "Requisição de Compra"
+msgstr "Pedido de Compra"
-#, fuzzy
msgctxt "selection:purchase.request,state:"
msgid "Cancel"
msgstr "Cancelar"
-#, fuzzy
msgctxt "selection:purchase.request,state:"
msgid "Done"
msgstr "Feito"
-#, fuzzy
msgctxt "selection:purchase.request,state:"
msgid "Draft"
msgstr "Rascunho"
-#, fuzzy
msgctxt "selection:purchase.request,state:"
msgid "Exception"
msgstr "Exceção"
-#, fuzzy
msgctxt "selection:purchase.request,state:"
msgid "Purchased"
msgstr "Comprado"
msgctxt "view:purchase.request.handle.purchase.cancellation.start:"
msgid "Do you want to cancel the request or to reset it to draft?"
-msgstr ""
+msgstr "Você quer cancelar o pedido ou voltar para rascunho?"
msgctxt "view:purchase.request:"
msgid "Handle Purchase Cancellation"
-msgstr ""
+msgstr "Gerenciamento de Cancelamento de Compra"
-#, fuzzy
msgctxt "view:purchase.request:"
msgid "Product Info"
msgstr "Informação do Produto"
msgctxt "view:purchase.request:"
msgid "Supply Info"
-msgstr ""
+msgstr "Informações de Abastecimento"
-#, fuzzy
msgctxt "wizard_button:purchase.request.create_purchase,ask_party,end:"
msgid "Cancel"
msgstr "Cancelar"
msgctxt "wizard_button:purchase.request.create_purchase,ask_party,start:"
msgid "Continue"
-msgstr ""
+msgstr "Continuar"
msgctxt ""
"wizard_button:purchase.request.handle.purchase.cancellation,start,cancel_request:"
msgid "Cancel Request"
-msgstr ""
+msgstr "Cancelar Pedido"
-#, fuzzy
msgctxt ""
"wizard_button:purchase.request.handle.purchase.cancellation,start,end:"
msgid "Cancel"
@@ -294,4 +262,4 @@ msgstr "Cancelar"
msgctxt ""
"wizard_button:purchase.request.handle.purchase.cancellation,start,reset:"
msgid "Reset to draft"
-msgstr ""
+msgstr "Voltar para rascunho"
diff --git a/locale/ru.po b/locale/ru.po
index e85feda..bbd420e 100644
--- a/locale/ru.po
+++ b/locale/ru.po
@@ -24,6 +24,10 @@ msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr ""
+
#, fuzzy
msgctxt "field:purchase.request,company:"
msgid "Company"
diff --git a/locale/sl.po b/locale/sl.po
index 6a91153..2263714 100644
--- a/locale/sl.po
+++ b/locale/sl.po
@@ -26,6 +26,10 @@ msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr "Nabavnega zahtevka ni možno izbrisati."
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr "Zahtevki"
+
msgctxt "field:purchase.request,company:"
msgid "Company"
msgstr "Družba"
@@ -50,7 +54,6 @@ msgctxt "field:purchase.request,default_uom_digits:"
msgid "Default UOM Digits"
msgstr "Privzete decimalke"
-#, fuzzy
msgctxt "field:purchase.request,description:"
msgid "Description"
msgstr "Opis"
@@ -135,7 +138,6 @@ msgctxt "field:purchase.request.create_purchase.ask_party,company:"
msgid "Company"
msgstr "Družba"
-#, fuzzy
msgctxt "field:purchase.request.create_purchase.ask_party,description:"
msgid "Description"
msgstr "Opis"
diff --git a/locale/zh_CN.po b/locale/zh_CN.po
index dfe9a65..4be4ae6 100644
--- a/locale/zh_CN.po
+++ b/locale/zh_CN.po
@@ -24,6 +24,10 @@ msgctxt "error:purchase.request:"
msgid "You can not delete purchased request."
msgstr ""
+msgctxt "field:purchase.line,requests:"
+msgid "Requests"
+msgstr ""
+
msgctxt "field:purchase.request,company:"
msgid "Company"
msgstr ""
diff --git a/purchase.py b/purchase.py
index f78e39f..703e5ba 100644
--- a/purchase.py
+++ b/purchase.py
@@ -1,10 +1,24 @@
# 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 functools import wraps
-from trytond.tools import grouped_slice
-from trytond.pool import Pool, PoolMeta
+from trytond.pool import PoolMeta, Pool
+from trytond.model import ModelView, Workflow, fields
+from trytond.transaction import Transaction
+from trytond.pyson import Eval
-__all__ = ['Purchase']
+__all__ = ['Purchase', 'PurchaseLine']
+
+
+def process_request(func):
+ @wraps(func)
+ def wrapper(cls, purchases):
+ pool = Pool()
+ Request = pool.get('purchase.request')
+ func(cls, purchases)
+ requests = [r for p in purchases for l in p.lines for r in l.requests]
+ Request.update_state(requests)
+ return wrapper
class Purchase:
@@ -22,20 +36,49 @@ class Purchase:
@classmethod
def delete(cls, purchases):
- pool = Pool()
- PurchaseRequest = pool.get('purchase.request')
-
- purchase_lines = [pl.id
- for purchase in purchases for pl in purchase.lines]
- for sub_lines in grouped_slice(purchase_lines):
- requests = PurchaseRequest.search([
- ('purchase_line', 'in', list(sub_lines)),
- ],
- limit=1)
- if requests:
- purchase = requests[0].purchase
- cls.raise_user_error('delete_purchase_request', {
- 'purchase': purchase.rec_name,
- })
-
+ cls.check_delete_purchase_request(purchases)
super(Purchase, cls).delete(purchases)
+
+ def check_delete_purchase_request(cls, purchases):
+ with Transaction().set_context(_check_access=False):
+ purchases = cls.browse(purchases)
+ for purchase in purchases:
+ for line in purchase.lines:
+ if line.requests:
+ cls.raise_user_error('delete_purchase_request', {
+ 'purchase': purchase.rec_name,
+ })
+
+ @classmethod
+ @ModelView.button
+ @Workflow.transition('cancel')
+ @process_request
+ def cancel(cls, purchases):
+ super(Purchase, cls).cancel(purchases)
+
+ @classmethod
+ @Workflow.transition('done')
+ @process_request
+ def do(cls, purchases):
+ super(Purchase, cls).do(purchases)
+
+
+class PurchaseLine:
+ __metaclass__ = PoolMeta
+ __name__ = 'purchase.line'
+
+ requests = fields.One2Many(
+ 'purchase.request', 'purchase_line', "Requests", readonly=True,
+ states={
+ 'invisible': ~Eval('requests'),
+ })
+
+ @classmethod
+ def delete(cls, lines):
+ pool = Pool()
+ Request = pool.get('purchase.request')
+ with Transaction().set_context(_check_access=False):
+ requests = [r for l in cls.browse(lines) for r in l.requests]
+ super(PurchaseLine, cls).delete(lines)
+ with Transaction().set_context(_check_access=False):
+ Request.update_state(requests)
diff --git a/purchase.xml b/purchase.xml
new file mode 100644
index 0000000..88f41a7
--- /dev/null
+++ b/purchase.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="purchase_line_view_form">
+ <field name="model">purchase.line</field>
+ <field name="inherit" ref="purchase.purchase_line_view_form"/>
+ <field name="name">purchase_line_form</field>
+ </record>
+ </data>
+</tryton>
diff --git a/purchase_request.py b/purchase_request.py
index 0eef1f0..ef2aa42 100644
--- a/purchase_request.py
+++ b/purchase_request.py
@@ -2,12 +2,9 @@
# this repository contains the full copyright notices and license terms.
import datetime
from decimal import Decimal
-from itertools import groupby
+from itertools import groupby, ifilter
from functools import partial
-from sql import Null
-from sql.conditionals import Case
-
from trytond import backend
from trytond.model import ModelView, ModelSQL, fields
from trytond.wizard import Wizard, StateView, StateTransition, Button
@@ -82,13 +79,13 @@ class PurchaseRequest(ModelSQL, ModelView):
origin = fields.Reference('Origin', selection='get_origin', readonly=True,
required=True)
exception_ignored = fields.Boolean('Ignored Exception')
- state = fields.Function(fields.Selection([
- ('purchased', 'Purchased'),
- ('done', 'Done'),
- ('draft', 'Draft'),
- ('cancel', 'Cancel'),
- ('exception', 'Exception'),
- ], 'State'), 'get_state', searcher='search_state')
+ state = fields.Selection([
+ ('purchased', "Purchased"),
+ ('done', "Done"),
+ ('draft', "Draft"),
+ ('cancel', "Cancel"),
+ ('exception', "Exception"),
+ ], "State", required=True, readonly=True, select=True)
@classmethod
def __setup__(cls):
@@ -110,8 +107,17 @@ class PurchaseRequest(ModelSQL, ModelView):
def __register__(cls, module_name):
pool = Pool()
ModelData = pool.get('ir.model.data')
+ Purchase = pool.get('purchase.purchase')
+ PurchaseLine = pool.get('purchase.line')
TableHandler = backend.get('TableHandler')
model_data = ModelData.__table__()
+ purchase = Purchase.__table__()
+ purchase_line = PurchaseLine.__table__()
+ request = cls.__table__()
+
+ tablehandler = TableHandler(cls, module_name)
+ state_exist = tablehandler.column_exist('state')
+
super(PurchaseRequest, cls).__register__(module_name)
# Migration from 3.6: removing the constraint on the quantity
@@ -130,6 +136,31 @@ class PurchaseRequest(ModelSQL, ModelView):
tablehandler.not_null_action('product', action='remove')
tablehandler.not_null_action('uom', action='remove')
+ # Migration from 4.2: add state
+ if not state_exist:
+ cursor = Transaction().connection.cursor()
+ update = Transaction().connection.cursor()
+ query = request.join(purchase_line, type_='INNER',
+ condition=request.purchase_line == purchase_line.id
+ ).join(purchase, type_='INNER',
+ condition=purchase_line.purchase == purchase.id
+ ).select(
+ request.id, purchase.state, request.exception_ignored)
+ cursor.execute(*query)
+ for request_id, purchase_state, exception_ignored in cursor:
+ if purchase_state == 'cancel' and not exception_ignored:
+ state = 'exception'
+ elif purchase_state == 'cancel':
+ state = 'cancel'
+ elif purchase_state == 'done':
+ state = 'done'
+ else:
+ state = 'purchased'
+ update.execute(*request.update(
+ [request.state],
+ [state],
+ where=request.id == request_id))
+
def get_rec_name(self, name):
product_name = (self.product.name if self.product else
self.description.splitlines()[0])
@@ -169,7 +200,11 @@ class PurchaseRequest(ModelSQL, ModelView):
def currency(self):
return self.company.currency
- def get_state(self, name):
+ @classmethod
+ def default_state(cls):
+ return 'draft'
+
+ def get_state(self):
if self.purchase_line:
if (self.purchase_line.purchase.state == 'cancel'
and not self.exception_ignored):
@@ -183,35 +218,12 @@ class PurchaseRequest(ModelSQL, ModelView):
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')
- & (request.exception_ignored == False), 'exception'),
- ((purchase.state == 'cancel')
- & (request.exception_ignored == True), '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 update_state(cls, requests):
+ for request in requests:
+ state = request.get_state()
+ if state != request.state:
+ request.state = state
+ cls.save(requests)
def get_warehouse_required(self, name):
return self.product and self.product.type in ('goods', 'assets')
@@ -357,20 +369,19 @@ class CreatePurchase(Wizard):
pool = Pool()
Request = pool.get('purchase.request')
Purchase = pool.get('purchase.purchase')
+ Line = pool.get('purchase.line')
Date = pool.get('ir.date')
- request_ids = Transaction().context['active_ids']
+ requests = Request.browse(Transaction().context['active_ids'])
if (getattr(self.ask_party, 'party', None)
and getattr(self.ask_party, 'company', None)):
- reqs = Request.search([
- ('id', 'in', request_ids),
- ('purchase_line', '=', None),
- ('party', '=', None),
- ('product', '=', (self.ask_party.product.id
- if self.ask_party.product else None)),
- ('description', '=', self.ask_party.description),
- ])
+ def to_write(request):
+ return (not request.purchase_line
+ and not request.party
+ and request.product == self.ask_party.product
+ and request.description == self.ask_party.description)
+ reqs = filter(to_write, requests)
if reqs:
Request.write(reqs, {
'party': self.ask_party.party.id,
@@ -380,22 +391,21 @@ class CreatePurchase(Wizard):
self.ask_party.party = None
self.ask_party.company = None
- reqs = Request.search([
- ('id', 'in', request_ids),
- ('purchase_line', '=', None),
- ('party', '=', None),
- ])
- if reqs:
+ def to_ask_party(request):
+ return not request.purchase_line and not request.party
+ reqs = ifilter(to_ask_party, requests)
+ if any(reqs):
return 'ask_party'
today = Date.today()
- requests = Request.browse(request_ids)
requests = [r for r in requests if not r.purchase_line]
keyfunc = partial(self._group_purchase_key, requests)
requests = sorted(requests, key=keyfunc)
+ purchases = []
+ lines = []
for key, grouped_requests in groupby(requests, key=keyfunc):
grouped_requests = list(grouped_requests)
try:
@@ -409,17 +419,18 @@ class CreatePurchase(Wizard):
purchase = Purchase(purchase_date=purchase_date)
for f, v in key:
setattr(purchase, f, v)
- purchase.save()
+ purchases.append(purchase)
for line_key, line_requests in groupby(
grouped_requests, key=self._group_purchase_line_key):
line_requests = list(line_requests)
line = self.compute_purchase_line(
line_key, line_requests, purchase)
line.purchase = purchase
- line.save()
- Request.write(line_requests, {
- 'purchase_line': line.id,
- })
+ line.requests = line_requests
+ lines.append(line)
+ Purchase.save(purchases)
+ Line.save(lines)
+ Request.update_state(requests)
return 'end'
@staticmethod
@@ -489,9 +500,9 @@ class HandlePurchaseCancellationException(Wizard):
PurchaseRequest = pool.get('purchase.request')
requests = PurchaseRequest.browse(Transaction().context['active_ids'])
- PurchaseRequest.write(requests, {
- 'purchase_line': None,
- })
+ for request in requests:
+ request.purchase_line = None
+ PurchaseRequest.update_state(requests)
return 'end'
def transition_cancel_request(self):
@@ -499,9 +510,9 @@ class HandlePurchaseCancellationException(Wizard):
PurchaseRequest = pool.get('purchase.request')
requests = PurchaseRequest.browse(Transaction().context['active_ids'])
- PurchaseRequest.write(requests, {
- 'exception_ignored': True,
- })
+ for request in requests:
+ request.exception_ignored = True
+ PurchaseRequest.update_state(requests)
return 'end'
diff --git a/purchase_request.xml b/purchase_request.xml
index a575451..b65e373 100644
--- a/purchase_request.xml
+++ b/purchase_request.xml
@@ -115,6 +115,13 @@ this repository contains the full copyright notices and license terms. -->
<field name="wiz_name">purchase.request.handle.purchase.cancellation</field>
<field name="model">purchase.request</field>
</record>
+ <record model="ir.action-res.group"
+ id="wizard_purchase_cancellation_handle_exception_group_purchase_request">
+ <field name="action"
+ ref="wizard_purchase_cancellation_handle_exception"/>
+ <field name="group" ref="group_purchase_request"/>
+ </record>
+
<record model="ir.action.keyword"
id="wizard_purchase_cancellation_handle_exception_keyword">
<field name="action"
diff --git a/setup.py b/setup.py
index 9c15102..9041698 100644
--- a/setup.py
+++ b/setup.py
@@ -86,7 +86,7 @@ setup(name=name,
'Intended Audience :: Developers',
'Intended Audience :: Financial and Insurance Industry',
'Intended Audience :: Legal Industry',
- 'License :: OSI Approved :: GNU General Public License (GPL)',
+ 'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
'Natural Language :: Bulgarian',
'Natural Language :: Catalan',
'Natural Language :: Chinese (Simplified)',
diff --git a/tests/scenario_purchase_request.rst b/tests/scenario_purchase_request.rst
index 0ec90bd..cc03a83 100644
--- a/tests/scenario_purchase_request.rst
+++ b/tests/scenario_purchase_request.rst
@@ -17,7 +17,7 @@ Imports::
Install stock_supply Module::
- >>> config = activate_modules('stock_supply')
+ >>> config = activate_modules(['purchase_request', 'stock_supply'])
Create company::
@@ -143,7 +143,7 @@ There is no purchase request::
Create the purchase request::
- >>> create_pr = Wizard('purchase.request.create')
+ >>> create_pr = Wizard('stock.supply')
>>> create_pr.execute('create_')
There is now a draft purchase request::
@@ -162,14 +162,14 @@ Create the purchase then cancel it::
>>> create_purchase.form.party = supplier
>>> create_purchase.execute('start')
>>> pr.state
- 'purchased'
+ u'purchased'
>>> Purchase = Model.get('purchase.purchase')
>>> purchase, = Purchase.find()
>>> purchase.click('cancel')
>>> pr.reload()
>>> pr.state
- 'exception'
+ u'exception'
Handle the exception::
@@ -177,20 +177,20 @@ Handle the exception::
... 'purchase.request.handle.purchase.cancellation', [pr])
>>> handle_exception.execute('reset')
>>> pr.state
- 'draft'
+ u'draft'
Recreate a purchase and cancel it again::
>>> create_purchase = Wizard('purchase.request.create_purchase',
... [pr])
>>> pr.state
- 'purchased'
+ u'purchased'
>>> purchase, = Purchase.find([('state', '=', 'draft')])
>>> purchase.click('cancel')
>>> pr.reload()
>>> pr.state
- 'exception'
+ u'exception'
Handle again the exception::
@@ -198,11 +198,11 @@ Handle again the exception::
... 'purchase.request.handle.purchase.cancellation', [pr])
>>> handle_exception.execute('cancel_request')
>>> pr.state
- 'cancel'
+ u'cancel'
Re-create the purchase request::
- >>> create_pr = Wizard('purchase.request.create')
+ >>> create_pr = Wizard('stock.supply')
>>> create_pr.execute('create_')
Create a second purchase request manually::
@@ -229,7 +229,7 @@ Create the purchase with a unique line::
>>> create_purchase.form.party = supplier
>>> create_purchase.execute('start')
>>> pr.state
- 'purchased'
+ u'purchased'
>>> Purchase = Model.get('purchase.purchase')
>>> purchase, = Purchase.find([('state', '=', 'draft')])
@@ -258,7 +258,7 @@ Create the purchase without product::
>>> create_purchase.form.party = supplier
>>> create_purchase.execute('start')
>>> pr.state
- 'purchased'
+ u'purchased'
>>> pr.purchase_line.product
>>> pr.purchase_line.description
diff --git a/tryton.cfg b/tryton.cfg
index 6345ed6..f835f86 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,8 +1,9 @@
[tryton]
-version=4.2.0
+version=4.4.0
depends:
ir
purchase
product
xml:
purchase_request.xml
+ purchase.xml
diff --git a/trytond_purchase_request.egg-info/PKG-INFO b/trytond_purchase_request.egg-info/PKG-INFO
index d922a72..f41e972 100644
--- a/trytond_purchase_request.egg-info/PKG-INFO
+++ b/trytond_purchase_request.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
Metadata-Version: 1.1
Name: trytond-purchase-request
-Version: 4.2.0
+Version: 4.4.0
Summary: Tryton module for purchase requests
Home-page: http://www.tryton.org/
Author: Tryton
Author-email: issue_tracker at tryton.org
License: GPL-3
-Download-URL: http://downloads.tryton.org/4.2/
+Download-URL: http://downloads.tryton.org/4.4/
Description: trytond_purchase_request
========================
@@ -51,7 +51,7 @@ Classifier: Framework :: Tryton
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Intended Audience :: Legal Industry
-Classifier: License :: OSI Approved :: GNU General Public License (GPL)
+Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Natural Language :: Bulgarian
Classifier: Natural Language :: Catalan
Classifier: Natural Language :: Chinese (Simplified)
diff --git a/trytond_purchase_request.egg-info/SOURCES.txt b/trytond_purchase_request.egg-info/SOURCES.txt
index 1b5f1c8..0c73283 100644
--- a/trytond_purchase_request.egg-info/SOURCES.txt
+++ b/trytond_purchase_request.egg-info/SOURCES.txt
@@ -4,12 +4,14 @@ INSTALL
LICENSE
MANIFEST.in
README
+purchase.xml
purchase_request.xml
setup.py
tryton.cfg
./__init__.py
./party.py
./purchase.py
+./purchase.xml
./purchase_request.py
./purchase_request.xml
./tryton.cfg
@@ -35,6 +37,7 @@ tryton.cfg
./tests/scenario_purchase_request.rst
./tests/test_purchase_request.py
./view/handle_purchase_cancellation_start_form.xml
+./view/purchase_line_form.xml
./view/purchase_request_create_purchase_ask_party_form.xml
./view/purchase_request_form.xml
./view/purchase_request_tree.xml
@@ -66,6 +69,7 @@ trytond_purchase_request.egg-info/not-zip-safe
trytond_purchase_request.egg-info/requires.txt
trytond_purchase_request.egg-info/top_level.txt
view/handle_purchase_cancellation_start_form.xml
+view/purchase_line_form.xml
view/purchase_request_create_purchase_ask_party_form.xml
view/purchase_request_form.xml
view/purchase_request_tree.xml
\ No newline at end of file
diff --git a/trytond_purchase_request.egg-info/requires.txt b/trytond_purchase_request.egg-info/requires.txt
index 1b45287..278f8b3 100644
--- a/trytond_purchase_request.egg-info/requires.txt
+++ b/trytond_purchase_request.egg-info/requires.txt
@@ -1,3 +1,3 @@
-trytond_purchase >= 4.2, < 4.3
-trytond_product >= 4.2, < 4.3
-trytond >= 4.2, < 4.3
+trytond_purchase >= 4.4, < 4.5
+trytond_product >= 4.4, < 4.5
+trytond >= 4.4, < 4.5
diff --git a/view/purchase_line_form.xml b/view/purchase_line_form.xml
new file mode 100644
index 0000000..f1423cf
--- /dev/null
+++ b/view/purchase_line_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/notebook" position="inside">
+ <page name="requests">
+ <field name="requests"/>
+ </page>
+ </xpath>
+</data>
diff --git a/view/purchase_request_form.xml b/view/purchase_request_form.xml
index 8504694..24d8d4d 100644
--- a/view/purchase_request_form.xml
+++ b/view/purchase_request_form.xml
@@ -36,7 +36,7 @@ this repository contains the full copyright notices and license terms. -->
<field name="origin"/>
<label name="state"/>
<field name="state"/>
- <group col="1" colspan="2" id="buttons">
+ <group col="-1" colspan="2" id="buttons">
<button name="handle_purchase_cancellation_exception"
string="Handle Purchase Cancellation"
icon="tryton-go-next"/>
--
tryton-modules-purchase-request
More information about the tryton-debian-vcs
mailing list