Merge lp:~inddiana/diana-addons/diana_integracion_modificacion into lp:diana-addons

Proposed by Mauricio Jose Sanchez Puerta
Status: Merged
Merged at revision: 38
Proposed branch: lp:~inddiana/diana-addons/diana_integracion_modificacion
Merge into: lp:diana-addons
Diff against target: 186 lines (+97/-10)
4 files modified
diana_integracion_biostar/report/horas_extras_planificacion.xml (+2/-0)
diana_integracion_biostar/report/horas_marcaje_report.py (+58/-6)
diana_integracion_biostar/wizard/horas_marcaje_view.xml (+5/-0)
diana_integracion_biostar/wizard/horas_marcaje_wizard.py (+32/-4)
To merge this branch: bzr merge lp:~inddiana/diana-addons/diana_integracion_modificacion
Reviewer Review Type Date Requested Status
[SISB] Yennifer Santiago Z Pending
Review via email: mp+204497@code.launchpad.net

Description of the change

modificado wizard para buscar marcajes del trabajador para imprimr reportes en csv o pdf

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'diana_integracion_biostar/report/horas_extras_planificacion.xml'
--- diana_integracion_biostar/report/horas_extras_planificacion.xml 2013-05-16 18:27:40 +0000
+++ diana_integracion_biostar/report/horas_extras_planificacion.xml 2014-02-03 14:07:59 +0000
@@ -19,5 +19,7 @@
19 rml="diana_integracion_biostar/report/horas_marcaje_report.rml"19 rml="diana_integracion_biostar/report/horas_marcaje_report.rml"
20 string="Reporte de marcajes"20 string="Reporte de marcajes"
21 />21 />
22
23
22 </data>24 </data>
23</openerp>25</openerp>
2426
=== modified file 'diana_integracion_biostar/report/horas_marcaje_report.py'
--- diana_integracion_biostar/report/horas_marcaje_report.py 2013-05-20 20:06:05 +0000
+++ diana_integracion_biostar/report/horas_marcaje_report.py 2014-02-03 14:07:59 +0000
@@ -1,6 +1,9 @@
1from report import report_sxw1from report import report_sxw
2import datetime2import datetime
3from datetime import datetime3from datetime import datetime
4import pooler
5
6
47
5class horas_marcaje_report(report_sxw.rml_parse):8class horas_marcaje_report(report_sxw.rml_parse):
6 _name = 'horas.marcaje.report'9 _name = 'horas.marcaje.report'
@@ -13,6 +16,7 @@
13 16
14 })17 })
15 self.context = context18 self.context = context
19
1620
17 def get_empresa(self, partner_id):21 def get_empresa(self, partner_id):
18 obj_addr = self.pool.get('res.partner.address')22 obj_addr = self.pool.get('res.partner.address')
@@ -32,13 +36,61 @@
32 36
33 def get_final_date(self):37 def get_final_date(self):
34 return datetime.now().strftime('%d/%m/%Y %H:%M') 38 return datetime.now().strftime('%d/%m/%Y %H:%M')
35 39
36 40report_sxw = report_sxw.report_sxw
37 41
3842class TxtParser(report_sxw):
39report_sxw.report_sxw(43 """Custom class that use webkit to render HTML reports
40 'report.horas.marcaje',44 Code partially taken from report openoffice. Thanks guys :)
45 """
46 def __init__(self, name, table, rml=False, parser=False,
47 header=True, store=False):
48 self.parser_instance = False
49 self.localcontext={}
50 report_sxw.__init__(self, name, table, rml, parser,
51 header, store)
52
53
54 def create_single_pdf(self, cursor, uid, ids, data, report_xml, context):
55 """generate the PDF"""
56
57
58 if context is None:
59 context={}
60
61 if data['is_pdf']:
62 return super(TxtParser,self).create_single_pdf(cursor, uid, ids, data, report_xml, context=context)
63
64 self.parser_instance = self.parser(
65 cursor,
66 uid,
67 self.name2,
68 context=context
69 )
70 if data['is_csv']:
71 wizard_hextras = pooler.get_pool(cursor.dbname).get('horas.marcaje.wizard')
72 wizard_hextras_brw = wizard_hextras.browse(cursor, uid, context['h_line_ids'])
73 wizard_hextras_brw = [l for line in wizard_hextras_brw for l in line.h_line_ids ]
74 titulo = "\t\tREPORTE DE MARCAJE\n\n"
75 cabecera = '|HORA|\t|FECHA|\t|CODIGO|\t|NOMBRE|\t|CAJERO|\n '
76 pdf = ''
77 sal = ''
78 txt = ''
79 pdf = pdf + titulo
80 for line in wizard_hextras_brw:
81 txt = '|%s|%s|%s|%s|%s|'%(line.hora, line.fecha, line.codigo, line.nombre, line.capta_huella)
82 pdf = pdf + txt + '\n'
83 return (pdf, 'csv')
84
85
86
87
88TxtParser(
89 'report.horas.marcaje',
41 'horas.marcaje.wizard',90 'horas.marcaje.wizard',
42 'diana_integracion_biostar/report/horas_marcaje_report.rml',91 'diana_integracion_biostar/report/horas_marcaje_report.rml',
43 parser=horas_marcaje_report, header=False)92 parser=horas_marcaje_report, header=False)
4493
94
95
96
4597
=== modified file 'diana_integracion_biostar/wizard/horas_marcaje_view.xml'
--- diana_integracion_biostar/wizard/horas_marcaje_view.xml 2013-09-04 19:22:41 +0000
+++ diana_integracion_biostar/wizard/horas_marcaje_view.xml 2014-02-03 14:07:59 +0000
@@ -42,6 +42,11 @@
42 <field name="capta_huella" readonly="True" />42 <field name="capta_huella" readonly="True" />
43 </tree>43 </tree>
44 </field>44 </field>
45 <separator string="Formato de Impresion" />
46 <group col="2" colspan="4">
47 <field name="is_pdf" attrs= "{'readonly':[('is_csv','=','True')] }" />
48 <field name="is_csv" attrs= "{'readonly':[('is_pdf','=','True')] }" />
49 </group>
45 <group col="12" colspan="4">50 <group col="12" colspan="4">
46 <button name="imprimir" string="Imprimir" colspan="1" type="object" icon="gtk-print" />51 <button name="imprimir" string="Imprimir" colspan="1" type="object" icon="gtk-print" />
47 <button string="SALIR" name="salir" type="object" icon="gtk-cancel" colspan="1" />52 <button string="SALIR" name="salir" type="object" icon="gtk-cancel" colspan="1" />
4853
=== modified file 'diana_integracion_biostar/wizard/horas_marcaje_wizard.py'
--- diana_integracion_biostar/wizard/horas_marcaje_wizard.py 2014-01-30 19:30:56 +0000
+++ diana_integracion_biostar/wizard/horas_marcaje_wizard.py 2014-02-03 14:07:59 +0000
@@ -13,9 +13,13 @@
13 'fecha_desde': fields.date('Fecha desde'),13 'fecha_desde': fields.date('Fecha desde'),
14 'fecha_hasta': fields.date('Fecha hasta'),14 'fecha_hasta': fields.date('Fecha hasta'),
15 'h_line_ids': fields.one2many('horas.marcaje.lineas.wizard', 'horas_marcaje_id', 'Lineas de marcaje'),15 'h_line_ids': fields.one2many('horas.marcaje.lineas.wizard', 'horas_marcaje_id', 'Lineas de marcaje'),
16 'is_pdf': fields.boolean('PDF'),
17 'is_csv': fields.boolean('CSV'),
16 18
17 }19 }
18 20
21
22
19 def imprimir(self, cr, uid, ids, context=None):23 def imprimir(self, cr, uid, ids, context=None):
20 d = {}24 d = {}
21 d = {25 d = {
@@ -23,15 +27,38 @@
23 'model': 'horas.marcaje.wizard',27 'model': 'horas.marcaje.wizard',
24 }28 }
25 29
26 data = self.read(cr, 1, ids)30
27 data = data[0]31 datos = self.read(cr, 1, ids)
28 data.update(d) 32 brw = self.browse(cr, 1, ids)
33 datos = datos[0]
34 pdf = datos['is_pdf']
35 csv = datos['is_csv']
36
37 context['is_pdf'] = pdf
38 context['is_csv'] = csv
39
40
41 if not pdf and not csv:
42 raise osv.except_osv('ERROR', 'Debe Seleccionar un Formato para poder Imprimir el reporte')
43
44 data = {}
45
46
47 if pdf and not csv:
48 data.update(context)
49
50 salida = []
51 if csv and not pdf:
52 data.update({'is_csv':csv, 'is_pdf':pdf})
29 53
30 return {54 return {
31 'type': 'ir.actions.report.xml',55 'type': 'ir.actions.report.xml',
32 'report_name': 'horas.marcaje',56 'report_name': 'horas.marcaje',
33 #~ 'datas': data,57 'datas': data,
58 #~ 'context': context,
34 }59 }
60
61
35 62
36 def salir(self, cr, uid, ids, context=None): 63 def salir(self, cr, uid, ids, context=None):
37 return {64 return {
@@ -136,6 +163,7 @@
136 163
137 cabecera = {'fecha_desde':brw.fecha_desde , 'fecha_hasta': brw.fecha_hasta, 'h_line_ids':[i.id for i in brw.h_line_ids] , 'id': brw.id}164 cabecera = {'fecha_desde':brw.fecha_desde , 'fecha_hasta': brw.fecha_hasta, 'h_line_ids':[i.id for i in brw.h_line_ids] , 'id': brw.id}
138 165
166 context.update({'is_pdf':True, 'is_csv':False})
139 context.update({'active_id': hmw_id, 'active_model':'horas.marcaje.wizard'})167 context.update({'active_id': hmw_id, 'active_model':'horas.marcaje.wizard'})
140 context.update({'active_model':'horas.marcaje.wizard'})168 context.update({'active_model':'horas.marcaje.wizard'})
141 context.update(cabecera)169 context.update(cabecera)

Subscribers

People subscribed via source and target branches