[Erp5-report] r10986 - in /erp5/trunk/bt5/erp5_payroll: SkinTemplateItem/portal_skins/erp5_...
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Oct 27 15:10:41 CEST 2006
Author: kevin
Date: Fri Oct 27 15:10:38 2006
New Revision: 10986
URL: http://svn.erp5.org?rev=10986&view=rev
Log:
Calculate yearly sums.
Modified:
erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getDetails.xml
erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_pdf_template.xml
erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_viewPaySheetTransactionAsPDF.xml
erp5/trunk/bt5/erp5_payroll/bt/change_log
erp5/trunk/bt5/erp5_payroll/bt/revision
erp5/trunk/bt5/erp5_payroll/bt/version
Modified: erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getDetails.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getDetails.xml?rev=10986&r1=10985&r2=10986&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getDetails.xml (original)
+++ erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_getDetails.xml Fri Oct 27 15:10:38 2006
@@ -219,9 +219,6 @@
, \'employee_share\' : None # Employee Share (Part salariale)\n
, \'taxable\' : taxable\n
, \'description\' : None\n
-# , \'service_id\' : None # Service ID\n
-# , \'salary_range\' : None # Salary Range\n
-# , \'tax_category\' : None # Tax Category\n
}\n
# Update group\'s sublines\n
groups = details[\'groups\']\n
@@ -281,10 +278,10 @@
line_description = line_description.replace(\'\\n\', \' \').strip().capitalize()\n
if len(line_description) > 0:\n
updateSubLine( group_id = cell_group_id\n
- , subline_id = cell_subline_id\n
- , property = \'description\'\n
- , value = \'(%s)\' % line_description\n
- )\n
+ , subline_id = cell_subline_id\n
+ , property = \'description\'\n
+ , value = \'(%s)\' % line_description\n
+ )\n
\n
### Gross salary group handling\n
if range_type.startswith("fixed/gross"):\n
@@ -370,10 +367,8 @@
\n
\n
##########################################\n
-# TODO: insert code here to get yearly totals\n
+# Calculate current paysheet grand totals\n
##########################################\n
-\n
-\n
\n
details[\'totals\'][\'gross_salary\'] = gross_salary\n
details[\'totals\'][\'net_salary\'] = net_salary\n
@@ -382,6 +377,56 @@
details[\'totals\'][\'total_employee_share\'] = total_employee_share\n
details[\'totals\'][\'total_addendum\'] = total_addendum\n
details[\'totals\'][\'total_employee_payment\'] = r_(net_salary + total_addendum)\n
+\n
+\n
+\n
+##########################################\n
+# Calculate yearly sums if needed\n
+##########################################\n
+\n
+if not ignore_yearly_sums:\n
+\n
+ # Calculate the year period\n
+ from DateTime import DateTime\n
+ start_year = context.getStartDate().year()\n
+ year_start_date = DateTime(start_year, 1, 1)\n
+ year_stop_date = context.getStopDate()\n
+\n
+\n
+ # Initialize the yearly sums data structure with current paysheet totals\n
+ yearly_sums = { \'start_date\': year_start_date\n
+ , \'stop_date\' : context.getStopDate()\n
+ }\n
+ yearly_sums_base_id = details[\'totals\'].keys()\n
+ for base_id in yearly_sums_base_id:\n
+ yearly_sums[base_id] = details[\'totals\'][base_id]\n
+\n
+\n
+ # Get all paysheet transaction to calculate the sum of different value in a year\n
+ search_params = \\\n
+ { \'portal_type\' : \'Pay Sheet Transaction\'\n
+ , \'simulation_state\' : [\'planned\', \'confirmed\', \'stopped\', \'delivered\']\n
+ , \'delivery.start_date\' : {\'range\': "minngt", \'query\': (year_start_date, year_stop_date)}\n
+ , \'destination_section_uid\': context.getDestinationSectionUid() # Employee\'s UID\n
+ }\n
+ accounting_folder = context.aq_parent\n
+ paysheet_transactions = accounting_folder.searchFolder(**search_params)\n
+\n
+\n
+ # Browse through paysheet transaction\n
+ current_paysheet_uid = context.getUid()\n
+ for paysheet in paysheet_transactions:\n
+ # Ignore the current paysheet to avoid infinite loop\n
+ if paysheet.getUid() != current_paysheet_uid:\n
+ # Get all detailed values of the paysheet\n
+ paysheet_details = paysheet.PaySheetTransaction_getDetails(ignore_yearly_sums = True)\n
+ for base_id in yearly_sums_base_id:\n
+ if paysheet_details[\'totals\'].has_key(base_id):\n
+ yearly_sums[base_id] = r_(yearly_sums[base_id] + r_(float(paysheet_details[\'totals\'][base_id])))\n
+\n
+\n
+ # Save the yearly sums in the current details dict\n
+ details[\'totals\'][\'yearly\'] = yearly_sums\n
\n
\n
\n
@@ -420,10 +465,14 @@
, value = new_value\n
)\n
\n
-# Format totals\n
+# Format totals and yearly sums\n
for (key, value) in details[\'totals\'].items():\n
if same_type(value, 1.0) or same_type(value, 1):\n
details[\'totals\'][key] = (\'%.\' + str(currency_precision) + \'f\') % value\n
+ elif key == \'yearly\':\n
+ for (key, value) in details[\'totals\'][\'yearly\'].items():\n
+ if same_type(value, 1.0) or same_type(value, 1):\n
+ details[\'totals\'][\'yearly\'][key] = (\'%.\' + str(currency_precision) + \'f\') % value\n
\n
\n
return details\n
@@ -451,7 +500,7 @@
</item>
<item>
<key> <string>_params</string> </key>
- <value> <string></string> </value>
+ <value> <string>ignore_yearly_sums=False</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
@@ -471,12 +520,13 @@
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
- <value> <int>0</int> </value>
+ <value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
+ <string>ignore_yearly_sums</string>
<string>_getattr_</string>
<string>context</string>
<string>portal</string>
@@ -533,6 +583,21 @@
<string>cell_base</string>
<string>cell_share</string>
<string>subline</string>
+ <string>DateTime</string>
+ <string>start_year</string>
+ <string>year_start_date</string>
+ <string>year_stop_date</string>
+ <string>yearly_sums</string>
+ <string>yearly_sums_base_id</string>
+ <string>base_id</string>
+ <string>search_params</string>
+ <string>accounting_folder</string>
+ <string>_apply_</string>
+ <string>paysheet_transactions</string>
+ <string>current_paysheet_uid</string>
+ <string>paysheet</string>
+ <string>paysheet_details</string>
+ <string>float</string>
<string>RATE_PRECISION</string>
<string>money_format</string>
<string>rate_format</string>
@@ -556,7 +621,9 @@
<item>
<key> <string>func_defaults</string> </key>
<value>
- <none/>
+ <tuple>
+ <int>0</int>
+ </tuple>
</value>
</item>
<item>
Modified: erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_pdf_template.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_pdf_template.xml?rev=10986&r1=10985&r2=10986&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_pdf_template.xml (original)
+++ erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_pdf_template.xml Fri Oct 27 15:10:38 2006
@@ -50,10 +50,10 @@
<?xml version="1.0" encoding="iso-8859-1" ?>\n
\n
-<tal:block tal:define="employee python: here.getDestinationSectionValue();\n
- employer python: here.getSourceSectionValue();\n
- urssaf python: employer.getDestinationSectionValue();\n
- start_date python: here.getStartDate()">\n
+<tal:block tal:define="employee python: here.getDestinationSectionValue();\n
+ employer python: here.getSourceSectionValue();\n
+ urssaf python: employer.getDestinationSectionValue();\n
+ start_date python: here.getStartDate()">\n
\n
<template bottommargin=\'0.665cm\'\n
showboundary=\'0\'\n
@@ -64,7 +64,7 @@
allowsplitting=\'1\'\n
landscape=\'0\'\n
leftmargin=\'0.635cm\'\n
- tal:define=\'portal python: here.portal_url.getPortalObject()\'>\n
+ tal:define=\'portal python: here.getPortalObject()\'>\n
\n
<stylesheet>\n
<tablestyle name="decompte">\n
@@ -121,9 +121,9 @@
<stylecmd expr="(\'LEFTPADDING\', (0,0), (-1,-1), 4)"/>\n
\n
<!--Tableau de gauche -->\n
- <stylecmd expr="(\'GRID\', (0,0), (4,1), 0.1, (0.4,0.4,0.4))"/>\n
- <stylecmd expr="(\'ALIGNMENT\', (0,0), (4,0), \'CENTER\')"/>\n
- <stylecmd expr="(\'ALIGNMENT\', (0,1), (4,1), \'RIGHT\')"/>\n
+ <stylecmd expr="(\'GRID\', (0,0), (5,1), 0.1, (0.4,0.4,0.4))"/>\n
+ <stylecmd expr="(\'ALIGNMENT\', (0,0), (5,0), \'CENTER\')"/>\n
+ <stylecmd expr="(\'ALIGNMENT\', (0,1), (5,1), \'RIGHT\')"/>\n
\n
<!-- Deuxieme ligne de droite -->\n
<!-- <stylecmd expr="(\'LINEBELOW\', (-1,0), (-1,0), 0.1, (0.4,0.4,0.4))"/>\n
Modified: erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_viewPaySheetTransactionAsPDF.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_viewPaySheetTransactionAsPDF.xml?rev=10986&r1=10985&r2=10986&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_viewPaySheetTransactionAsPDF.xml (original)
+++ erp5/trunk/bt5/erp5_payroll/SkinTemplateItem/portal_skins/erp5_payroll/PaySheetTransaction_viewPaySheetTransactionAsPDF.xml Fri Oct 27 15:10:38 2006
@@ -53,6 +53,7 @@
<document filename="report01.pdf"\n
xmlns:tal="http://xml.zope.org/namespaces/tal"\n
tal:define="details python: here.PaySheetTransaction_getDetails();\n
+ yearly_sums python: details[\'totals\'][\'yearly\'];\n
start_date python: here.getStartDate();\n
boldstyle python: \'(\\\'FONT\\\', \\\'Helvetica-Bold\\\', 7)\';\n
GROSS_SALARY_GROUP_ID python: \'gross\';\n
@@ -263,33 +264,35 @@
\n
<table style="cumul_conges">\n
<tr>\n
- <td colwidth="11cm"> <tal:block tal:replace="python: \'Cumuls annuels (%s)\' % start_date.year()" tal:condition="python: start_date not in (\'\', None)"/></td>\n
- <td colwidth="3cm"> </td>\n
- <td colwidth="5cm"> <!-- <tal:block tal:replace="python: \'Dur\xc3\xa9e des cong\xc3\xa9s pay\xc3\xa9s : ???\'"/> --> </td>\n
+ <td colwidth="12cm"><tal:block replace="python: \'Cumuls Annuels (%s au %s)\' % (yearly_sums[\'start_date\'], yearly_sums[\'stop_date\'])"/> </td>\n
+ <td colwidth="2cm"> </td>\n
+ <td colwidth="5cm"> </td>\n
</tr>\n
</table>\n
-<!--\n
+\n
<table style="cumul_conges_corps">\n
<tr>\n
- <td colwidth="2cm">Salaire brut</td>\n
- <td colwidth="3cm">Cotisations salariales</td>\n
- <td colwidth="2cm">Salaire net</td>\n
- <td colwidth="2cm">Net imposable</td>\n
- <td colwidth="2cm">Part patronale</td>\n
- <td colwidth="3cm"> </td>\n
+ <td colwidth="2cm">Salaire Brut</td>\n
+ <td colwidth="2cm">Part Patronale</td>\n
+ <td colwidth="2cm">Part Salariale</td>\n
+ <td colwidth="2cm">Salaire Net</td>\n
+ <td colwidth="2cm">Net Imposable</td>\n
+ <td colwidth="2cm">Addendum</td>\n
+ <td colwidth="2cm"> </td>\n
<td colwidth="5cm"> <tal:block tal:replace="python: \'Dur\xc3\xa9e des d\xc3\xa9lais de pr\xc3\xa9avis : \' + context.PaySheetTransaction_getResignmentLegalDelay()"/></td>\n
</tr>\n
<tr>\n
- <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'yearly_gross_salary\']" tal:condition="python: paysheet_details[\'yearly_gross_salary\'] not in (\'\', None)"></tal:block></td>\n
- <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'yearly_employee_share\']" tal:condition="python: paysheet_details[\'yearly_employee_share\'] not in (\'\', None)"></tal:block></td>\n
- <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'yearly_net_salary\']" tal:condition="python: paysheet_details[\'yearly_net_salary\'] not in (\'\', None)"></tal:block></td>\n
- <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'yearly_taxable_net_salary\']" tal:condition="python: paysheet_details[\'yearly_taxable_net_salary\'] not in (\'\', None)"></tal:block></td>\n
- <td> <tal:block replace="python: \'%.2f\' % paysheet_details[\'yearly_employer_share\']" tal:condition="python: paysheet_details[\'yearly_employer_share\'] not in (\'\', None)"></tal:block></td>\n
- <td> </td>\n
- <td> </td>\n
+ <td><tal:block replace="python: yearly_sums[\'gross_salary\']" condition="python: yearly_sums.has_key(\'gross_salary\')"/> </td>\n
+ <td><tal:block replace="python: yearly_sums[\'total_employer_share\']" condition="python: yearly_sums.has_key(\'total_employer_share\')"/> </td>\n
+ <td><tal:block replace="python: yearly_sums[\'total_employee_share\']" condition="python: yearly_sums.has_key(\'total_employee_share\')"/> </td>\n
+ <td><tal:block replace="python: yearly_sums[\'net_salary\']" condition="python: yearly_sums.has_key(\'net_salary\')"/> </td>\n
+ <td><tal:block replace="python: yearly_sums[\'taxable_net_salary\']" condition="python: yearly_sums.has_key(\'taxable_net_salary\')"/> </td>\n
+ <td><tal:block replace="python: yearly_sums[\'total_addendum\']" condition="python: yearly_sums.has_key(\'total_addendum\')"/> </td>\n
+ <td> </td>\n
+ <td><!--tal:block replace="python: \'Dur\xc3\xa9e des cong\xc3\xa9s pay\xc3\xa9s : ???\'"/--> </td>\n
</tr>\n
</table>\n
--->\n
+\n
</content>\n
</document>
Modified: erp5/trunk/bt5/erp5_payroll/bt/change_log
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_payroll/bt/change_log?rev=10986&r1=10985&r2=10986&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_payroll/bt/change_log (original)
+++ erp5/trunk/bt5/erp5_payroll/bt/change_log Fri Oct 27 15:10:38 2006
@@ -1,3 +1,6 @@
+2006-10-27 Kevin
+* Calculate yearly sums.
+
2006-10-26 Kevin
* Accounting of paysheets addendum.
* Show pay sheet line comments on PDF.
Modified: erp5/trunk/bt5/erp5_payroll/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_payroll/bt/revision?rev=10986&r1=10985&r2=10986&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_payroll/bt/revision (original)
+++ erp5/trunk/bt5/erp5_payroll/bt/revision Fri Oct 27 15:10:38 2006
@@ -1,1 +1,1 @@
-125
+128
Modified: erp5/trunk/bt5/erp5_payroll/bt/version
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_payroll/bt/version?rev=10986&r1=10985&r2=10986&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_payroll/bt/version (original)
+++ erp5/trunk/bt5/erp5_payroll/bt/version Fri Oct 27 15:10:38 2006
@@ -1,1 +1,1 @@
-0.2.10
+0.2.11
More information about the Erp5-report
mailing list