1
from report import report_sxw
4
class horas_extras_planificacion(report_sxw.rml_parse):
5
_name = 'horas.extras.planificacion'
7
def __init__(self, cr, uid, name, context):
8
super(horas_extras_planificacion, self).__init__(cr, uid, name, context)
9
self.localcontext.update({
11
'get_empresa':self.get_empresa,
12
'formato_fecha_hora':self.formato_fecha_hora,
13
'get_grupo_id':self.get_grupo_id,
16
self.context = context
18
def get_grupo_id(self, group_name):
19
"""Devuelve el id del grupo 'group_name'. Devuelve False en caso de no existir """
20
model_data_obj = self.pool.get('ir.model.data')
21
grupo_search = model_data_obj.search(self.cr, 1, [('name','=',group_name),('model','=','res.groups')])
22
grupo = model_data_obj.read(self.cr, 1, grupo_search, ['res_id'])[0]['res_id']
23
grupo_usuario = self._get_grupos_usuario(self.uid)
24
if grupo in grupo_usuario:
28
def _get_grupos_usuario(self, uid):
29
return [group.id for group in self.pool.get('res.users').browse(self.cr, 1, uid).groups_id]
31
def formato_fecha_hora(self, dato):
32
d = datetime.datetime.strptime(dato, "%Y-%m-%d %H:%M:%S")
33
return d.strftime("%d/%m/%Y %H:%M:%S")
35
def get_empresa(self, partner_id):
36
obj_addr = self.pool.get('res.partner.address')
37
addr_id =obj_addr.search(self.cr, self.uid, [('type','=','invoice'),('partner_id','=',partner_id)])
39
for row in obj_addr.browse(self.cr, self.uid, addr_id):
47
'country':row.country_id.name,
54
report_sxw.report_sxw(
55
'report.horas.extras.planificacion',
56
'horas.extras.planificacion',
57
'sisb_horas_extras/report/horas_extras_planificacion.rml',
58
parser=horas_extras_planificacion, header=False)