Exemplo n.º 1
0
def justificaciones(uid, token):

    prof = warden.has_one_profile(token, ['assistance-super-admin','assistance-admin','assistance-operator'])
    if prof and prof['profile'] == True:
        with obtener_session() as session:
            return AssistanceModel.justificaciones(session)

    autorizador_id = token['sub']
    if AssistanceModel.chequear_acceso(autorizador_id, uid):
        with obtener_session() as session:
            return AssistanceModel.justificacionesParaUsuario(session, uid)

    return ('no tiene los permisos suficientes', 403)
Exemplo n.º 2
0
def horario(uid,token):
    fecha_str = request.args.get('fecha', None)
    fecha = parser.parse(fecha_str).date() if fecha_str else None

    prof = warden.has_one_profile(token, ['assistance-super-admin','assistance-admin','assistance-operator','assistance-user'])
    if prof and prof['profile'] == True:
        with obtener_session() as session:
            return AssistanceModel.horario(session, uid, fecha)

    usuario_logueado = token['sub']
    if AssistanceModel.chequear_acceso(usuario_logueado, uid):        
        with obtener_session() as session:
            return AssistanceModel.horario(session, uid, fecha)

    return ('no tiene los permisos suficientes', 403)
Exemplo n.º 3
0
def reporte_justificaciones(uid, token):
    fecha_str = request.args.get('inicio', None)
    inicio = parser.parse(fecha_str).date() if fecha_str else None

    fecha_str = request.args.get('fin', None)
    fin = parser.parse(fecha_str).date() if fecha_str else None

    prof = warden.has_one_profile(token, ['assistance-super-admin', 'assistance-admin','assistance-operator','assistance-user'])
    if prof and prof['profile']:
        with obtener_session() as session:
            return AssistanceModel.reporteJustificaciones(session, uid, inicio, fin)

    usuario_logueado = token['sub']
    if AssistanceModel.chequear_acceso(usuario_logueado, uid):
        with obtener_session() as session:
                return AssistanceModel.reporteJustificaciones(session, uid, inicio, fin)
    return ('no tiene los permisos suficientes', 403)
Exemplo n.º 4
0
def usuarios(uid=None, token=None):
    prof = warden.has_one_profile(token, ['assistance-super-admin','assistance-admin','assistance-operator', 'assistance-user'])
    if prof and prof['profile'] == True:
        with obtener_session() as session:
            return AssistanceModel.usuario(session, uid, retornarClave=False)

    autorizador_id = token['sub']
    if AssistanceModel.chequear_acceso(autorizador_id, uid):
        with obtener_session() as session:
            return AssistanceModel.usuario(session, uid, retornarClave=False)

    ''' como no soy admin, ni tengo cargo, entonces chequea que se este consultando a si mismo '''
    if autorizador_id == uid:
        with obtener_session() as session:
            return AssistanceModel.usuario(session, autorizador_id, retornarClave=False)

    return ('no tiene los permisos suficientes', 403)
Exemplo n.º 5
0
def eliminar_fecha_justificada(uid, jid, token):
    autorizador_id = token['sub']

    prof = warden.has_one_profile(token, ['assistance-super-admin', 'assistance-admin'])
    if prof or prof['profile'] == True:
        with obtener_session() as session:
            jid = AssistanceModel.eliminarFechaJustificada(session, jid, autorizador_id)
            session.commit()
            return jid

    if autorizador_id == uid:
        return ('no tiene los permisos suficientes', 403)

    if AssistanceModel.chequear_acceso(autorizador_id, uid):
        with obtener_session() as session:
            id = AssistanceModel.eliminarFechaJustificadaJefe(session, jid, autorizador_id, uid)
            session.commit()
            return id

    return ('no tiene los permisos suficientes', 403)
Exemplo n.º 6
0
def justificar(token):
    fechaJustificada = request.get_json()

    prof = warden.has_one_profile(token, ['assistance-super-admin', 'assistance-admin','assistance-operator'])
    if prof and prof['profile'] == True:
        with obtener_session() as session:
            autorizador_id = token['sub']
            id = AssistanceModel.justificar(session, fechaJustificada, autorizador_id)
            session.commit()
            return id

    autorizador_id = token['sub']
    uid = fechaJustificada['usuario_id']
    if autorizador_id == uid:
        return ('no tiene los permisos suficientes', 403)

    if AssistanceModel.chequear_acceso(autorizador_id, uid):
        with obtener_session() as session:
            id = AssistanceModel.justificar(session, fechaJustificada, autorizador_id)
            session.commit()
            return id

    return ('no tiene los permisos suficientes', 403)