From ad4c5583929a4cd27de8d742163e51383949da90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Calonne?= <aurel@nexedi.com> Date: Wed, 22 Nov 2006 12:28:52 +0000 Subject: [PATCH] add parameter no_balance_check to script git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@11429 20353a03-c40f-0410-a6d1-a30d3c3de9de --- .../CashDelivery_checkCounterInventory.xml | 33 +++++++++++++++---- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/bt5/erp5_banking_core/SkinTemplateItem/portal_skins/erp5_banking_core/CashDelivery_checkCounterInventory.xml b/bt5/erp5_banking_core/SkinTemplateItem/portal_skins/erp5_banking_core/CashDelivery_checkCounterInventory.xml index 7680ab5b50..c39a32998d 100644 --- a/bt5/erp5_banking_core/SkinTemplateItem/portal_skins/erp5_banking_core/CashDelivery_checkCounterInventory.xml +++ b/bt5/erp5_banking_core/SkinTemplateItem/portal_skins/erp5_banking_core/CashDelivery_checkCounterInventory.xml @@ -74,7 +74,8 @@ # than the amount of movement of type `portal_type` in this movement\n \n # returns 2 : no resource, 1 : insufficient balance, 0 : ok\n -\n +from Products.DCWorkflow.DCWorkflow import ValidationFailed\n +from Products.ERP5Type.Message import Message\n # XXX this should be handled by a portal method.\n currency_cash_portal_type_list = [\'Banknote\', \'Coin\']\n \n @@ -101,6 +102,10 @@ if len(line_list) == 0 :\n # no resource\n return 2\n \n +# in some case, we don\'t want to check balance\n +if no_balance_check:\n + return 0\n +\n for line in line_list :\n line_resource = line.getResource()\n # The source can be different for every line (due to getBaobabSource approach)\n @@ -114,13 +119,20 @@ for line in line_list :\n #context.log(\'cell quantity\', cell.getQuantity())\n #context.log(\'inventory value\', inventory_value)\n if inventory_value - cell.getQuantity() < 0:\n - return 1\n -\n + msg = Message(domain=\'ui\', message=\'Insufficient balance for $resource, letter $letter, status $status and variation $variation\', mapping={\'resource\':cell.getResourceTranslatedTitle(),\n + \'letter\': cell.getEmissionLetterTitle(),\n + \'status\': cell.getCashStatusTranslatedTitle(),\n + \'variation\':cell.getVariationTitle()})\n + raise ValidationFailed, (msg,)\n else :\n inventory_value = context.portal_simulation.getFutureInventory(section=source_counter, resource=line_resource)\n if inventory_value - line.getQuantity() < 0 :\n - return 1\n -\n + msg = Message(domain=\'ui\', message=\'Insufficient balance for $resource, letter $letter, status $status and variation $variation\', mapping={\'resource\':line.getResourceTranslatedTitle(),\n + \'letter\': line.getEmissionLetterTitle(),\n + \'status\': line.getCashStatusTranslatedTitle(),\n + \'variation\':line.getVariationTitle()})\n + raise ValidationFailed, (msg,)\n + \n return 0\n @@ -152,7 +164,7 @@ return 0\n </item> <item> <key> <string>_params</string> </key> - <value> <string>source=None, portal_type=None, same_source=0, debug=0</string> </value> + <value> <string>source=None, portal_type=None, same_source=0, no_balance_check=0, debug=0</string> </value> </item> <item> <key> <string>errors</string> </key> @@ -172,7 +184,7 @@ return 0\n <dictionary> <item> <key> <string>co_argcount</string> </key> - <value> <int>4</int> </value> + <value> <int>5</int> </value> </item> <item> <key> <string>co_varnames</string> </key> @@ -181,7 +193,12 @@ return 0\n <string>source</string> <string>portal_type</string> <string>same_source</string> + <string>no_balance_check</string> <string>debug</string> + <string>Products.DCWorkflow.DCWorkflow</string> + <string>ValidationFailed</string> + <string>Products.ERP5Type.Message</string> + <string>Message</string> <string>currency_cash_portal_type_list</string> <string>inventory_dict</string> <string>requested_dict</string> @@ -200,6 +217,7 @@ return 0\n <string>cell</string> <string>variation_text</string> <string>inventory_value</string> + <string>msg</string> </tuple> </value> </item> @@ -216,6 +234,7 @@ return 0\n <none/> <int>0</int> <int>0</int> + <int>0</int> </tuple> </value> </item> -- 2.30.9