~inddiana/sisb/sisb_extratos_bancarios_campo_transpasos

« back to all changes in this revision

Viewing changes to sisb_horas_extras/report/horas_extras_planificacion.py


[IMP] Se agrega modulo para la carga de horas extras.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from report import report_sxw
 
2
import datetime 
 
3
 
 
4
class horas_extras_planificacion(report_sxw.rml_parse):
 
5
    _name =  'horas.extras.planificacion'
 
6
    
 
7
    def __init__(self, cr, uid, name, context):
 
8
        super(horas_extras_planificacion, self).__init__(cr, uid, name, context)
 
9
        self.localcontext.update({
 
10
            'str':str,
 
11
            'get_empresa':self.get_empresa,
 
12
            'formato_fecha_hora':self.formato_fecha_hora,
 
13
            'get_grupo_id':self.get_grupo_id,
 
14
        })
 
15
        
 
16
        self.context = context
 
17
 
 
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:
 
25
            return True
 
26
        return False
 
27
    
 
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]
 
30
    
 
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")
 
34
                
 
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)])
 
38
        res = {}
 
39
        for row in obj_addr.browse(self.cr, self.uid, addr_id):
 
40
            res = {
 
41
            'street':row.street,
 
42
            'phone':row.phone,
 
43
            'fax':row.fax,
 
44
            'email':row.email,
 
45
            'city':row.city,
 
46
            'name':row.name,
 
47
            'country':row.country_id.name,
 
48
            } 
 
49
        return res
 
50
    
 
51
        
 
52
        
 
53
 
 
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)
 
59