From 19a4da0c41c9bc6009277ce53d1c140319c6efff Mon Sep 17 00:00:00 2001 From: Fabien Morin <fabien@nexedi.com> Date: Thu, 29 Jan 2009 09:33:45 +0000 Subject: [PATCH] check for the slices only if there is a salary_range category defined on the cell, else quantity=base_application. This permit to use negative amount in the paysheet wtih line wich have no slices git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@25359 20353a03-c40f-0410-a6d1-a30d3c3de9de --- ...etTransaction_defaultCalculationScript.xml | 21 ++++++++++--------- bt5/erp5_payroll/bt/revision | 2 +- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_defaultCalculationScript.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_defaultCalculationScript.xml index cd8712fde0..eb253da2fc 100644 --- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_defaultCalculationScript.xml +++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_defaultCalculationScript.xml @@ -78,8 +78,7 @@ else:\n \n if base_amount_dict:\n # get the application amount for this cell\n - model_line = cell.getParentValue()\n - for base in model_line.getBaseApplicationList():\n + for base in cell.getBaseApplicationList():\n if base_amount_dict.has_key(base):\n base_application += base_amount_dict[base][tax_category]\n \n @@ -87,7 +86,7 @@ if base_amount_dict:\n salary_range_list = cell.getVariationCategoryList(\\\n base_category_list=\'salary_range\')\n if len(salary_range_list):\n - salary_range = salary_range_list[0] # a slice can have only one salary_range\n + salary_range = salary_range_list[0] # a cell can have only one salary_range\n # category\n else:\n salary_range = None\n @@ -104,14 +103,16 @@ if salary_range:\n model_slice_min = cell.getQuantityRangeMin()\n model_slice_max = cell.getQuantityRangeMax()\n \n + if not quantity and base_application-model_slice_min>0:\n + if base_application <= model_slice_max:\n + quantity = base_application-model_slice_min\n + elif model_slice_max:\n + quantity = model_slice_max-model_slice_min\n + else:\n + quantity = base_application\n \n -if not quantity and base_application-model_slice_min>0:\n - if base_application <= model_slice_max:\n - quantity = base_application-model_slice_min\n - elif model_slice_max:\n - quantity = model_slice_max-model_slice_min\n - else:\n - quantity = base_application\n +else:\n + quantity = base_application\n \n return {\'quantity\':quantity, \'price\':price}\n diff --git a/bt5/erp5_payroll/bt/revision b/bt5/erp5_payroll/bt/revision index f64b48379f..fc72547e33 100644 --- a/bt5/erp5_payroll/bt/revision +++ b/bt5/erp5_payroll/bt/revision @@ -1 +1 @@ -343 \ No newline at end of file +344 \ No newline at end of file -- 2.30.9