merge from pso with changes like add menu for template project, timesheet by week and month put in comment

bzr revid: hmo@tinyerp.com-20080912073642-n06a9vfaya88wm2x
This commit is contained in:
Harshad Modi 2008-09-12 13:06:42 +05:30
commit 5e72276b63
7 changed files with 614 additions and 359 deletions

View File

@ -6,9 +6,9 @@
<menuitem action="si_so" id="menu_si_so" parent="hr.menu_hr_attendance" type="wizard"/>
<wizard id="print_week" keyword="client_print_multi" model="hr.employee" name="hr.print_week" string="Print Timesheet by week"/>
<!-- <wizard id="print_week" keyword="client_print_multi" model="hr.employee" name="hr.print_week" string="Print Timesheet by week"/>
<wizard id="print_month" keyword="client_print_multi" model="hr.employee" name="hr.print_month" string="Print Timesheet by month"/>
<wizard id="print_month" keyword="client_print_multi" model="hr.employee" name="hr.print_month" string="Print Timesheet by month"/> -->
<wizard id="wizard_attendance_error" keyword="client_print_multi" model="hr.employee" name="hr.timesheet.attendance.report" string="Print Attendance Error Report"/>

View File

@ -52,11 +52,7 @@
<initialize>
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle name="P1" fontName="Times-Roman" fontSize="22.0" leading="27" alignment="CENTER"/>
<paraStyle name="P2" fontName="Times-Roman" alignment="RIGHT"/>
<paraStyle name="P3" fontName="Times-Roman" fontSize="14.0" leading="17" alignment="CENTER"/>
<paraStyle name="P4" fontName="Times-Roman"/>
<paraStyle name="P5" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P1" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="Standard" fontName="Times-Roman"/>
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
@ -106,8 +102,8 @@
<blockTable colWidths="482.0" style="tbl_detail">
<tr>
<td>
<para style="P5">[[ repeatIn(lst(employee.id,data['form']['init_date'], data['form']['end_date'], data['form']['max_delay']), 'att') ]]</para>
<blockTable colWidths="58.0,114.0,146.0,84.0,74.0" style="tbl_header">
<para style="P1">[[ repeatIn(lst(employee.id,data['form']['init_date'], data['form']['end_date'], data['form']['max_delay']), 'att') ]]</para>
<blockTable colWidths="58.0,114.0,143.0,93.0,69.0" style="tbl_header">
<tr>
<td>
<para style="terp_default_9">[[ att['action'] ]]</para>
@ -129,7 +125,7 @@
</td>
</tr>
</blockTable>
<blockTable colWidths="329.0,89.0,63.0" style="Table3">
<blockTable colWidths="319.0,99.0,63.0" style="Table3">
<tr>
<td>
<para style="terp_default_Bold_9">Total period:</para>

View File

@ -2,7 +2,7 @@
<document filename="test.pdf">
<template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="57.0" y1="57.0" width="481" height="728"/>
<frame id="first" x1="16.0" y1="57.0" width="522" height="728"/>
</pageTemplate>
</template>
<stylesheet>
@ -10,39 +10,110 @@
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Tableau2">
<blockTableStyle id="Table2">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="GRID" colorName="black"/>
<blockBackground colorName="#c0c0c0" start="0,0" stop="0,0"/>
<blockBackground colorName="#c0c0c0" start="1,0" stop="1,0"/>
<blockBackground colorName="#c0c0c0" start="2,0" stop="2,0"/>
<blockBackground colorName="#c0c0c0" start="3,0" stop="3,0"/>
<blockBackground colorName="#c0c0c0" start="4,0" stop="4,0"/>
<blockBackground colorName="#c0c0c0" start="5,0" stop="5,0"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="5,-1" stop="5,-1"/>
</blockTableStyle>
<blockTableStyle id="Table1">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#000000" start="4,0" stop="4,-1"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="4,0" stop="4,0"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#000000" start="5,0" stop="5,-1"/>
<lineStyle kind="LINEAFTER" colorName="#000000" start="5,0" stop="5,-1"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="5,0" stop="5,0"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="5,-1" stop="5,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="6,-1" stop="6,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="7,-1" stop="7,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="8,-1" stop="8,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="9,-1" stop="9,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#000000" start="3,1" stop="3,-1"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="3,1" stop="3,1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#000000" start="4,1" stop="4,-1"/>
<lineStyle kind="LINEAFTER" colorName="#000000" start="4,1" stop="4,-1"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="4,1" stop="4,1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="5,-1" stop="5,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="6,-1" stop="6,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="7,-1" stop="7,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="8,-1" stop="8,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#000000" start="0,2" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="0,2" stop="0,2"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#000000" start="1,2" stop="1,-1"/>
<lineStyle kind="LINEAFTER" colorName="#000000" start="1,2" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="1,2" stop="1,2"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
</blockTableStyle>
<blockTableStyle id="Table3">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#000000" start="3,0" stop="3,-1"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="3,0" stop="3,0"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#000000" start="4,0" stop="4,-1"/>
<lineStyle kind="LINEAFTER" colorName="#000000" start="4,0" stop="4,-1"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="4,0" stop="4,0"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="5,-1" stop="5,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="6,-1" stop="6,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="7,-1" stop="7,-1"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="8,-1" stop="8,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#000000" start="0,1" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="0,1" stop="0,1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#000000" start="1,1" stop="1,-1"/>
<lineStyle kind="LINEAFTER" colorName="#000000" start="1,1" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="1,1" stop="1,1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
</blockTableStyle>
<blockTableStyle id="Table5">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBEFORE" colorName="#000000" start="0,0" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="0,0"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#000000" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEAFTER" colorName="#000000" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
</blockTableStyle>
<blockTableStyle id="Table4">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,0" stop="0,0"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="1,0" stop="1,0"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="2,0" stop="2,0"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="3,0" stop="3,0"/>
</blockTableStyle>
<initialize>
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle name="P1" fontName="Times-Roman" fontSize="14.0" leading="17"/>
<paraStyle name="P2" fontName="Times-Bold" fontSize="20.0" leading="25" alignment="LEFT"/>
<paraStyle name="P3" fontName="Times-Bold" fontSize="14.0" leading="17" alignment="LEFT"/>
<paraStyle name="P4" fontName="Times-Bold" fontSize="11.0" leading="14" alignment="LEFT"/>
<paraStyle name="P1" fontName="Times-Bold" fontSize="14.0" leading="17" alignment="LEFT"/>
<paraStyle name="P2" fontName="Times-Roman" fontSize="14.0" leading="17"/>
<paraStyle name="P3" fontName="Times-Roman" fontSize="14.0" leading="17" alignment="LEFT"/>
<paraStyle name="P4" fontName="Times-Bold" fontSize="10.0" leading="13" alignment="LEFT"/>
<paraStyle name="P5" fontName="Times-Roman" fontSize="14.0" leading="17" alignment="LEFT"/>
<paraStyle name="P6" fontName="Times-BoldItalic" fontSize="11.0" leading="14" alignment="CENTER"/>
<paraStyle name="P7" fontName="Times-Roman" fontSize="12.0" leading="15" alignment="CENTER"/>
<paraStyle name="P8" fontName="Times-Roman" fontSize="12.0" leading="15" alignment="LEFT"/>
<paraStyle name="P9" fontName="Times-Roman" fontSize="12.0" leading="15" alignment="RIGHT"/>
<paraStyle name="P10" fontName="Times-Roman" fontSize="14.0" leading="17" alignment="RIGHT"/>
<paraStyle name="P11" fontName="Times-Roman" fontSize="14.0" leading="17" alignment="LEFT"/>
<paraStyle name="P12" fontName="Times-Bold" fontSize="12.0" leading="15" alignment="RIGHT"/>
<paraStyle name="P13" fontName="Times-Bold" fontSize="10.0" leading="13" alignment="LEFT"/>
<paraStyle name="P14" fontName="Times-BoldItalic" fontSize="14.0" leading="17" alignment="LEFT"/>
<paraStyle name="P15" fontName="Times-Roman" fontSize="14.0" leading="17" alignment="LEFT"/>
<paraStyle name="P6" rightIndent="-0.0" leftIndent="-3.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P7" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER"/>
<paraStyle name="Standard" fontName="Times-Roman"/>
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
@ -51,118 +122,147 @@
<paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER"/>
<paraStyle name="Caption" fontName="Times-Roman" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="Index" fontName="Times-Roman"/>
<paraStyle name="Footer" fontName="Times-Roman"/>
<paraStyle name="Horizontal Line" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
<paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="14.0" leading="17" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_1" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_9_bold_right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
</stylesheet>
<images/>
<story>
<para style="P1">[[ repeatIn(objects,'o') ]]</para>
<para style="P2">[[ repeatIn(objects,'o') ]]</para>
<para style="terp_header_Centre">HR Expenses [[ o.name or '' ]]</para>
<para style="P1">
<font color="white"> </font>
</para>
<para style="P2">HR Expenses [[ o.name or '' ]]</para>
<para style="terp_header">Employee: <font face="Times-Roman">[[ o.employee_id.name ]]</font><font face="Times-Roman"/></para>
<para style="terp_default_9">Date: <font face="Times-Roman">[[ time.strftime('%d/%m/%Y', time.strptime(o.date, '%Y-%m-%d')) ]]</font></para>
<para style="terp_default_9">Reference: <font face="Times-Roman">[[ o.ref ]]</font></para>
<para style="P3">
<font color="white"> </font>
</para>
<para style="P4">Employee: <font face="Times-Roman">[[ o.employee_id.name ]]</font></para>
<para style="P4">Date: <font face="Times-Roman">[[time.strftime('%d/%m/%Y', time.strptime(o.date, '%Y-%m-%d'))]]</font></para>
<para style="P4">Reference: <font face="Times-Roman">[[o.ref]]</font></para>
<para style="P5">
<font color="white"> </font>
</para>
<blockTable colWidths="71.0,110.0,75.0,75.0,75.0,75.0" style="Tableau2">
<blockTable colWidths="63.0,224.0,72.0,58.0,43.0,62.0" style="Table2">
<tr>
<td>
<para style="P6">Date</para>
<para style="terp_tblheader_Details">Date</para>
</td>
<td>
<para style="P6">Name</para>
<para style="terp_tblheader_Details">Name</para>
</td>
<td>
<para style="P6">Reference</para>
<para style="terp_tblheader_Details_Centre">Ref.</para>
</td>
<td>
<para style="P6">Unit price</para>
<para style="terp_tblheader_Details_Right">Unit price</para>
</td>
<td>
<para style="P6">Quantities</para>
<para style="terp_tblheader_Details_Centre">Qty</para>
</td>
<td>
<para style="P6">Total</para>
</td>
</tr>
<tr>
<td>
<para style="P7">[[ repeatIn(o.line_ids,'line') ]]</para>
<para style="P7">[[ time.strftime('%d/%m/%Y', time.strptime(line.date_value, '%Y-%m-%d')) or '' ]]</para>
</td>
<td>
<para style="P8">[[ line.name or '']]</para>
<para style="P8">[[ line.description or '']]</para>
</td>
<td>
<para style="P8">[[ line.ref or '']]</para>
</td>
<td>
<para style="P9">[[ '%.2f' % line.unit_amount or '']]</para>
</td>
<td>
<para style="P9">[[ '%.2f' % line.unit_quantity or '']]</para>
</td>
<td>
<para style="P9">[[ '%.2f' % line.total_amount or '' ]] [[company.currency_id.name ]]</para>
<para style="terp_tblheader_Details_Right">Total</para>
</td>
</tr>
</blockTable>
<para style="P5">
<font color="white"> </font>
</para>
<para style="P10">
<font color="white"> </font>
</para>
<blockTable colWidths="331.0,75.0,76.0" style="Table1">
<blockTable colWidths="523.0" style="Table1">
<tr>
<td>
<para style="P11">
<para style="terp_default_8">[[ repeatIn(o.line_ids,'line') ]]</para>
<blockTable colWidths="61.0,224.0,72.0,58.0,43.0,34.0,24.0" style="Table3">
<tr>
<td>
<para style="P6">[[ time.strftime('%d/%m/%Y', time.strptime(line.date_value, '%Y-%m-%d')) or '' ]]</para>
</td>
<td>
<para style="terp_default_9">[[ line.name or '' ]][[ line.description or '' ]]</para>
</td>
<td>
<para style="terp_default_Centre_9">[[ line.ref or '' ]]</para>
<blockTable colWidths="33.0,33.0" style="Table5">
<tr>
<td>
<para style="P7">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P7">
<font color="white"> </font>
</para>
</td>
</tr>
</blockTable>
<para style="terp_default_Centre_9">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_Right_9">[[ '%.2f' % line.unit_amount or '' ]]</para>
</td>
<td>
<para style="terp_default_9">[[ '%.2f' % line.unit_quantity or '' ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ '%.2f' % line.total_amount or '' ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ company.currency_id.name ]]</para>
</td>
</tr>
</blockTable>
</td>
</tr>
</blockTable>
<blockTable colWidths="418.0,43.0,39.0,23.0" style="Table4">
<tr>
<td>
<para style="P5">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P12">Total:</para>
<para style="terp_default_Bold_9">Total:</para>
</td>
<td>
<para style="P12">[[ '%.2f' % o.amount ]] [[ company.currency_id.name ]]</para>
<para style="terp_default_9_bold_right">[[ '%.2f' % o.amount ]]</para>
</td>
<td>
<para style="terp_default_9_bold_right">[[ company.currency_id.name ]]</para>
</td>
</tr>
</blockTable>
<para style="P5">
<para style="terp_default_8">
<font color="white"> </font>
</para>
<para style="P13">[[ o.note or '' ]] [[ setTag('para','xpre') ]]</para>
<para style="P5">
<para style="P4">[[ o.note or '' ]][[ setTag('para','xpre') ]]</para>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<para style="P14">Certified honest and conform,</para>
<para style="P14">(Date and signature)</para>
<para style="P15">
<para style="terp_default_9">Certified honest and conform,</para>
<para style="terp_default_9">(Date and signature)</para>
<para style="terp_default_9">
<font color="white"> </font>
</para>
<para style="P15">
<para style="terp_default_9">
<font color="white"> </font>
</para>
<para style="P15">
<font color="white"> </font>
</para>
<para style="P15">
<font color="white"> </font>
</para>
<para style="P15">
<font color="white"> </font>
</para>
<para style="P15">
<font color="white"> </font>
</para>
<para style="P15">
<font color="white"> </font>
</para>
<para style="P15">This document must be dated and signed for reimbursment</para>
<para style="terp_default_9">This document must be dated and signed for reimbursment</para>
</story>
</document>

View File

@ -66,7 +66,7 @@ def emp_create_xml(self,cr,uid,dept,holiday_type,row_id,empid,name,som,eom):
return xml
class report_custom(report_rml):
def create_xml(self, cr, uid, ids,data, context):
def create_xml(self, cr, uid, ids, data, context):
depts=[]
emp_id={}
done={}
@ -86,7 +86,6 @@ class report_custom(report_rml):
som = strToDate(first_date)
eom = som+datetime.timedelta(59)
day_diff=eom-som
if data['form']['holiday_type']!='both':

View File

@ -1,236 +1,368 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="35.0" y1="57.0" width="525" height="728"/>
</pageTemplate>
</template>
<stylesheet>
<blockTableStyle id="Standard_Outline">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table5">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<blockBackground colorName="#e6e6e6" start="0,0" stop="0,0"/>
<blockBackground colorName="#e6e6e6" start="1,0" stop="1,0"/>
<blockBackground colorName="#e6e6e6" start="2,0" stop="2,0"/>
</blockTableStyle>
<blockTableStyle id="Table8">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="GRID" colorName="black"/>
<blockBackground colorName="#e6e6e6" start="0,0" stop="0,0"/>
<blockBackground colorName="#e6e6e6" start="1,0" stop="1,0"/>
<blockBackground colorName="#e6e6e6" start="2,0" stop="2,0"/>
<blockBackground colorName="#e6e6e6" start="3,0" stop="3,0"/>
<blockBackground colorName="#e6e6e6" start="4,0" stop="4,0"/>
<blockBackground colorName="#e6e6e6" start="5,0" stop="5,0"/>
<blockBackground colorName="#e6e6e6" start="6,0" stop="6,0"/>
<blockBackground colorName="#e6e6e6" start="7,0" stop="7,0"/>
</blockTableStyle>
<blockTableStyle id="Table4">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table1">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table6">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table7">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<initialize>
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle name="P1" fontName="Times-Roman" alignment="LEFT"/>
<paraStyle name="P2" fontName="Times-Bold" fontSize="20.0" leading="25" alignment="CENTER"/>
<paraStyle name="P3" fontName="Times-Bold" fontSize="10.0" leading="13" alignment="RIGHT"/>
<paraStyle name="P4" fontName="Times-Roman" fontSize="10.0" leading="13" alignment="RIGHT"/>
<paraStyle name="P5" fontName="Times-Roman" fontSize="6.0" leading="8"/>
<paraStyle name="P6" fontName="Times-Roman" alignment="LEFT"/>
<paraStyle name="P7" fontName="Helvetica-Bold" fontSize="14.0" leading="20"/>
<paraStyle name="P8" fontName="Times-Roman" alignment="RIGHT"/>
<paraStyle name="P9" fontName="Times-Roman" fontSize="11.0" leading="14" alignment="LEFT"/>
<paraStyle name="P10" fontName="Times-Roman" fontSize="11.0" leading="14" alignment="RIGHT"/>
<paraStyle name="P11" fontName="Times-Roman" fontSize="10.0" leading="13"/>
<paraStyle name="P12" fontName="Times-Roman" fontSize="10.0" leading="13" alignment="RIGHT"/>
<paraStyle name="P13" fontName="Times-Roman" fontSize="10.0" leading="13"/>
<paraStyle name="P14" fontName="Times-Roman" fontSize="10.0" leading="13" alignment="RIGHT"/>
<paraStyle name="Standard" fontName="Times-Roman"/>
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Table Contents" fontName="Times-Roman"/>
<paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER"/>
<paraStyle name="Caption" fontName="Times-Roman" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="Index" fontName="Times-Roman"/>
<paraStyle name="Preformatted Text" fontName="Courier" fontSize="10.0" leading="13" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="Untitled1" fontName="Times-Roman"/>
</stylesheet>
<images/>
<story>
<blockTable colWidths="145.0,235.0,145.0" repeatRows="1" style="Table5">
<tr>
<td>
<para style="P1">[[ company.name ]]</para>
</td>
<td>
<para style="P2">Invoice rate by user</para>
</td>
<td>
<para style="P3">Period from [[ data['form']['date_from'] ]]</para>
<para style="P3">to [[ data['form']['date_to'] ]]</para>
<para style="P4">Currency: [[ company.currency_id.name ]]</para>
</td>
</tr>
</blockTable>
<para style="P6">
<font color="white"> </font>
</para>
<blockTable colWidths="118.0,44.0,55.0,67.0,68.0,66.0,55.0,50.0" style="Table8">
<tr>
<td>
<para style="P9">Employee</para>
</td>
<td>
<para style="P9">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P10">Units</para>
</td>
<td>
<para style="P10">Theorical</para>
</td>
<td>
<para style="P10">Income</para>
</td>
<td>
<para style="P10">Cost</para>
</td>
<td>
<para style="P10">Profit</para>
</td>
<td>
<para style="P10">Eff.</para>
</td>
</tr>
</blockTable>
<para style="P6">
<font color="white"> </font>
</para>
<section>
<para style="P5">[[ repeatIn(user_ids(lines(data['form'])), 'e') ]]</para>
<para style="P7">[[ e.name ]]</para>
<blockTable colWidths="92.0,433.0" style="Table4">
<tr>
<td>
<para style="P11">[[ repeatIn(journal_ids(data['form'], e.id), 'j') ]]</para>
<para style="P13">[[ j.name ]]</para>
</td>
<td>
<blockTable colWidths="70.0,55.0,68.0,68.0,66.0,55.0,50.0" style="Table1">
<tr>
<td>
<para style="P14">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P12">[[ reduce(lambda x, y: x+y['unit_amount'], line(data['form'], [j.id], [e.id]), 0)]]</para>
</td>
<td>
<para style="P12">[[ reduce(lambda x, y: x+y['amount_th'], line(data['form'], [j.id], [e.id]), 0) ]]</para>
</td>
<td>
<para style="P12">[[ reduce(lambda x, y: x+y['amount'], line(data['form'], [j.id], [e.id]), 0) ]]</para>
</td>
<td>
<para style="P12">[[ reduce(lambda x, y: x+y['cost'], line(data['form'], [j.id], [e.id]), 0) ]]</para>
</td>
<td>
<para style="P12">[[ reduce(lambda x, y: x+y['profit'], line(data['form'], [j.id], [e.id]), 0)]]</para>
</td>
<td>
<para style="P12">[[ '%d' % (-reduce(lambda x, y: x+y['amount'], line(data['form'], [j.id], [e.id]), 0) / reduce(lambda x, y: x+y['cost'], line(data['form'], [j.id], [e.id]), 0) * 100.0,)]] %
</para>
</td>
</tr>
<tr>
<td>
<para style="P12">[[ repeatIn(line(data['form'], [j.id], [e.id]), 'l') ]]</para>
<para style="P12">[[ l['name'] ]]</para>
</td>
<td>
<para style="P12">[[ l['unit_amount'] ]]</para>
</td>
<td>
<para style="P12">[[ l['amount_th'] ]]</para>
</td>
<td>
<para style="P12">[[ l['amount'] ]]</para>
</td>
<td>
<para style="P12">[[ l['cost'] ]]</para>
</td>
<td>
<para style="P12">[[ l['profit'] ]]</para>
</td>
<td>
<para style="P12">[[ l['eff'] ]] %</para>
</td>
</tr>
</blockTable>
</td>
</tr>
</blockTable>
</section>
<blockTable colWidths="103.0,422.0" style="Table6">
<tr>
<td>
<para style="P7">Totals</para>
</td>
<td>
<blockTable colWidths="59.0,55.0,67.0,68.0,66.0,55.0,51.0" style="Table7">
<tr>
<td>
<para style="P12">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P12">[[ reduce(lambda x, y: x+y['unit_amount'], line(data['form'], data['form']['journal_ids'][0][2], data['form']['employee_ids'][0][2]), 0) ]]</para>
</td>
<td>
<para style="P12">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P12">[[ reduce(lambda x, y: x+y['amount'], line(data['form'],data['form']['journal_ids'][0][2], data['form']['employee_ids'][0][2]), 0) ]]</para>
</td>
<td>
<para style="P12">[[ reduce(lambda x, y: x+y['cost'], line(data['form'],data['form']['journal_ids'][0][2], data['form']['employee_ids'][0][2]), 0) ]]</para>
</td>
<td>
<para style="P12">[[ reduce(lambda x, y: x+y['profit'], line(data['form'],data['form']['journal_ids'][0][2], data['form']['employee_ids'][0][2]), 0) ]]</para>
</td>
<td>
<para style="P12">[[ '%d' % (-reduce(lambda x, y: x+y['amount'], line(data['form'],data['form']['journal_ids'][0][2], data['form']['employee_ids'][0][2]), 0)/reduce(lambda x, y: x+y['cost'], line(data['form'],data['form']['journal_ids'][0][2], data['form']['employee_ids'][0][2]), 0)* 100, )]] %</para>
</td>
</tr>
</blockTable>
</td>
</tr>
</blockTable>
</story>
<template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="35.0" y1="57.0" width="525" height="728"/>
</pageTemplate>
</template>
<stylesheet>
<blockTableStyle id="Standard_Outline">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table5">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table1">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
</blockTableStyle>
<blockTableStyle id="Table3">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
</blockTableStyle>
<blockTableStyle id="Table8">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="5,-1" stop="5,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="6,-1" stop="6,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="7,-1" stop="7,-1"/>
</blockTableStyle>
<blockTableStyle id="Table4">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="22,-1" stop="22,-1"/>
</blockTableStyle>
<blockTableStyle id="Table2">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table6">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table7">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<initialize>
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle name="P1" fontName="Times-Roman" fontSize="10.0" leading="13"/>
<paraStyle name="P2" fontName="Times-Roman" fontSize="10.0" leading="13" alignment="RIGHT"/>
<paraStyle name="P3" fontName="Times-Roman" fontSize="10.0" leading="13" alignment="RIGHT"/>
<paraStyle name="P4" fontName="Times-Bold" fontSize="10.0" leading="13" alignment="RIGHT"/>
<paraStyle name="P5" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT"/>
<paraStyle name="P6" fontName="Times-Roman" alignment="LEFT"/>
<paraStyle name="P7" fontName="Times-Roman" fontSize="10.0" leading="13" alignment="RIGHT"/>
<paraStyle name="P8" fontName="Times-Roman" alignment="LEFT"/>
<paraStyle name="Standard" fontName="Times-Roman"/>
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Table Contents" fontName="Times-Roman"/>
<paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER"/>
<paraStyle name="Caption" fontName="Times-Roman" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="Index" fontName="Times-Roman"/>
<paraStyle name="Preformatted Text" fontName="Courier" fontSize="10.0" leading="13" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="Untitled1" fontName="Times-Roman"/>
<paraStyle name="Footer" fontName="Times-Roman"/>
<paraStyle name="Horizontal Line" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
<paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_centre_bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
</stylesheet>
<images/>
<story>
<blockTable colWidths="175.0,175.0,175.0" repeatRows="1" style="Table5">
<tr>
<td>
<para style="terp_default_9">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_header_Centre">Invoice rate by user</para>
</td>
<td>
<para style="P4">
<font color="white"> </font>
</para>
<para style="P3">
<font color="white"> </font>
</para>
</td>
</tr>
</blockTable>
<para style="P6">
<font color="white"> </font>
</para>
<blockTable colWidths="175.0,175.0,175.0" style="Table1">
<tr>
<td>
<para style="terp_default_centre_bold_9">Period from startdate</para>
</td>
<td>
<para style="terp_default_centre_bold_9">Period to enddate</para>
</td>
<td>
<para style="terp_default_centre_bold_9">Currency</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="175.0,175.0,175.0" style="Table3">
<tr>
<td>
<para style="terp_default_Centre_9">[[ data['form']['date_from'] ]]</para>
</td>
<td>
<para style="terp_default_Centre_9">[[ data['form']['date_to'] ]]</para>
</td>
<td>
<para style="terp_default_Centre_9">[[ company.currency_id.name ]]</para>
</td>
</tr>
</blockTable>
<para style="P6">
<font color="white"> </font>
</para>
<para style="terp_default_9">
<font color="white"> </font>
</para>
<blockTable colWidths="118.0,44.0,55.0,67.0,71.0,66.0,52.0,50.0" style="Table8">
<tr>
<td>
<para style="terp_tblheader_Details">Employee</para>
</td>
<td>
<para style="terp_default_Bold_9">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_tblheader_Details">Units</para>
</td>
<td>
<para style="terp_tblheader_Details">Theorical</para>
</td>
<td>
<para style="terp_tblheader_Details">Income</para>
</td>
<td>
<para style="terp_tblheader_Details">Cost</para>
</td>
<td>
<para style="terp_tblheader_Details">Profit</para>
</td>
<td>
<para style="terp_tblheader_Details">Eff.</para>
</td>
</tr>
</blockTable>
<para style="P6">
<font color="white"> </font>
</para>
<section>
<para style="terp_default_9">[[ repeatIn(user_ids(lines(data['form'])), 'e') ]]</para>
<blockTable colWidths="521.0,4.0" style="Table4">
<tr>
<td>
<para style="terp_header">[[ e.name ]]</para>
</td>
</tr>
<tr>
<td>
<para style="P1">[[ repeatIn(journal_ids(data['form'], e.id), 'j') ]]</para>
<para style="terp_default_9">[[ j.name ]]</para>
<blockTable colWidths="160.0,57.0,66.0,61.0,68.0,52.0,334.0" style="Table2">
<tr>
<td>
<para style="P7">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_9">[[ reduce(lambda x, y: x+y['unit_amount'], line(data['form'], [j.id], [e.id]), 0) ]]</para>
</td>
<td>
<para style="terp_default_9">[[ reduce(lambda x, y: x+y['amount_th'], line(data['form'], [j.id], [e.id]), 0) ]]</para>
</td>
<td>
<para style="terp_default_9">[[ reduce(lambda x, y: x+y['amount'], line(data['form'], [j.id], [e.id]), 0) ]]</para>
</td>
<td>
<para style="terp_default_9">[[ reduce(lambda x, y: x+y['cost'], line(data['form'], [j.id], [e.id]), 0) ]]</para>
</td>
<td>
<para style="terp_default_9">[[ reduce(lambda x, y: x+y['profit'], line(data['form'], [j.id], [e.id]), 0) ]]</para>
</td>
<td>
<para style="terp_default_9">[[ '%d' % (reduce(lambda x, y: x+y['amount'], line(data['form'], [j.id], [e.id]), 0) / reduce(lambda x, y: x+y['cost'], line(data['form'], [j.id], [e.id]), 0) * 100.0,)]] % </para>
</td>
</tr>
<tr>
<td>
<para style="terp_default_9">[[ repeatIn(line(data['form'], [j.id], [e.id]), 'l') ]]</para>
<para style="terp_default_9">[[ l['name'] ]]</para>
</td>
<td>
<para style="terp_default_9">[[ l['unit_amount'] ]]</para>
</td>
<td>
<para style="terp_default_9">[[ l['amount_th'] ]]</para>
</td>
<td>
<para style="terp_default_9">[[ l['amount'] ]]</para>
</td>
<td>
<para style="terp_default_9">[[ l['cost'] ]]</para>
</td>
<td>
<para style="terp_default_9">[[ l['profit'] ]]</para>
</td>
<td>
<para style="terp_default_9">[[ l['eff'] ]] %</para>
</td>
</tr>
<tr>
<td>
<para style="P5">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P5">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P5">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P5">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P5">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P5">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P5">
<font color="white"> </font>
</para>
</td>
</tr>
</blockTable>
<para style="terp_default_9">
<font color="white"> </font>
</para>
</td>
<td>
<para style="Standard">
<font color="white"> </font>
</para>
</td>
</tr>
</blockTable>
<section>
<blockTable colWidths="103.0,422.0" style="Table6">
<tr>
<td>
<para style="terp_default_Bold_9">Totals</para>
</td>
<td>
<blockTable colWidths="59.0,56.0,67.0,62.0,67.0,55.0,55.0" style="Table7">
<tr>
<td>
<para style="P2">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_Bold_9">[[ reduce(lambda x, y: x+y['unit_amount'], line(data['form'], data['form']['journal_ids'][0][2], data['form']['employee_ids'][0][2]), 0) ]]</para>
</td>
<td>
<para style="P2">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_Bold_9">[[ reduce(lambda x, y: x+y['amount'], line(data['form'],data['form']['journal_ids'][0][2], data['form']['employee_ids'][0][2]), 0) ]]</para>
</td>
<td>
<para style="terp_default_Bold_9">[[ reduce(lambda x, y: x+y['cost'], line(data['form'],data['form']['journal_ids'][0][2], data['form']['employee_ids'][0][2]), 0) ]]</para>
</td>
<td>
<para style="terp_default_Bold_9">[[ reduce(lambda x, y: x+y['profit'], line(data['form'],data['form']['journal_ids'][0][2], data['form']['employee_ids'][0][2]), 0) ]]</para>
</td>
<td>
<para style="terp_default_Bold_9">[[ round(reduce(lambda x, y: x+y['amount'], line(data['form'],data['form']['journal_ids'][0][2], data['form']['employee_ids'][0][2]), 0)/reduce(lambda x, y: x+y['cost'], line(data['form'],data['form']['journal_ids'][0][2], data['form']['employee_ids'][0][2]), 0)* -100, 2)]] %</para>
</td>
</tr>
</blockTable>
<para style="Table Contents">
<font color="white"> </font>
</para>
</td>
</tr>
</blockTable>
<para style="Standard">
<font color="white"> </font>
</para>
</section>
</section>
</story>
</document>

View File

@ -132,7 +132,7 @@ class project(osv.osv):
'warn_footer': fields.text('Mail footer'),
'notes': fields.text('Notes'),
'timesheet_id': fields.many2one('hr.timesheet.group', 'Working Time'),
'state': fields.selection([('open', 'Open'),('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')], 'Status', required=True),
'state': fields.selection([('template', 'Template'), ('open', 'Open'), ('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')], 'State', required=True),
}
_defaults = {
@ -149,21 +149,37 @@ class project(osv.osv):
]
# toggle activity of projects, their sub projects and their tasks
def toggleActive(self, cr, uid, ids, context={}):
for proj in self.browse(cr, uid, ids, context):
self.setActive(cr, uid, proj.id, not proj.active, context)
def settemplate(self, cr, uid, ids, context={}):
res = self.setActive(cr, uid, ids, value=False, context=context)
return res
def resetproject(self, cr, uid, ids, context={}):
res = self.setActive(cr, uid, ids,value=True, context=context)
return res
def duplicatetemplate(self, cr, uid, ids, context={}):
proj = self.browse(cr, uid, ids[0], context)
self.pool.get('project.project').copy(cr, uid, ids[0],default={'state':'template'}, context=context)
cr.execute('select id from project_task where project_id=%d', (proj.id,))
res = cr.fetchall()
tasks_ids = [x[0] for x in res]
if tasks_ids:
for i in tasks_ids:
self.pool.get('project.task').copy(cr, uid, i,default={'active':False}, context=context)
project_ids = [x[0] for x in res]
return True
# set active value for a project, its sub projects and its tasks
def setActive(self, cr, uid, id, value, context={}):
proj = self.browse(cr, uid, id, context)
self.write(cr, uid, [id], {'active': value}, context)
cr.execute('select id from project_task where project_id=%d', (proj.id,))
tasks_id = [x[0] for x in cr.fetchall()]
self.pool.get('project.task').write(cr, uid, tasks_id, {'active': value}, context)
project_ids = [x[0] for x in cr.fetchall()]
for child in project_ids:
self.setActive(cr, uid, child, value, context)
def setActive(self, cr, uid, ids, value=True, context={}):
for proj in self.browse(cr, uid, ids, context):
self.write(cr, uid, [proj.id], {'state': value and 'open' or 'template'}, context)
cr.execute('select id from project_task where project_id=%d', (proj.id,))
res = cr.fetchall()
tasks_id = [x[0] for x in res]
if tasks_id:
self.pool.get('project.task').write(cr, uid, tasks_id, {'active': value}, context)
project_ids = [x[0] for x in res]
return True
project()

View File

@ -22,18 +22,20 @@
<notebook colspan="4">
<page string="Administration">
<field name="priority"/>
<group col="3" colspan="2">
<field name="active" select="2"/>
<button name="toggleActive" string="Toggle activity" type="object"/>
</group>
<field name="planned_hours" widget="float_time"/>
<field name="effective_hours" widget="float_time"/>
<field name="warn_manager"/>
<field name="timesheet_id"/>
<field name="state"/>
<field name="active" select="2"/>
<newline/>
<separator colspan="4" string="Project's members"/>
<field colspan="4" name="members" nolabel="1"/>
<group col="6" colspan="8">
<field name="state"/>
<button name="settemplate" string="Set as Template" type="object" states="open"/>
<button name="resetproject" string="Reset as Project" type="object" states="template"/>
<button name="duplicatetemplate" string="Duplicate Template" type="object" states="template"/>
</group>
</page>
<page groups="base.group_extended" string="Partner Info">
<field colspan="4" name="partner_id" on_change="onchange_partner_id(partner_id)" select="1"/>
@ -115,8 +117,7 @@
<field name="domain">[('parent_id','=',False),('state','=','open')]</field>
<field name="view_id" ref="view_project"/>
</record>
<menuitem action="open_view_all_project_unclosed_open" id="menu_all_project_unclosed_open" parent="project.menu_all_project_unclosed"/>
<menuitem action="open_view_all_project_unclosed_open" id="menu_all_project_unclosed_open" parent="project.menu_all_project_unclosed"/>
<record id="open_view_project_open" model="ir.actions.act_window">
<field name="name">Open projects</field>
@ -127,6 +128,15 @@
</record>
<menuitem id="next_id_54" name="Projects" parent="project.menu_definitions"/><menuitem action="open_view_project_open" id="menu_open_view_project_open" parent="next_id_54"/>
<record id="open_view_template_project" model="ir.actions.act_window">
<field name="name">Template projects</field>
<field name="res_model">project.project</field>
<field name="view_type">form</field>
<field name="domain">[('state','=','template')]</field>
<field name="view_id" ref="view_project"/>
</record>
<menuitem action="open_view_template_project" id="menu_template_project" parent="next_id_54"/>
<record id="view_task_work_form" model="ir.ui.view">
<field name="name">project.task.work.form</field>
@ -467,6 +477,8 @@
view_mode="tree,form,calendar,graph"
view_type="form"/>
<act_window id="act_project_project_2_project_task_all" name="All tasks" res_model="project.task" src_model="project.project" view_mode="tree,form" view_type="form"/>
<record id="task_company" model="ir.ui.view">
<field name="name">res.company.task.config</field>
<field name="model">res.company</field>