1
1
# -*- coding: utf-8 -*-
4
3
from report import report_sxw
5
4
from datetime import datetime
8
8
class report_absence_control(report_sxw.rml_parse):
9
_name = 'report.absence.control'
9
_name = 'report.absence.control'
11
11
def __init__(self, cr, uid, name, context):
12
12
super(report_absence_control, self).__init__(cr, uid, name, context)
13
13
self.localcontext.update({
14
'get_empresa':self.get_empresa,
15
'get_final_date':self.get_final_date,
14
'get_empresa': self.get_empresa,
15
'get_final_date': self.get_final_date,
16
16
'format_sign_ins': self.format_sign_ins,
17
17
'emp_data': self.emp_data
26
26
def get_empresa(self, partner_id):
27
27
obj_addr = self.pool.get('res.partner.address')
28
addr_id =obj_addr.search(self.cr, self.uid, [('type','=','invoice'),('partner_id','=',partner_id)])
28
addr_id = obj_addr.search(self.cr, self.uid, [('type', '=', 'invoice'), ('partner_id', '=', partner_id)])
30
30
for row in obj_addr.browse(self.cr, self.uid, addr_id):
38
'country':row.country_id.name,
38
'country': row.country_id.name,
42
42
def get_final_date(self):
43
43
return datetime.now().strftime('%d/%m/%Y %H:%M')
45
def format_sign_ins(self,sign_in):
45
def format_sign_ins(self, sign_in):
46
46
if isinstance(sign_in, basestring):
47
47
if sign_in != 'None':
48
return datetime.strptime(sign_in,'%Y-%m-%d %H:%M:%S').strftime('%a %H:%M:%S')
48
return datetime.strptime(sign_in, '%Y-%m-%d %H:%M:%S').strftime('%a %H:%M:%S')
50
50
if sign_in != None:
51
51
return sign_in.strftime('%a %H:%M:%S')
53
report_sxw = report_sxw.report_sxw
54
report_sxw = report_sxw.report_sxw
55
57
class TxtParser(report_sxw):
56
58
"""Custom class that use webkit to render HTML reports
57
59
Code partially taken from report openoffice. Thanks guys :)
59
62
def __init__(self, name, table, rml=False, parser=False,
60
header=True, store=False):
63
header=True, store=False):
61
64
self.parser_instance = False
65
self.localcontext = {}
63
66
report_sxw.__init__(self, name, table, rml, parser,
67
69
def create_single_pdf(self, cursor, uid, ids, data, report_xml, context):
68
70
"""generate the PDF"""
70
72
if context is None:
74
return super(TxtParser,self).create_single_pdf(cursor, uid, ids, data, report_xml, context=context)
76
return super(TxtParser, self).create_single_pdf(cursor, uid, ids, data, report_xml, context=context)
76
78
self.parser_instance = self.parser(
83
ret_file_name = open(data['ret_file_name'], 'r')
84
salida_csv = ret_file_name.read()
85
os.remove(data['ret_file_name'])
86
return (salida_csv, 'csv')
85
ret_file_name = open(data['ret_file_name'], 'r')
86
salida_csv = ret_file_name.read()
87
os.remove(data['ret_file_name'])
88
return (salida_csv, 'csv')
90
92
'report.absence.control',
91
93
'absence.control.wizard',