From 4622db4ad9faf3a7139e9cc058cd6c6f33c2e242 Mon Sep 17 00:00:00 2001 From: Yusuke Muraoka <yusuke@nexedi.com> Date: Wed, 26 Aug 2009 09:37:31 +0000 Subject: [PATCH] fix a bug the listbox of PaySheetTransaction_view could not get movements when variation categories are set on those lines, but no cells. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@28629 20353a03-c40f-0410-a6d1-a30d3c3de9de --- .../PaySheetTransaction_getMovementList.xml | 27 +++++++++++++++++-- bt5/erp5_payroll/bt/revision | 2 +- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getMovementList.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getMovementList.xml index feb6d30d26..59799d681d 100644 --- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getMovementList.xml +++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getMovementList.xml @@ -98,7 +98,6 @@ for paysheet_line in paysheet_line_list:\n previous_share = None\n indice = 0\n \n - object_dict = {}\n if cartesian_product == [[]] or cartesian_product == []:\n params = {\n \'base\':paysheet_line.getTotalPrice(),\n @@ -110,6 +109,7 @@ for paysheet_line in paysheet_line_list:\n line_list.append(paysheet_line.asContext(**params))\n continue\n \n + object_dict = {}\n for product in cartesian_product:\n indice += 1\n share_dict = {}\n @@ -153,6 +153,26 @@ for paysheet_line in paysheet_line_list:\n object_dict[slice].update(share_dict)\n else:\n object_dict[slice].update(**share_dict)\n +\n + if not object_dict:\n + # when the variation categories are set, but no cells.\n + slice_title = None\n + salary_range_list = [category for category in paysheet_line.getVariationCategoryList()\n + if category.startswith(\'salary_range\')]\n + if salary_range_list:\n + salary_range = portal.portal_categories.restrictedTraverse(salary_range_list[0])\n + slice_title = salary_range.getShortTitle() or salary_range.getTitle()\n +\n + params = {\n + \'slice\': slice_title,\n + \'base\': paysheet_line.getTotalPrice(),\n + \'base_contribution_list\': base_contribution_list,\n + \'base_application_list\': base_application_list,\n + \'service\': service is not None and\\\n + service.getId() or \'\',\n + \'causality\': causality,}\n + line_list.append(paysheet_line.asContext(**params))\n + continue\n \n # print pprint.pformat(object_dict)\n \n @@ -266,9 +286,9 @@ return line_list\n <string>cartesian_product</string> <string>previous_share</string> <string>indice</string> - <string>object_dict</string> <string>params</string> <string>_apply_</string> + <string>object_dict</string> <string>product</string> <string>_inplacevar_</string> <string>share_dict</string> @@ -281,6 +301,9 @@ return line_list\n <string>_getitem_</string> <string>slice</string> <string>slice_title</string> + <string>category</string> + <string>salary_range_list</string> + <string>salary_range</string> <string>object_key</string> <string>sortByTitleAscending</string> <string>sortByTitleDescending</string> diff --git a/bt5/erp5_payroll/bt/revision b/bt5/erp5_payroll/bt/revision index df2d2b6cee..9889789bab 100644 --- a/bt5/erp5_payroll/bt/revision +++ b/bt5/erp5_payroll/bt/revision @@ -1 +1 @@ -497 \ No newline at end of file +499 \ No newline at end of file -- 2.30.9