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 65d79c7477a195ca95622ba519a3fe553604ce66..9568457013b84a81354725128c4ee0933eb55e46 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 @@ -67,22 +67,31 @@ <key> <string>_body</string> </key> <value> <string encoding="cdata"><![CDATA[ +precision = context.getPriceCurrencyValue().getQuantityPrecision()\n base_application = 0\n -if base_amount_current_value_dict:\n +tax_category_list = cell.getVariationCategoryList(base_category_list= \\\n + \'tax_category\')\n +if tax_category_list != []:\n + tax_category = tax_category_list[0]\n +else:\n + tax_category = None\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.getBaseAmountList(base=1):\n - if base_amount_current_value_dict.has_key(base):\n - base_application += base_amount_current_value_dict[base]\n -\n + if base_amount_dict.has_key(base):\n + base_application += base_amount_dict[base][tax_category]\n quantity = cell.getQuantity() or 0\n price = cell.getPrice() or 0\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 - else:\n + elif model_slice_max:\n quantity = model_slice_max-model_slice_min\n + else:\n + quantity = base_application\n \n return {\'quantity\':quantity, \'price\':price}\n @@ -109,7 +118,7 @@ return {\'quantity\':quantity, \'price\':price}\n </item> <item> <key> <string>_params</string> </key> - <value> <string>base_amount_current_value_dict, model_slice_min, model_slice_max, cell</string> </value> + <value> <string>base_amount_dict, model_slice_min, model_slice_max, cell</string> </value> </item> <item> <key> <string>errors</string> </key> @@ -135,17 +144,22 @@ return {\'quantity\':quantity, \'price\':price}\n <key> <string>co_varnames</string> </key> <value> <tuple> - <string>base_amount_current_value_dict</string> + <string>base_amount_dict</string> <string>model_slice_min</string> <string>model_slice_max</string> <string>cell</string> - <string>base_application</string> <string>_getattr_</string> + <string>context</string> + <string>precision</string> + <string>base_application</string> + <string>tax_category_list</string> + <string>_getitem_</string> + <string>tax_category</string> + <string>None</string> <string>model_line</string> <string>_getiter_</string> <string>base</string> <string>_inplacevar_</string> - <string>_getitem_</string> <string>quantity</string> <string>price</string> </tuple> diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getAmountFromBaseParticipationList.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getAmountFromBaseParticipationList.xml index c58478b8fe01b534c24adc5fabd3598f0cadd463..e0c59c27b126e07524a5dc8e998dca73f213cbfa 100644 --- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getAmountFromBaseParticipationList.xml +++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getAmountFromBaseParticipationList.xml @@ -95,12 +95,20 @@ for pay_sheet_line in paysheet.contentValues(portal_type=\'Pay Sheet Line\'):\n for base_participation in base_participation_list:\n base_amount_list = pay_sheet_line.getResourceValue().getBaseAmountList()\n if base_participation in base_amount_list:\n - for slice in pay_sheet_line.getSalaryRangeList(base=1):\n + if pay_sheet_line.getSalaryRangeList(base=1) != []:\n + for slice in pay_sheet_line.getSalaryRangeList(base=1):\n + for category in category_list:\n + if category in pay_sheet_line.getVariationCategoryList():\n + cell = pay_sheet_line.getCell(category, slice)\n + total_price = cell.getQuantity() * cell.getPrice()\n + amount += round(total_price, precision)\n + else:\n for category in category_list:\n if category in pay_sheet_line.getVariationCategoryList():\n - cell = pay_sheet_line.getCell(category, slice)\n + cell = pay_sheet_line.getCell(category)\n total_price = cell.getQuantity() * cell.getPrice()\n amount += round(total_price, precision)\n + \n break # this permit to add only one time the amount even \n # if many base_amount are in base_participation_list\n \n diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getEditableObjectLineList.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getEditableObjectLineList.xml index be0326c333ee9777048966d6a17f214424db4f5d..97e9618df238eefe41c9d6660c6d5e40b68d246e 100644 --- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getEditableObjectLineList.xml +++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getEditableObjectLineList.xml @@ -87,9 +87,6 @@ model_line_list = model.contentValues(portal_type=\'Pay Sheet Model Line\')\n model_line_editable_list = [x.getObject() for x in model_line_list \\\n if x.getObject().isEditable()]\n \n -\n -\n -\n line_list = []\n for model_line in model_line_editable_list:\n \n @@ -103,7 +100,6 @@ for model_line in model_line_editable_list:\n service = model_line.getResourceValue()\n \n for tuple in cartesian_product:\n - tuple.reverse() #XXX understand why it is necesary\n cell = model_line.getCell(*tuple)\n if cell is None:\n continue\n @@ -128,13 +124,9 @@ for model_line in model_line_editable_list:\n \n params.update(tuple_dict)\n \n - #line_list.append(model_line.asContext(**params))\n line_list.append(cell.asContext(**params))\n \n return line_list\n -\n -#return context.PaySheetTransaction_getTempObjectListFromModelLineList(\\\n -# model_line_list = model_line_editable_list)\n </string> </value> </item> <item> 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 c6748aed12cc35ff40c3ca87d51d3adf6879455a..67b1282d7d5b129d2616b47ac3a1a1ac95e5ce9d 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 @@ -65,50 +65,94 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>from Products.PythonScripts.standard import Object\n -import pprint\n + <value> <string>\'\'\'\n + This script return a Pay Sheet Line list with some new parameters on\n + each Pay Sheet Line (like base, base_name, base_participation_list,\n + payroll_service,...)\n + It\'s used in the PaySheetTransaction_view to display PaySheetLines\n +\'\'\'\n \n -paysheet_line_list = context.contentValues(portal_type=\'Pay Sheet Line\')\n +\n +from Products.ERP5Type.Utils import cartesianProduct\n +import pprint\n from Products.ERP5Type.Message import Message\n N_ = lambda msg, **kw: Message(\'erp5_ui\', msg, **kw)\n +\n +\n +paysheet_line_list = context.contentValues(portal_type=\'Pay Sheet Line\')\n if context.getPriceCurrencyValue():\n precision = context.getPriceCurrencyValue().getQuantityPrecision()\n else:\n precision = 2\n \n +\n line_list = []\n \n for paysheet_line in paysheet_line_list:\n - slice_list = paysheet_line.getSalaryRangeValueList()\n - tax_category_list = paysheet_line.getVariationCategoryList(\\\n - base_category_list=\'tax_category\')\n -\n - for slice in slice_list:\n - share_dict={}\n - quantity=0\n - for tax_category in tax_category_list:\n - cell = paysheet_line.getCell(tax_category, slice.getRelativeUrl())\n - quantity = cell.getQuantity()\n - price = cell.getPrice()\n - share_dict[cell.getTaxCategory()+\'_rate\'] = price\n - share_dict[cell.getTaxCategory()+\'_amount\'] = round(quantity*price,\n - precision)\n -\n - # In theory, the base is the same for all share, but changes with the slice\n + base_category_list = paysheet_line.getVariationBaseCategoryList()\n + list_of_list = []\n + for base_category in base_category_list:\n + list = paysheet_line.getVariationCategoryList(base_category_list=\\\n + base_category)\n + list_of_list.append(list)\n + cartesian_product = cartesianProduct(list_of_list)\n +\n + previous_share = None\n + indice = 0\n +\n + object_dict = {}\n + for tuple in cartesian_product:\n + indice += 1\n + share_dict = {}\n + cell = paysheet_line.getCell(*tuple)\n + if cell is None:\n + continue\n +\n + quantity = cell.getQuantity()\n base = quantity\n \n base_list = [str(N_(base_application)) for base_application in \\\n paysheet_line.getBaseAmountTitleList()]\n base_name = \'+\'.join(base_list)\n +\n payroll_service = paysheet_line.getResourceValue()\n base_participation_list = payroll_service.getBaseAmountList()\n - line_list.append(paysheet_line.asContext(\n - slice=slice.getTitle(),\n - base_name=base_name,\n - base=base,\n - base_participation_list=base_participation_list,\n - payroll_service=payroll_service.getId(),\n - **share_dict))\n +\n + price = cell.getPrice()\n + share_dict[cell.getTaxCategory()+\'_rate\'] = price\n + share_dict[cell.getTaxCategory()+\'_amount\'] = round(quantity*price,\n + precision)\n +\n + tuple_dict = {}\n + for item in tuple:\n + # the dict key is the base category and value is the category path\n + tuple_dict[item.split(\'/\')[0]]=context.portal_categories.restrictedTraverse(item).getTitle()\n + tuple_dict[item.split(\'/\')[0]+\'_relative_url\']=item\n +\n + # we want to display as lines as a paysheet line as slices\n + # this is esay to read\n + slice = cell.getSalaryRange()\n + if slice is None:\n + slice = \'no_slice\'\n + if not object_dict.has_key(slice):\n + slice_title = None\n + if tuple_dict.has_key(\'salary_range\'):\n + slice_title=tuple_dict[\'salary_range\']\n + object_dict[slice]={\n + \'slice\':slice_title,\n + \'base_name\':base_name,\n + \'base\':base,\n + \'base_participation_list\':base_participation_list,\n + \'payroll_service\':payroll_service.getId()}\n + object_dict[slice].update(share_dict)\n + else:\n + object_dict[slice].update(**share_dict)\n +\n +\n + for object_key in paysheet_line.getSalaryRangeList():\n + line_list.append(paysheet_line.asContext(**object_dict[object_key]))\n + if object_dict.has_key(\'no_slice\'):\n + line_list.append(paysheet_line.asContext(**object_dict[\'no_slice\']))\n \n if kw.has_key(\'sort_on\'):\n list = kw[\'sort_on\']\n @@ -166,29 +210,34 @@ return line_list\n <value> <tuple> <string>kw</string> - <string>Products.PythonScripts.standard</string> - <string>Object</string> + <string>Products.ERP5Type.Utils</string> + <string>cartesianProduct</string> <string>pprint</string> - <string>_getattr_</string> - <string>context</string> - <string>paysheet_line_list</string> <string>Products.ERP5Type.Message</string> <string>Message</string> <string>N_</string> + <string>_getattr_</string> + <string>context</string> + <string>paysheet_line_list</string> <string>precision</string> <string>line_list</string> <string>_getiter_</string> <string>paysheet_line</string> - <string>slice_list</string> - <string>tax_category_list</string> - <string>slice</string> + <string>base_category_list</string> + <string>list_of_list</string> + <string>base_category</string> + <string>list</string> + <string>cartesian_product</string> + <string>None</string> + <string>previous_share</string> + <string>indice</string> + <string>object_dict</string> + <string>tuple</string> + <string>_inplacevar_</string> <string>share_dict</string> - <string>quantity</string> - <string>tax_category</string> + <string>_apply_</string> <string>cell</string> - <string>price</string> - <string>_write_</string> - <string>round</string> + <string>quantity</string> <string>base</string> <string>append</string> <string>$append0</string> @@ -198,9 +247,15 @@ return line_list\n <string>base_name</string> <string>payroll_service</string> <string>base_participation_list</string> - <string>_apply_</string> + <string>price</string> + <string>_write_</string> + <string>round</string> + <string>tuple_dict</string> + <string>item</string> <string>_getitem_</string> - <string>list</string> + <string>slice</string> + <string>slice_title</string> + <string>object_key</string> </tuple> </value> </item> diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateBaseSalary.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateBaseSalary.xml new file mode 100644 index 0000000000000000000000000000000000000000..973f7968346fb5ae5ffa38a268fd6666567267d5 --- /dev/null +++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateBaseSalary.xml @@ -0,0 +1,167 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Python_magic</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>__ac_local_roles__</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_body</string> </key> + <value> <string>if paysheet is None:\n + paysheet = context\n +\n +portal_simulation = context.getPortalObject().portal_simulation\n +\n +params = {\n + \'node_uid\' : paysheet.getSourceSectionUid(),\n + \'mirror_section_uid\' : paysheet.getSourceSectionUid(),\n + \'section_uid\' : paysheet.getDestinationSectionUid(),\n + \'tax_category_uid\' :\\\n + context.portal_categories.tax_category.employee_share.getUid(),\n + \'to_date\' : paysheet.getStartDate(),\n + \'from_date\' : DateTime(paysheet.getStartDate().year(), 1, 1),\n + #\'simulation_state\' : [\'confirmed\', \'stopped\', \'delivered\'],\n + \'precision\' : paysheet.getPriceCurrencyValue().getQuantityPrecision(),\n + \'resource_category\' : [\'base_amount/base_salary\',]\n + #\'src__\' : 1\n + }\n +\n +return portal_simulation.getInventoryAssetPrice(**params)\n +</string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_filepath</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>paysheet=None</string> </value> + </item> + <item> + <key> <string>errors</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>func_code</string> </key> + <value> + <object> + <klass> + <global name="FuncCode" module="Shared.DC.Scripts.Signature"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>co_argcount</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>co_varnames</string> </key> + <value> + <tuple> + <string>paysheet</string> + <string>None</string> + <string>context</string> + <string>_getattr_</string> + <string>portal_simulation</string> + <string>DateTime</string> + <string>params</string> + <string>_apply_</string> + </tuple> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>func_defaults</string> </key> + <value> + <tuple> + <none/> + </tuple> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>PaySheetTransaction_getYearToDateBaseSalary</string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateNetPay.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateNetPay.xml index 3b3707ef015730a9ade989ebee6f7055e23bd29d..504de74da8085a4ba8811dc9139efc68c15c6a74 100644 --- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateNetPay.xml +++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateNetPay.xml @@ -84,8 +84,8 @@ params = {\n }\n \n deductible_tax = portal_simulation.getInventoryAssetPrice(**params)\n -\n -return context.PaySheetTransaction_getYearToDateGrossSalary() - deductible_tax\n +over_time = context.PaySheetTransaction_getYearToDateOvertimeAmount()\n +return context.PaySheetTransaction_getYearToDateGrossSalary() - over_time - deductible_tax\n </string> </value> </item> <item> @@ -137,6 +137,7 @@ return context.PaySheetTransaction_getYearToDateGrossSalary() - deductible_tax\n <string>params</string> <string>_apply_</string> <string>deductible_tax</string> + <string>over_time</string> </tuple> </value> </item> diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateOvertimeAmount.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateOvertimeAmount.xml new file mode 100644 index 0000000000000000000000000000000000000000..79f189815e5f3a35edc1625d7cc9094b56662287 --- /dev/null +++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateOvertimeAmount.xml @@ -0,0 +1,167 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Python_magic</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>__ac_local_roles__</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_body</string> </key> + <value> <string>if paysheet is None:\n + paysheet = context\n +\n +portal_simulation = context.getPortalObject().portal_simulation\n +\n +params = {\n + \'node_uid\' : paysheet.getSourceSectionUid(),\n + \'mirror_section_uid\' : paysheet.getSourceSectionUid(),\n + \'section_uid\' : paysheet.getDestinationSectionUid(),\n + \'tax_category_uid\' :\\\n + context.portal_categories.tax_category.employee_share.getUid(),\n + \'to_date\' : paysheet.getStartDate(),\n + \'from_date\' : DateTime(paysheet.getStartDate().year(), 1, 1),\n + #\'simulation_state\' : [\'confirmed\', \'stopped\', \'delivered\'],\n + \'precision\' : paysheet.getPriceCurrencyValue().getQuantityPrecision(),\n + \'resource_category\' : [\'base_amount/over_time\',]\n + #\'src__\' : 1\n + }\n +\n +return portal_simulation.getInventoryAssetPrice(**params)\n +</string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_filepath</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>paysheet=None</string> </value> + </item> + <item> + <key> <string>errors</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>func_code</string> </key> + <value> + <object> + <klass> + <global name="FuncCode" module="Shared.DC.Scripts.Signature"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>co_argcount</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>co_varnames</string> </key> + <value> + <tuple> + <string>paysheet</string> + <string>None</string> + <string>context</string> + <string>_getattr_</string> + <string>portal_simulation</string> + <string>DateTime</string> + <string>params</string> + <string>_apply_</string> + </tuple> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>func_defaults</string> </key> + <value> + <tuple> + <none/> + </tuple> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>PaySheetTransaction_getYearToDateOvertimeAmount</string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateOverTimeHours.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateOvertimeHours.xml similarity index 99% rename from bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateOverTimeHours.xml rename to bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateOvertimeHours.xml index 2e0a24c17f3e6a5781a6ee02090b22791dc28161..e6c8f55828cb90800a259ac8b4f71a3bd7f7083e 100644 --- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateOverTimeHours.xml +++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateOvertimeHours.xml @@ -158,7 +158,7 @@ return yearly_work_time\n </item> <item> <key> <string>id</string> </key> - <value> <string>PaySheetTransaction_getYearToDateOverTimeHours</string> </value> + <value> <string>PaySheetTransaction_getYearToDateOvertimeHours</string> </value> </item> <item> <key> <string>warnings</string> </key> diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateTaxableNetPay.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateTaxableNetPay.xml index 5cc5ee7329d76086414241966ea219f0d8ac190f..c56ddb0ccf6c1f8bee07cd0992f4d26628520fcc 100644 --- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateTaxableNetPay.xml +++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getYearToDateTaxableNetPay.xml @@ -85,8 +85,10 @@ params = {\n \n \n deductible_tax = portal_simulation.getInventoryAssetPrice(**params)\n +over_time = context.PaySheetTransaction_getYearToDateOvertimeAmount()\n +gross_salary = context.PaySheetTransaction_getYearToDateGrossSalary()\n \n -return context.PaySheetTransaction_getYearToDateGrossSalary() - deductible_tax\n +return gross_salary - over_time - deductible_tax\n </string> </value> </item> <item> @@ -138,6 +140,8 @@ return context.PaySheetTransaction_getYearToDateGrossSalary() - deductible_tax\n <string>params</string> <string>_apply_</string> <string>deductible_tax</string> + <string>over_time</string> + <string>gross_salary</string> </tuple> </value> </item> diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_paysheet_model/PaySheetModelLine_asCellRange.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_paysheet_model/PaySheetModelLine_asCellRange.xml index 3d364e44e04fc2c62b145773154cb66b53f853f4..0151958717a7c75fdcb1ad99205b2c3684a9a754 100644 --- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_paysheet_model/PaySheetModelLine_asCellRange.xml +++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_paysheet_model/PaySheetModelLine_asCellRange.xml @@ -91,7 +91,6 @@ tax_category_title = N_(\'(Amount or Percent)\')\n if matrixbox :\n if resource is not None:\n base_category_list = resource.getVariationBaseCategoryList()\n - base_category_list.reverse()\n for base_category in base_category_list:\n category_cell_range = []\n category_item_list = context.getVariationCategoryItemList(base_category_list = (base_category,))\n @@ -113,7 +112,6 @@ if matrixbox :\n else:\n list_of_category_list = []\n variation_base_category_list = context.getVariationBaseCategoryList()\n - variation_base_category_list.reverse()\n for base_category in variation_base_category_list:\n list_of_category_list.append(\\\n context.getVariationCategoryList(base_category_list=base_category))\n diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_paysheet_model/PaySheetModelLine_view/matrixbox.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_paysheet_model/PaySheetModelLine_view/matrixbox.xml index 27b89069a3601c250f5f891a2e711a04f74aec59..0b1186f3a948c6b4fba32ce8232f82380de8aee1 100644 --- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_paysheet_model/PaySheetModelLine_view/matrixbox.xml +++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_paysheet_model/PaySheetModelLine_view/matrixbox.xml @@ -259,6 +259,14 @@ <string>price</string> <string>Share</string> </tuple> + <tuple> + <string>variation_category_list</string> + <string>variation_category_list</string> + </tuple> + <tuple> + <string>predicate_category_list</string> + <string>predicate_category_list</string> + </tuple> </list> </value> </item> @@ -282,14 +290,6 @@ <string>mapped_value_property_list</string> <string>mapped_value_property_list</string> </tuple> - <tuple> - <string>variation_category_list</string> - <string>variation_category_list</string> - </tuple> - <tuple> - <string>predicate_category_list</string> - <string>predicate_category_list</string> - </tuple> </list> </value> </item> diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_paysheet_model/PaySheetModelLine_view/matrixbox_price.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_paysheet_model/PaySheetModelLine_view/matrixbox_price.xml index 24cfeeb9b19e3eee0341e23781fcf3766d25c6b8..948251276e469eb3a66ee01d1b3778941fd9c8b3 100644 --- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_paysheet_model/PaySheetModelLine_view/matrixbox_price.xml +++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_paysheet_model/PaySheetModelLine_view/matrixbox_price.xml @@ -285,7 +285,7 @@ <dictionary> <item> <key> <string>_text</string> </key> - <value> <string>python: cell.getProperty(\'price\')</string> </value> + <value> <string>python:cell.getProperty(\'price\')</string> </value> </item> </dictionary> </pickle> diff --git a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_paysheet_model/PaySheetModelLine_view/my_resource_title.xml b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_paysheet_model/PaySheetModelLine_view/my_resource_title.xml index 0e2e63393490554711bada28c1d3dee89104c0b2..11b38c528bdf6f124c802434c63a021847c6a55d 100644 --- a/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_paysheet_model/PaySheetModelLine_view/my_resource_title.xml +++ b/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_paysheet_model/PaySheetModelLine_view/my_resource_title.xml @@ -3,11 +3,8 @@ <record id="1" aka="AAAAAAAAAAE="> <pickle> <tuple> - <tuple> - <string>Products.ERP5Form.RelationField</string> - <string>RelationStringField</string> - </tuple> - <none/> + <global name="RelationStringField" module="Products.ERP5Form.RelationField"/> + <tuple/> </tuple> </pickle> <pickle> @@ -142,6 +139,14 @@ <key> <string>tales</string> </key> <value> <dictionary> + <item> + <key> <string>allow_creation</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>allow_jump</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>alternate_name</string> </key> <value> <string></string> </value> @@ -154,6 +159,14 @@ <key> <string>catalog_index</string> </key> <value> <string></string> </value> </item> + <item> + <key> <string>columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>container_getter_id</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>css_class</string> </key> <value> <string></string> </value> @@ -194,18 +207,46 @@ <key> <string>extra</string> </key> <value> <string></string> </value> </item> + <item> + <key> <string>extra_item</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>first_item</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>hidden</string> </key> <value> <string></string> </value> </item> + <item> + <key> <string>items</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>jump_method</string> </key> <value> <string></string> </value> </item> + <item> + <key> <string>list_method</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>max_length</string> </key> <value> <string></string> </value> </item> + <item> + <key> <string>max_linelength</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_lines</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>parameter_list</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>portal_type</string> </key> <value> <string></string> </value> @@ -218,6 +259,14 @@ <key> <string>required</string> </key> <value> <string></string> </value> </item> + <item> + <key> <string>size</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>sort</string> </key> + <value> <string></string> </value> + </item> <item> <key> <string>title</string> </key> <value> <string></string> </value> diff --git a/bt5/erp5_payroll/bt/revision b/bt5/erp5_payroll/bt/revision index cde50ca2fd4ba909be88857a34e828b2d5e2373d..3021b562c412b715c2a99b67e34ffaaaa0ba1e17 100644 --- a/bt5/erp5_payroll/bt/revision +++ b/bt5/erp5_payroll/bt/revision @@ -1 +1 @@ -179 \ No newline at end of file +184 \ No newline at end of file