~inddiana/sisb/sisb_print_invoice_users

« back to all changes in this revision

Viewing changes to sisb_permits/wizards/permits_query_wizard.py

  • Committer: Aryrosa Fuentes
  • Date: 2017-10-20 14:03:01 UTC
  • mfrom: (975.2.9 sisb_061017)
  • Revision ID: afuentes@industriasdiana.gob.ve-20171020140301-8ra8dk3pfi1z841q

[MOD] Ajustes en las limitaciones para la asignación de sobretiempos.
[MOD] Corregida la manera en que se creaba el select del tipo de proceso.
[IMP] Agregado módulo para la carga de permisos.
[IMP] Agregado módulo para la carga automática de conceptos variables que
tengan que ver con los turnos.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python
 
2
# -*- coding: utf-8 -*-
 
3
from osv import osv, fields
 
4
from tools.translate import _
 
5
from datetime import datetime
 
6
 
 
7
 
 
8
class sisb_permits_query_wizard(osv.osv_memory):
 
9
 
 
10
    _name = 'sisb.permits.query.wizard'
 
11
    _description = 'Wizard to query an employee permits on current day'
 
12
    _columns = {
 
13
        'employee_id': fields.many2one('hr.employee', 'Employee', required=True, help="Indique el codigo, nombre o cedula del empleado para consultar sus permisos en este dia")
 
14
    }
 
15
 
 
16
    def query_permits(self, cr, uid, ids, context=None):
 
17
        ids = ids if isinstance(ids, list) else [ids]
 
18
        employee_brw = self.browse(cr, uid, ids, context=context)[0].employee_id
 
19
        today = datetime.now()
 
20
        permit_ids = self.pool.get('sisb.permits').search(cr, uid, [('employee_id', '=', employee_brw.id), ('date_start', '<=', today), ('date_end', '>=', today)], context=context)
 
21
        if not permit_ids:
 
22
            raise osv.except_osv(_('ERROR'), _('No permits found for %s in this day') % employee_brw.name)
 
23
        return {
 
24
            'type': 'ir.actions.act_window',
 
25
            'view_type': 'form',
 
26
            'view_mode': 'tree,form',
 
27
            'res_model': 'sisb.permits',
 
28
            'res_id': permit_ids,
 
29
            'domain': [('employee_id', '=', employee_brw.id), ('date_start', '<=', today.strftime('%Y-%m-%d')), ('date_end', '>=', today.strftime('%Y-%m-%d'))],
 
30
            'target': 'self',
 
31
            'context': context,
 
32
        }
 
33
 
 
34
 
 
35
sisb_permits_query_wizard()