Amit Parmar (OpenERP) has proposed merging
lp:~openerp-dev/openobject-addons/trunk-leave_status_report_improve-aar into
lp:~openerp-dev/openobject-addons/trunk-leave_status_report-uco.
Requested reviews:
Ujjvala Collins (OpenERP) (uco-openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-leave_status_report_improve-aar/+merge/82099
Hello Mam,
I have made changes as you mentioned
Thanks,
Amit Parmar
--
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-leave_status_report_improve-aar/+merge/82099
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-addons/trunk-leave_status_report-uco.
=== modified file 'hr_holidays/hr_holidays.py'
--- hr_holidays/hr_holidays.py 2011-11-02 12:23:03 +0000
+++ hr_holidays/hr_holidays.py 2011-11-14 06:23:33 +0000
@@ -112,6 +112,7 @@
result[hol.id] = hol.number_of_days_temp
return result
+<<<<<<< TREE
def _get_carryforward_leaves(self, cr, uid, ids, name, args, context=None):
from datetime import datetime
result = {}
@@ -168,6 +169,106 @@
result[hol.id] = 1
return result
+=======
+ def _get_carryforward_leaves(self, cr, uid, ids, name, args, context=None):
+ from datetime import datetime
+ result = {}
+ previous_carry = 0
+ emp_id = 0
+ contract_obj = self.pool.get('hr.contract')
+ holidays_ids = self.search(cr, uid, [], context=context)
+ holidays_ids.sort()
+ for hol in self.browse(cr, uid, holidays_ids, context=context):
+ if hol.type == 'remove':
+ date_start1 = datetime.strptime(hol.date_from,'%Y-%m-%d %H:%M:%S')
+ date_start = (datetime(date_start1.year, date_start1.month, 1, 0, 0, 0) + relativedelta(months=-1))
+ last_day = calendar.monthrange(date_start1.year,date_start1.month)[1]
+ date_end = (datetime(date_start1.year, date_start1.month, last_day, 23, 59, 59) + relativedelta(months=-1))
+ cr.execute('''SELECT sum(h.number_of_days_temp)
+ FROM hr_holidays h, hr_employee e, hr_holidays_status s
+ WHERE h.employee_id=e.id and date_from between '%s' and '%s' and employee_id=%s
+ and s.id = h.holiday_status_id and s.name='Paid Leaves' '''
+ %(date_start, date_end, hol.employee_id.id))
+ prev_days = cr.fetchone()
+ cr.execute('''SELECT distinct(to_char(date_from, 'MM')) as month, id, max(date_from) as max_date
+ FROM hr_holidays
+ WHERE employee_id=%s AND type='remove' AND
+ date_from >= '%s'
+ GROUP BY date_from, id ORDER BY id LIMIT 2'''
+ % (hol.employee_id.id, hol.date_from))
+ diff_months = [(d[1], int(d[0])) for d in cr.fetchall()]
+ if len(diff_months) == 2:
+ key = diff_months[1][0]
+ key1 = diff_months[0][0]
+ if diff_months[0][0] > diff_months[1][0]:
+ key = diff_months[0][0]
+ key1 = diff_months[1][0]
+ leaves = self.browse(cr, uid, key)
+ if hol.id not in result.keys():
+ contract_ids = contract_obj.search(cr, uid, [('employee_id','=',hol.employee_id.id)])
+ month = 0
+ if len(contract_ids):
+ contract = contract_obj.browse(cr, uid, contract_ids[0])
+ date = contract.date_start.split('-')
+ month = int(date[1])
+ if month != 0:
+ if key1 == diff_months[0][0]:
+ result[key1] = diff_months[0][1] - month
+ elif key1 == diff_months[1][0]:
+ result[key1] = diff_months[1][1] - month
+ else:
+ if key1 == diff_months[0][0]:
+ result[key1] = diff_months[0][1] - 1
+ elif key1 == diff_months[1][0]:
+ result[key1] = diff_months[1][1] - 1
+ previous_carry = result[key1]
+ month = 0
+ if (diff_months[1][1] - diff_months[0][1]) != 0:
+ if previous_carry != 0:
+ if leaves.holiday_status_id.name == 'Paid Leaves':
+ result[key] = previous_carry + diff_months[1][1] - diff_months[0][1] - 1
+ else:
+ result[key] = previous_carry + diff_months[1][1] - diff_months[0][1]
+ else:
+ result[key] = diff_months[1][1] - 1
+ else:
+ if previous_carry != 0:
+ if leaves.holiday_status_id.name == 'Paid Leaves':
+ result[key] = previous_carry - 1
+ else:
+ result[key] = previous_carry
+ else:
+ result[key] = diff_months[1][1] - 1
+ previous_carry = result[key]
+ emp_id = leaves.employee_id.id
+ elif len(diff_months) == 1:
+ if not result.has_key(diff_months[0][0]):
+ result[diff_months[0][0]] = diff_months[0][1] - 1
+ else:
+ result[hol.id] = 0
+ return result
+
+ def _get_assigned_leaves(self, cr, uid, ids, name, args, context=None):
+ from datetime import datetime
+ contract_obj = self.pool.get('hr.contract')
+ result = {}
+ for hol in self.browse(cr, uid, ids, context=context):
+ result[hol.id] = 1
+ if hol.type == 'remove':
+ date_start = datetime.strptime(hol.date_from,'%Y-%m-%d %H:%M:%S').strftime('%Y-%m-01 %H:%M:%S')
+ leave_ids = self.search(cr, uid, [('date_from', '>=', date_start), ('date_from', '<', hol.date_from), ('employee_id','=',hol.employee_id.id)])
+ contract_ids = contract_obj.search(cr, uid, [('employee_id','=',hol.employee_id.id)])
+ for cont in contract_obj.browse(cr, uid, contract_ids, context=context):
+ appointment_year = datetime.strptime(cont.date_start,'%Y-%m-%d').year
+ if appointment_year == time.strftime('%Y'):
+ result[hol.id] = 1
+ if leave_ids:
+ result[hol.id] = 0
+ elif datetime.strptime(hol.date_from,'%Y-%m-%d %H:%M:%S').month != '01':
+ result[hol.id] = 1
+ return result
+
+>>>>>>> MERGE-SOURCE
_columns = {
'name': fields.char('Description', required=True, size=64),
'state': fields.selection([('draft', 'New'), ('confirm', 'Waiting Approval'), ('refuse', 'Refused'),
=== modified file 'hr_holidays/hr_holidays_data.xml'
--- hr_holidays/hr_holidays_data.xml 2011-07-22 11:31:47 +0000
+++ hr_holidays/hr_holidays_data.xml 2011-11-14 06:23:33 +0000
@@ -25,7 +25,7 @@
<!--Unpaid Leave -->
<record model="hr.holidays.status" id="holiday_status_unpaid">
- <field name="name">Unpaid</field>
+ <field name="name">Unpaid Leaves</field>
<field name="limit">True</field>
<field name="color_name">brown</field>
</record>
=== modified file 'hr_holidays/report/holidays_status_of_employees.py'
--- hr_holidays/report/holidays_status_of_employees.py 2011-11-02 12:23:03 +0000
+++ hr_holidays/report/holidays_status_of_employees.py 2011-11-14 06:23:33 +0000
@@ -1,3 +1,4 @@
+<<<<<<< TREE
# -*- coding: utf-8 -*-
##############################################################################
#
@@ -75,3 +76,112 @@
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+=======
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+import time
+from report import report_sxw
+
+
+class holidays_status(report_sxw.rml_parse):
+ def __init__(self, cr, uid, name, context=None):
+ super(holidays_status, self).__init__(cr, uid, name, context=context)
+ self.months = {}
+ self.previous_month_carry = 0
+ self.start_date = 0
+ self.localcontext.update({
+ 'time': time,
+ 'get_data': self._get_data,
+ 'get_monthly_data': self._get_monthly_data,
+ })
+
+ def _get_data(self):
+ holidays_obj = self.pool.get('hr.holidays')
+ self.cr.execute('''select min(h.id) as id, to_char(h.date_from, 'MM') as month, to_char(h.date_from, 'YYYY') as year, h.employee_id, s.name,
+ (case when s.name='Paid Leaves' then (select sum(hh.number_of_days_temp)
+ from hr_holidays hh, hr_holidays_status ss
+ where hh.holiday_status_id=ss.id and hh.id=h.id and ss.name='Paid Leaves')
+ else 0
+ end) as Paid,
+ (case when s.name='Unpaid Leaves' then (select sum(hh.number_of_days_temp)
+ from hr_holidays hh, hr_holidays_status ss
+ where hh.holiday_status_id=ss.id and hh.id=h.id and ss.name='Unpaid Leaves')
+ else 0
+ end) as Unpaid
+ from hr_holidays h, hr_employee e, hr_holidays_status s
+ where e.id = h.employee_id and s.id = h.holiday_status_id and h.type='remove' and s.name in ('Paid Leaves','Unpaid Leaves')
+ group by h.id, h.employee_id, h.holiday_status_id, s.name, to_char(h.date_from, 'MM'), to_char(h.date_from, 'YYYY') order by h.employee_id''')
+ data = self.cr.dictfetchall()
+ i = 0
+ for d in data:
+ holidays = holidays_obj.browse(self.cr, self.uid, d['id'])
+ vals = {'assigned': holidays.assigned_leaves, 'cf': holidays.carry_forward_leaves or 0, 'emp_name': holidays.employee_id.name}
+ d.update(vals)
+ self.months.update({d['employee_id']: []})
+ for d in data:
+ self.months[d['employee_id']].append(d)
+ return self.months
+
+ def _get_monthly_data(self, obj, month, value):
+ data = 0
+ flag = False
+ flag1 = False
+ contract_object = self.pool.get('hr.contract')
+ for res in self.months.get(obj):
+ if not month and value == 'emp_name':
+ data = res[value]
+ self.previous_month_carry = 0
+ contract_ids = contract_object.search(self.cr, self.uid, [('employee_id','=',res['employee_id'])])
+ if len(contract_ids):
+ contract = contract_object.browse(self.cr, self.uid, contract_ids[0])
+ date = contract.date_start.split('-')
+ self.start_date = int(date[1])
+ else:
+ self.start_date = 0
+ flag = True
+ elif res['month'] == month:
+ data += res[value]
+ flag = True
+ if value == 'cf':
+ data = res[value]
+ self.previous_month_carry = res['cf']
+ if not flag and month and value in ('cf','assigned','paid','unpaid'):
+ if self.start_date != 0:
+ if int(month) < self.start_date:
+ data = 0
+ elif value == 'cf':
+ self.previous_month_carry += 1
+ data = self.previous_month_carry
+ elif value == 'assigned':
+ data = 1
+ elif value == 'cf':
+ self.previous_month_carry += 1
+ data = self.previous_month_carry
+ elif value == 'assigned':
+ data = 1
+ return data
+
+report_sxw.report_sxw('report.holidays.status', 'hr.holidays', 'addons/hr_holidays/report/holidays_status_of_employees.rml', parser=holidays_status, header="internal landscape")
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+
+>>>>>>> MERGE-SOURCE
=== modified file 'hr_holidays/report/holidays_status_of_employees.rml'
--- hr_holidays/report/holidays_status_of_employees.rml 2011-11-02 12:23:03 +0000
+++ hr_holidays/report/holidays_status_of_employees.rml 2011-11-14 06:23:33 +0000
@@ -1,3 +1,4 @@
+<<<<<<< TREE
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(842.0,595.0)" title="Test" author="Martin Simon" allowSplitting="20">
@@ -721,3 +722,728 @@
</para>
</story>
</document>
+=======
+<?xml version="1.0"?>
+<document filename="test.pdf">
+ <template pageSize="(842.0,595.0)" title="Test" author="Martin Simon" allowSplitting="20">
+ <pageTemplate id="first">
+ <frame id="first" x1="28.0" y1="28.0" width="786" height="539"/>
+ </pageTemplate>
+ </template>
+ <stylesheet>
+ <blockTableStyle id="Standard_Outline">
+ <blockAlignment value="LEFT"/>
+ <blockValign value="TOP"/>
+ </blockTableStyle>
+ <blockTableStyle id="Table1">
+ <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"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="8,-1" stop="8,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="9,-1" stop="9,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="10,-1" stop="10,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="11,-1" stop="11,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="12,-1" stop="12,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="13,-1" stop="13,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="14,-1" stop="14,-1"/>
+ <blockBackground colorName="#b3b3b3" start="0,0" stop="0,-1"/>
+ <blockBackground colorName="#b3b3b3" start="1,0" stop="1,-1"/>
+ <blockBackground colorName="#b3b3b3" start="2,0" stop="2,-1"/>
+ <blockBackground colorName="#b3b3b3" start="3,0" stop="3,-1"/>
+ <blockBackground colorName="#b3b3b3" start="4,0" stop="4,-1"/>
+ <blockBackground colorName="#b3b3b3" start="5,0" stop="5,-1"/>
+ <blockBackground colorName="#b3b3b3" start="6,0" stop="6,-1"/>
+ <blockBackground colorName="#b3b3b3" start="7,0" stop="7,-1"/>
+ <blockBackground colorName="#b3b3b3" start="8,0" stop="8,-1"/>
+ <blockBackground colorName="#b3b3b3" start="9,0" stop="9,-1"/>
+ <blockBackground colorName="#b3b3b3" start="10,0" stop="10,-1"/>
+ <blockBackground colorName="#b3b3b3" start="11,0" stop="11,-1"/>
+ <blockBackground colorName="#b3b3b3" start="12,0" stop="12,-1"/>
+ <blockBackground colorName="#b3b3b3" start="13,0" stop="13,-1"/>
+ <blockBackground colorName="#b3b3b3" start="14,0" stop="14,-1"/>
+ </blockTableStyle>
+ <blockTableStyle id="Table2">
+ <blockAlignment value="LEFT"/>
+ <blockValign value="TOP"/>
+ <lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="0,0"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
+ <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
+ <lineStyle kind="LINEABOVE" colorName="#000000" start="2,0" stop="2,0"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-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="LINEABOVE" colorName="#000000" start="4,0" stop="4,0"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-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="LINEABOVE" colorName="#000000" start="6,0" stop="6,0"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="6,-1" stop="6,-1"/>
+ <lineStyle kind="LINEABOVE" colorName="#000000" start="7,0" stop="7,0"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="7,-1" stop="7,-1"/>
+ <lineStyle kind="LINEABOVE" colorName="#000000" start="8,0" stop="8,0"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="8,-1" stop="8,-1"/>
+ <lineStyle kind="LINEABOVE" colorName="#000000" start="9,0" stop="9,0"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="9,-1" stop="9,-1"/>
+ <lineStyle kind="LINEABOVE" colorName="#000000" start="10,0" stop="10,0"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="10,-1" stop="10,-1"/>
+ <lineStyle kind="LINEABOVE" colorName="#000000" start="11,0" stop="11,0"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="11,-1" stop="11,-1"/>
+ <lineStyle kind="LINEABOVE" colorName="#000000" start="12,0" stop="12,0"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="12,-1" stop="12,-1"/>
+ <lineStyle kind="LINEABOVE" colorName="#000000" start="13,0" stop="13,0"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="13,-1" stop="13,-1"/>
+ <lineStyle kind="LINEABOVE" colorName="#000000" start="14,0" stop="14,0"/>
+ <lineStyle kind="LINEBELOW" colorName="#000000" start="14,-1" stop="14,-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="LINEBELOW" colorName="#cccccc" start="3,-1" stop="3,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" 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="LINEBELOW" colorName="#cccccc" start="9,-1" stop="9,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="10,-1" stop="10,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="11,-1" stop="11,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="12,-1" stop="12,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="13,-1" stop="13,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="14,-1" stop="14,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="15,-1" stop="15,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="16,-1" stop="16,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="17,-1" stop="17,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="18,-1" stop="18,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="19,-1" stop="19,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="20,-1" stop="20,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="21,-1" stop="21,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="22,-1" stop="22,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="23,-1" stop="23,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="24,-1" stop="24,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="25,-1" stop="25,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="26,-1" stop="26,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="27,-1" stop="27,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="28,-1" stop="28,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="29,-1" stop="29,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="30,-1" stop="30,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="31,-1" stop="31,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="32,-1" stop="32,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="33,-1" stop="33,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="34,-1" stop="34,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="35,-1" stop="35,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="36,-1" stop="36,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="37,-1" stop="37,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="38,-1" stop="38,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="39,-1" stop="39,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="40,-1" stop="40,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="41,-1" stop="41,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="42,-1" stop="42,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="43,-1" stop="43,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="44,-1" stop="44,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="45,-1" stop="45,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="46,-1" stop="46,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="47,-1" stop="47,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="48,-1" stop="48,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="49,-1" stop="49,-1"/>
+ <lineStyle kind="LINEBELOW" colorName="#cccccc" start="50,-1" stop="50,-1"/>
+ </blockTableStyle>
+ <blockTableStyle id="Table4">
+ <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"/>
+ </blockTableStyle>
+ <initialize>
+ <paraStyle name="all" alignment="justify"/>
+ </initialize>
+ <paraStyle name="P1" fontName="Helvetica"/>
+ <paraStyle name="P2" fontName="Helvetica" fontSize="11.0" leading="14" alignment="CENTER"/>
+ <paraStyle name="P3" fontName="Helvetica-Bold" fontSize="11.0" leading="14" alignment="CENTER"/>
+ <paraStyle name="P4" fontName="Helvetica" fontSize="6.0" leading="8"/>
+ <paraStyle name="P5" fontName="Helvetica" fontSize="8.0" leading="10"/>
+ <paraStyle name="P6" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER"/>
+ <paraStyle name="Standard" fontName="Helvetica"/>
+ <paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
+ <paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
+ <paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
+ <paraStyle name="Caption" fontName="Helvetica" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/>
+ <paraStyle name="Index" fontName="Helvetica"/>
+ <paraStyle name="Table Contents" fontName="Helvetica"/>
+ <paraStyle name="Header" fontName="Helvetica"/>
+ <paraStyle name="Footer" fontName="Helvetica"/>
+ </stylesheet>
+ <images/>
+ <story>
+ <para style="P3">
+ <font color="white"> </font>
+ </para>
+ <para style="P3">
+ <font color="white"> </font>
+ </para>
+ <para style="P3">Monthly Leaves Status of Employees of Tiny ERP Pvt. Ltd.</para>
+ <para style="P2">Year - [[ time.strftime('%Y') ]]</para>
+ <para style="P1">
+ <font color="white"></font>
+ </para>
+ <para style="P1">
+ <font color="white"> </font>
+ </para>
+
+ <blockTable colWidths="25.0,100.0,55.0,55.0,55.0,55.0,55.0,55.0,55.0,55.0,55.0,55.0,55.0,55.0" style="Table1">
+ <tr>
+ <td>
+ <para style="P6">Sr. No.</para>
+ </td>
+ <td>
+ <para style="P6">Employee Name</para>
+ </td>
+ <td>
+ <para style="P6">Jan</para>
+ </td>
+ <td>
+ <para style="P6">Feb</para>
+ </td>
+ <td>
+ <para style="P6">Mar</para>
+ </td>
+ <td>
+ <para style="P6">Apr</para>
+ </td>
+ <td>
+ <para style="P6">May</para>
+ </td>
+ <td>
+ <para style="P6">Jun</para>
+ </td>
+ <td>
+ <para style="P6">Jul</para>
+ </td>
+ <td>
+ <para style="P6">Aug</para>
+ </td>
+ <td>
+ <para style="P6">Sep</para>
+ </td>
+ <td>
+ <para style="P6">Oct</para>
+ </td>
+ <td>
+ <para style="P6">Nov</para>
+ </td>
+ <td>
+ <para style="P6">Dec</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>
+ <blockTable colWidths="13,13,13,13" style="Table2">
+ <tr>
+ <td>
+ <para style="P5">A</para>
+ </td>
+ <td>
+ <para style="P5">P</para>
+ </td>
+ <td>
+ <para style="P5">Up</para>
+ </td>
+ <td>
+ <para style="P5">C.F.</para>
+ </td>
+ </tr>
+ </blockTable>
+ <para style="P5">
+ <font color="white"> </font>
+ </para>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table2">
+ <tr>
+ <td>
+ <para style="P5">A</para>
+ </td>
+ <td>
+ <para style="P5">P</para>
+ </td>
+ <td>
+ <para style="P5">Up</para>
+ </td>
+ <td>
+ <para style="P5">C.F.</para>
+ </td>
+ </tr>
+ </blockTable>
+ <para style="P5">
+ <font color="white"> </font>
+ </para>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table2">
+ <tr>
+ <td>
+ <para style="P5">A</para>
+ </td>
+ <td>
+ <para style="P5">P</para>
+ </td>
+ <td>
+ <para style="P5">Up</para>
+ </td>
+ <td>
+ <para style="P5">C.F.</para>
+ </td>
+ </tr>
+ </blockTable>
+ <para style="P5">
+ <font color="white"> </font>
+ </para>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table2">
+ <tr>
+ <td>
+ <para style="P5">A</para>
+ </td>
+ <td>
+ <para style="P5">P</para>
+ </td>
+ <td>
+ <para style="P5">Up</para>
+ </td>
+ <td>
+ <para style="P5">C.F.</para>
+ </td>
+ </tr>
+ </blockTable>
+ <para style="P5">
+ <font color="white"> </font>
+ </para>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table2">
+ <tr>
+ <td>
+ <para style="P5">A</para>
+ </td>
+ <td>
+ <para style="P5">P</para>
+ </td>
+ <td>
+ <para style="P5">Up</para>
+ </td>
+ <td>
+ <para style="P5">C.F.</para>
+ </td>
+ </tr>
+ </blockTable>
+ <para style="P5">
+ <font color="white"> </font>
+ </para>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table2">
+ <tr>
+ <td>
+ <para style="P5">A</para>
+ </td>
+ <td>
+ <para style="P5">P</para>
+ </td>
+ <td>
+ <para style="P5">Up</para>
+ </td>
+ <td>
+ <para style="P5">C.F.</para>
+ </td>
+ </tr>
+ </blockTable>
+ <para style="P5">
+ <font color="white"> </font>
+ </para>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table2">
+ <tr>
+ <td>
+ <para style="P5">A</para>
+ </td>
+ <td>
+ <para style="P5">P</para>
+ </td>
+ <td>
+ <para style="P5">Up</para>
+ </td>
+ <td>
+ <para style="P5">C.F.</para>
+ </td>
+ </tr>
+ </blockTable>
+ <para style="P5">
+ <font color="white"> </font>
+ </para>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table2">
+ <tr>
+ <td>
+ <para style="P5">A</para>
+ </td>
+ <td>
+ <para style="P5">P</para>
+ </td>
+ <td>
+ <para style="P5">Up</para>
+ </td>
+ <td>
+ <para style="P5">C.F.</para>
+ </td>
+ </tr>
+ </blockTable>
+ <para style="P5">
+ <font color="white"> </font>
+ </para>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table2">
+ <tr>
+ <td>
+ <para style="P5">A</para>
+ </td>
+ <td>
+ <para style="P5">P</para>
+ </td>
+ <td>
+ <para style="P5">Up</para>
+ </td>
+ <td>
+ <para style="P5">C.F.</para>
+ </td>
+ </tr>
+ </blockTable>
+ <para style="P5">
+ <font color="white"> </font>
+ </para>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table2">
+ <tr>
+ <td>
+ <para style="P5">A</para>
+ </td>
+ <td>
+ <para style="P5">P</para>
+ </td>
+ <td>
+ <para style="P5">Up</para>
+ </td>
+ <td>
+ <para style="P5">C.F.</para>
+ </td>
+ </tr>
+ </blockTable>
+ <para style="P5">
+ <font color="white"> </font>
+ </para>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table2">
+ <tr>
+ <td>
+ <para style="P5">A</para>
+ </td>
+ <td>
+ <para style="P5">P</para>
+ </td>
+ <td>
+ <para style="P5">Up</para>
+ </td>
+ <td>
+ <para style="P5">C.F.</para>
+ </td>
+ </tr>
+ </blockTable>
+ <para style="P5">
+ <font color="white"> </font>
+ </para>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table2">
+ <tr>
+ <td>
+ <para style="P5">A</para>
+ </td>
+ <td>
+ <para style="P5">P</para>
+ </td>
+ <td>
+ <para style="P5">Up</para>
+ </td>
+ <td>
+ <para style="P5">C.F.</para>
+ </td>
+ </tr>
+ </blockTable>
+ <para style="P5">
+ <font color="white"> </font>
+ </para>
+ </td>
+ </tr>
+ </blockTable>
+
+ <blockTable colWidths="25.0,100.0,55.0,55.0,55.0,55.0,55.0,55.0,55.0,55.0,55.0,55.0,55.0,55.0" style="Table3">
+ <tr>
+ <td>
+ <para style="P5"> [[ repeatIn(get_data(),'o') ]] [[ get_monthly_data(o,False,'employee_id') ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,False,'emp_name') ]] </para>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table4">
+ <tr>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'01','assigned') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'01','paid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'01','unpaid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'01','cf') or '0' ]] </para>
+ </td>
+ </tr>
+ </blockTable>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table4">
+ <tr>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'02','assigned') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'02','paid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'02','unpaid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'02','cf') or '0' ]] </para>
+ </td>
+ </tr>
+ </blockTable>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table4">
+ <tr>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'03','assigned') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'03','paid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'03','unpaid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'03','cf') or '0' ]] </para>
+ </td>
+ </tr>
+ </blockTable>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table4">
+ <tr>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'04','assigned') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'04','paid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'04','unpaid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'04','cf') or '0' ]] </para>
+ </td>
+ </tr>
+ </blockTable>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table4">
+ <tr>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'05','assigned') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'05','paid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'05','unpaid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'05','cf') or '0' ]] </para>
+ </td>
+ </tr>
+ </blockTable>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table4">
+ <tr>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'06','assigned') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'06','paid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'06','unpaid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'06','cf') or '0' ]] </para>
+ </td>
+ </tr>
+ </blockTable>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table4">
+ <tr>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'07','assigned') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'07','paid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'07','unpaid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'07','cf') or '0' ]] </para>
+ </td>
+ </tr>
+ </blockTable>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table4">
+ <tr>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'08','assigned') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'08','paid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'08','unpaid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'08','cf') or '0' ]] </para>
+ </td>
+ </tr>
+ </blockTable>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table4">
+ <tr>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'09','assigned') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'09','paid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'09','unpaid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'09','cf') or '0' ]] </para>
+ </td>
+ </tr>
+ </blockTable>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table4">
+ <tr>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'10','assigned') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'10','paid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'10','unpaid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'10','cf') or '0' ]] </para>
+ </td>
+ </tr>
+ </blockTable>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table4">
+ <tr>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'11','assigned') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'11','paid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'11','unpaid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'11','cf') or '0' ]] </para>
+ </td>
+ </tr>
+ </blockTable>
+ </td>
+ <td>
+ <blockTable colWidths="13,13,13,13" style="Table4">
+ <tr>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'12','assigned') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'12','paid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'12','unpaid') or '0' ]] </para>
+ </td>
+ <td>
+ <para style="P5"> [[ get_monthly_data(o,'12','cf') or '0' ]] </para>
+ </td>
+ </tr>
+ </blockTable>
+ </td>
+
+ </tr>
+ </blockTable>
+
+ <para style="P1">
+ <font color="white"> </font>
+ </para>
+ </story>
+</document>
+>>>>>>> MERGE-SOURCE
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp