From 0b75c584c3d778d8e5d08854335297c31b72b24d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com> Date: Fri, 18 Jan 2008 17:16:44 +0000 Subject: [PATCH] PaymentTransaction_selectMovement could select movements by date git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@18797 20353a03-c40f-0410-a6d1-a30d3c3de9de --- .../PaymentTransaction_selectMovement.xml | 5 ++- .../PaymentTransaction_zSelectMovement.xml | 38 ++++++++++++++----- bt5/erp5_accounting/bt/revision | 2 +- 3 files changed, 34 insertions(+), 11 deletions(-) diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_selectMovement.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_selectMovement.xml index 74dade9ae9..634325acdb 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_selectMovement.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_selectMovement.xml @@ -70,9 +70,11 @@ kw[\'parent_specialise_portal_type\'] = \'Payment Rule\'\n kw[\'portal_type\'] = \'Simulation Movement\'\n kw.update(context.portal_catalog.buildSQLQuery(**kw))\n +kw[\'max_movement_date\'] = DateTime() + 30\n \n -movement_list = [x.getObject() for x in context.PaymentTransaction_zSelectMovement(**kw)]\n LOG("SQL used = %s"%context.PaymentTransaction_zSelectMovement(src__=1, **kw))\n +movement_list = [x.getObject() for x in context.PaymentTransaction_zSelectMovement(**kw)]\n +\n LOG("movement_list = %s"%movement_list)\n return movement_list\n </string> </value> @@ -124,6 +126,7 @@ return movement_list\n <string>_getattr_</string> <string>_apply_</string> <string>context</string> + <string>DateTime</string> <string>append</string> <string>$append0</string> <string>_getiter_</string> diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_zSelectMovement.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_zSelectMovement.xml index ce552291a5..9e1faab64b 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_zSelectMovement.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/PaymentTransaction_zSelectMovement.xml @@ -48,6 +48,12 @@ </dictionary> </value> </item> + <item> + <key> <string>max_movement_date</string> </key> + <value> + <dictionary/> + </value> + </item> <item> <key> <string>order_by_expression</string> </key> <value> @@ -70,6 +76,7 @@ <string>from_table_list</string> <string>where_expression</string> <string>order_by_expression</string> +<string>max_movement_date</string> </list> </value> </item> @@ -88,7 +95,8 @@ <key> <string>arguments_src</string> </key> <value> <string>from_table_list:list\r\n where_expression\r\n -order_by_expression</string> </value> +order_by_expression\r\n +max_movement_date</string> </value> </item> <item> <key> <string>cache_time_</string> </key> @@ -153,17 +161,23 @@ WHERE\n AND <dtml-var where_expression> \n </dtml-if>\n \n - AND parent.uid = catalog.parent_uid\n + AND parent.uid = catalog.parent_uid\n AND grandparent.uid = parent.parent_uid\n - AND grandparent.simulation_state in (\'confirmed\', \'stopped\', \'delivered\')\n \n - AND movement.source_uid is not NULL\n + AND ((\n + grandparent.simulation_state NOT IN (\'cancelled\', \'deleted\')\n + AND ( movement.start_date < <dtml-sqlvar max_movement_date type="datetime"> OR \n + movement.stop_date < <dtml-sqlvar max_movement_date type="datetime"> )\n + ) OR (\n + grandparent.simulation_state in (\'confirmed\', \'stopped\', \'delivered\')\n + ))\n +\n AND movement.uid = catalog.uid\n AND movement.resource_uid is not NULL\n AND category.category_uid is NULL\n \n <dtml-if order_by_expression>\n -ORDER BY <dtml-var order_by_expression>\n + ORDER BY <dtml-var order_by_expression>\n </dtml-if> ]]></string> </value> @@ -229,17 +243,23 @@ WHERE\n AND <dtml-var where_expression> \n </dtml-if>\n \n - AND parent.uid = catalog.parent_uid\n + AND parent.uid = catalog.parent_uid\n AND grandparent.uid = parent.parent_uid\n - AND grandparent.simulation_state in (\'confirmed\', \'stopped\', \'delivered\')\n \n - AND movement.source_uid is not NULL\n + AND ((\n + grandparent.simulation_state NOT IN (\'cancelled\', \'deleted\')\n + AND ( movement.start_date < <dtml-sqlvar max_movement_date type="datetime"> OR \n + movement.stop_date < <dtml-sqlvar max_movement_date type="datetime"> )\n + ) OR (\n + grandparent.simulation_state in (\'confirmed\', \'stopped\', \'delivered\')\n + ))\n +\n AND movement.uid = catalog.uid\n AND movement.resource_uid is not NULL\n AND category.category_uid is NULL\n \n <dtml-if order_by_expression>\n -ORDER BY <dtml-var order_by_expression>\n + ORDER BY <dtml-var order_by_expression>\n </dtml-if> ]]></string> </value> diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision index 64ae959863..ea5ca3642f 100644 --- a/bt5/erp5_accounting/bt/revision +++ b/bt5/erp5_accounting/bt/revision @@ -1 +1 @@ -546 \ No newline at end of file +547 \ No newline at end of file -- 2.30.9