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)
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)
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)
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)
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)
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)