Exemple #1
0
def agregar_solicitudMantenimiento():
    session = Session()
    datos_solicitud = request.get_json()

    id = session.query(func.max(SolicitudMantenimiento.id)).filter_by(anno=datos_solicitud['anno']).first()[0]
    if id:
        id += 1
    else:
        id = 1

    solicitudMantenimiento = SolicitudMantenimiento(id, datos_solicitud['anno'], datos_solicitud['nombreSolicitante'],
                                                    datos_solicitud['telefono'],
                                                    datos_solicitud['contactoAdicional'], datos_solicitud['urgencia'],
                                                    datos_solicitud['areaTrabajo'],
                                                    datos_solicitud['lugarTrabajo'],
                                                    datos_solicitud['descripcionTrabajo'], datos_solicitud['estado'],
                                                    datos_solicitud['usuario'])

    session.add(solicitudMantenimiento)
    session.commit()

    # return created exam
    nuevo_solicitudMantenimiento = SolicitudMantenimientoSchema().dump(solicitudMantenimiento)
    session.close()
    return jsonify(nuevo_solicitudMantenimiento), 201
Exemple #2
0
def analizar_solicitud():
    session = Session()

    objeto_solicitudMantenimiento = session.query(SolicitudMantenimiento).get(
        (request.json['id'], request.json['anno']))

    if objeto_solicitudMantenimiento is None:
        return "Solicitud no encontrada", 404

    objeto_solicitudMantenimiento.estado = request.json['estado']

    session.add(objeto_solicitudMantenimiento)

    objeto_solicitudMantenimientoAnalizada = session.query(SolicitudMantenimientoAprobada).get(
        (request.json['id'], request.json['anno']))

    objeto_solicitudMantenimientoAnalizada.insumos = request.json['insumos']
    objeto_solicitudMantenimientoAnalizada.costoEstimado = request.json['costoEstimado']
    objeto_solicitudMantenimientoAnalizada.observacionesAnalisis = request.json['observacionesAnalisis']
    objeto_solicitudMantenimientoAnalizada.ubicacionArchivo = request.json['ubicacionArchivo']

    session.add(objeto_solicitudMantenimientoAnalizada)

    session.commit()

    solicitudMantenimientoAprobada_editada = SolicitudMantenimientoAprobadaSchema().dump(
        objeto_solicitudMantenimientoAnalizada)

    session.close()

    return jsonify(solicitudMantenimientoAprobada_editada)
def editar_usuario():
    posted_usuario = UsuarioSchema(only=('cedula', 'correo', 'telefono', 'nombre', 'apellido1', 'apellido2', 'contrasenna'))\
        .load(request.get_json())

    usuario_actualizado = Usuario(**posted_usuario)

    session = Session()
    objeto_usuario = session.query(Usuario).get(usuario_actualizado.cedula)
    if objeto_usuario is None:
        return "Usuario no encontrado", 404

    schema = UsuarioSchema()

    objeto_usuario.correo = usuario_actualizado.correo
    objeto_usuario.telefono = usuario_actualizado.telefono
    objeto_usuario.nombre = usuario_actualizado.nombre
    objeto_usuario.apellido1 = usuario_actualizado.apellido1
    objeto_usuario.apellido2 = usuario_actualizado.apellido2
    objeto_usuario.contrasenna = usuario_actualizado.contrasenna

    session.add(objeto_usuario)
    session.commit()
    usuario = schema.dump(objeto_usuario)
    session.close()

    return jsonify(usuario)
Exemple #4
0
def editar_solicitudMantenimiento():
    posted_solicitudMantenimiento = SolicitudMantenimientoSchema(
        only=('id', 'anno', 'nombreSolicitante', 'telefono', 'contactoAdicional', 'urgencia',
              'areaTrabajo', 'lugarTrabajo', 'descripcionTrabajo', 'estado')) \
        .load(request.get_json())

    solicitudMantenimiento_actualizado = SolicitudMantenimiento(**posted_solicitudMantenimiento)

    session = Session()
    objeto_solicitudMantenimiento = session.query(SolicitudMantenimiento).get(
        (solicitudMantenimiento_actualizado.id, solicitudMantenimiento_actualizado.anno))
    if objeto_solicitudMantenimiento is None:
        return "Solicitud no encontrada", 404

    schema = SolicitudMantenimientoSchema()

    objeto_solicitudMantenimiento.nombreSolicitante = solicitudMantenimiento_actualizado.nombreSolicitante
    objeto_solicitudMantenimiento.telefono = solicitudMantenimiento_actualizado.telefono
    objeto_solicitudMantenimiento.contactoAdicional = solicitudMantenimiento_actualizado.contactoAdicional
    objeto_solicitudMantenimiento.urgencia = solicitudMantenimiento_actualizado.urgencia
    objeto_solicitudMantenimiento.areaTrabajo = solicitudMantenimiento_actualizado.areaTrabajo
    objeto_solicitudMantenimiento.lugarTrabajo = solicitudMantenimiento_actualizado.lugarTrabajo
    objeto_solicitudMantenimiento.descripcionTrabajo = solicitudMantenimiento_actualizado.descripcionTrabajo
    objeto_solicitudMantenimiento.estado = solicitudMantenimiento_actualizado.estado

    session.add(objeto_solicitudMantenimiento)
    session.commit()
    solicitudMantenimiento = schema.dump(objeto_solicitudMantenimiento)
    session.close()

    return jsonify(solicitudMantenimiento)
Exemple #5
0
def finalizar_solicitud():
    session = Session()

    objeto_solicitudMantenimiento = session.query(SolicitudMantenimiento).get(
        (request.json['id'], request.json['anno']))

    if objeto_solicitudMantenimiento is None:
        return "Solicitud no encontrada", 404

    objeto_solicitudMantenimiento.estado = 'Finalizada'

    session.add(objeto_solicitudMantenimiento)

    objeto_solicitudMantenimientoFinalizada = session.query(SolicitudMantenimientoAprobada).get(
        (request.json['id'], request.json['anno']))

    objeto_solicitudMantenimientoFinalizada.periodoEjecucion = request.json['periodoEjecucion']
    objeto_solicitudMantenimientoFinalizada.observacionesFinales = request.json['observacionesFinales']

    session.add(objeto_solicitudMantenimientoFinalizada)

    session.commit()

    solicitudMantenimientoAprobada_editada = SolicitudMantenimientoAprobadaSchema().dump(
        objeto_solicitudMantenimientoFinalizada)

    session.close()

    return jsonify(solicitudMantenimientoAprobada_editada)
def eliminar_usuario():
    cedula = request.args.get('cedula')
    session = Session()
    objeto_usuario = session.query(Usuario).get(cedula)
    if objeto_usuario is None:
        return "Usuario no encontrado", 404

    session.delete(objeto_usuario)
    session.commit()

    session.close()
    return '', 200
Exemple #7
0
def eliminar_grupo():
    descripcion = request.args.get('descripcion')
    session = Session()
    permisos = session.query(GruposPermisos).filter_by(grupo=descripcion).all()
    for permiso in permisos:
        session.delete(permiso)

    grupo = session.query(Grupo).get(descripcion)
    session.delete(grupo)
    session.commit()
    session.close()
    return '', 200
def eliminar_arancel():
    tipo = request.args.get('tipo')
    session = Session()
    objeto_arancel = session.query(Arancel).get(tipo)
    if objeto_arancel is None:
        return "Arancel no encontrado", 404

    session.delete(objeto_arancel)
    session.commit()

    session.close()
    return '', 200
Exemple #9
0
def eliminar_presupuesto():
    codigo = request.args.get('codigo')
    session = Session()
    objeto_presupuesto = session.query(Presupuesto).get(codigo)
    if objeto_presupuesto is None:
        return "Presupuesto no encontrado", 404

    session.delete(objeto_presupuesto)
    session.commit()

    session.close()
    return '', 200
Exemple #10
0
def eliminar_unidad():
    nombre = request.args.get('nombre')
    session = Session()
    objeto_unidad = session.query(Unidad).get(nombre)
    if objeto_unidad is None:
        return "Unidad no encontrada", 404

    session.delete(objeto_unidad)
    session.commit()

    session.close()
    return '', 200
def eliminar_cristaleria():
    nombre = request.args.get('nombre')
    pureza = request.args.get('pureza')
    session = Session()
    objeto_reactivo = session.query(Reactivo).get((nombre, pureza))
    if objeto_reactivo is None:
        return "Reactivo no encontrado", 404

    session.delete(objeto_reactivo)
    session.commit()

    session.close()
    return '', 200
Exemple #12
0
def deleteOldPasswordChangeId():
    try:
        expireTime = datetime.datetime.now() - datetime.timedelta(minutes=10)
        session = Session()
        expiredIds = session.query(IdCambioContrasenna).filter(
            IdCambioContrasenna.fechaCreacion < expireTime).all()

        for id in expiredIds:
            session.delete(id)
        session.commit()
        return '', 200
    except:
        return '', 400
Exemple #13
0
def eliminar_solicitudMantenimiento():
    id = request.args.get('id')
    anno = request.args.get('anno')

    session = Session()
    objeto_solicitudMantenimiento = session.query(SolicitudMantenimiento).get((id, anno))
    if objeto_solicitudMantenimiento is None:
        return "Solicitud no encontrado", 404

    session.delete(objeto_solicitudMantenimiento)
    session.commit()

    session.close()
    return '', 200
def check_password_change_id():
    data = IdCambioContrasennaSchema(only=('correo', 'id')) \
        .load(request.get_json())

    session = Session()
    cachedId = session.query(IdCambioContrasenna).get(data['correo'])
    if cachedId is None:
        return "No se generó una solicitud de cambio de contraseña con ese correo", 404
    if cachedId.id != data['id']:
        return "El número identificador de cambio de contraseña no es válido", 400
    else:
        session.delete(cachedId)
        session.commit()
        return "", 200
Exemple #15
0
def agregar_grupo():
    data = request.get_json()
    grupo = Grupo(data['descripcion'])
    session = Session()
    session.add(grupo)
    session.commit()

    permisos = data['permisos']
    for permiso in permisos:
        grupo_permiso = GruposPermisos(grupo.descripcion, permiso['id'])
        session.add(grupo_permiso)

    session.commit()
    session.close()
    return '', 200
Exemple #16
0
def eliminar_cristaleria():
    nombre = request.args.get('nombre')
    material = request.args.get('material')
    capacidad = request.args.get('capacidad')
    session = Session()
    objeto_cristaleria = session.query(Cristaleria).get(
        (nombre, material, capacidad))
    if objeto_cristaleria is None:
        return "Cristalería no encontrada", 404

    session.delete(objeto_cristaleria)
    session.commit()

    session.close()
    return '', 200
def agregar_reactivo():
    # mount exam object
    posted_reactivo = ReactivoSchema(only=('nombre', 'pureza', 'cantidad', 'estado', 'estante'))\
        .load(request.get_json())

    reactivo = Reactivo(**posted_reactivo)

    # persist exam
    session = Session()
    session.add(reactivo)
    session.commit()

    # return created exam
    nuevo_reactivo = ReactivoSchema().dump(reactivo)
    session.close()
    return jsonify(nuevo_reactivo), 201
Exemple #18
0
def agregar_presupuesto():
    # mount exam object
    posted_presupuesto = PresupuestoSchema(only=('codigo', 'nombre'))\
        .load(request.get_json())

    presupuesto = Presupuesto(**posted_presupuesto)

    # persist exam
    session = Session()
    session.add(presupuesto)
    session.commit()

    # return created exam
    nuevo_presupuesto = PresupuestoSchema().dump(presupuesto)
    session.close()
    return jsonify(nuevo_presupuesto), 201
def agregar_usuario():
    # mount exam object
    posted_usuario = UsuarioSchema(only=('cedula', 'correo', 'telefono', 'nombre', 'apellido1', 'apellido2', 'contrasenna'))\
        .load(request.get_json())

    usuario = Usuario(**posted_usuario)

    # persist exam
    session = Session()
    session.add(usuario)
    session.commit()

    # return created exam
    nuevo_usuario = UsuarioSchema().dump(usuario)
    session.close()
    return jsonify(nuevo_usuario), 201
Exemple #20
0
def asignar_usuario_grupo():
    data = request.get_json()
    grupo = data['descripcion']
    session = Session()
    usuarios = session.query(UsuariosGrupos).filter_by(grupo=grupo).all()
    for usuario in usuarios:
        session.delete(usuario)

    usuarios = data['usuarios']
    for usuario in usuarios:
        usuario_grupo = UsuariosGrupos(usuario['cedula'], grupo)
        session.add(usuario_grupo)

    session.commit()
    session.close()
    return '', 200
Exemple #21
0
def agregar_cristaleria():
    # mount exam object
    posted_cristaleria = CristaleriaSchema(only=('nombre', 'material', 'capacidad', 'cantidad', 'caja'))\
        .load(request.get_json())

    cristaleria = Cristaleria(**posted_cristaleria)

    # persist exam
    session = Session()
    session.add(cristaleria)
    session.commit()

    # return created exam
    nueva_cristaleria = CristaleriaSchema().dump(cristaleria)
    session.close()
    return jsonify(nueva_cristaleria), 201
def agregar_arancel():
    # mount exam object
    posted_arancel = ArancelSchema(only=('tipo', 'monto'))\
        .load(request.get_json())

    arancel = Arancel(**posted_arancel)

    # persist exam
    session = Session()
    session.add(arancel)
    session.commit()

    # return created exam
    nuevo_arancel = ArancelSchema().dump(arancel)
    session.close()
    return jsonify(nuevo_arancel), 201
Exemple #23
0
def agregar_solicitud_regencia():
    datos_solicitud = request.get_json()
    session = Session()
    try:
        id = session.query(func.max(SolicitudRegencia.id)).filter_by(
            anno=datos_solicitud['anno']).first()[0]
        if id:
            id += 1
        else:
            id = 1

        datos_solicitud['fechaSolicitud'] = datos_solicitud[
            'fechaSolicitud'].split('T')[0]
        solicitud = SolicitudRegencia(id, datos_solicitud['anno'],
                                      datos_solicitud['fechaSolicitud'], None,
                                      datos_solicitud['estado'],
                                      datos_solicitud['nombreSolicitante'],
                                      datos_solicitud['nombreEncargado'],
                                      datos_solicitud['correoSolicitante'],
                                      datos_solicitud['observacion'],
                                      datos_solicitud['unidad'],
                                      datos_solicitud['cedulaUsuario'])
        session.add(solicitud)
        session.commit()
        reactivos = datos_solicitud['reactivosSolicitados']
        cristalerias = datos_solicitud['cristaleriaSolicitada']

        for reactivo in reactivos:
            reactivo_solicitado = ReactivosSolicitados(
                id, datos_solicitud['anno'], reactivo['nombre'],
                reactivo['pureza'], reactivo['cantidadSolicitada'],
                'Pendiente', '')
            session.add(reactivo_solicitado)

        for cristaleria in cristalerias:
            cristaleria_solicitada = CristaleriaSolicitada(
                id, datos_solicitud['anno'], cristaleria['nombre'],
                cristaleria['material'], cristaleria['capacidad'],
                cristaleria['cantidadSolicitada'], 'Pendiente', '')
            session.add(cristaleria_solicitada)

        session.commit()
        return '', 200
    except Exception as e:
        print(e)
        session.rollback()
        return 'Ha ocurrido un error al crear la solicitud', 400
Exemple #24
0
def agregar_unidad():
    # mount exam object
    posted_unidad = UnidadSchema(
        only=('nombre', 'encargado')) \
        .load(request.get_json())

    unidad = Unidad(**posted_unidad)

    # persist exam
    session = Session()
    session.add(unidad)
    session.commit()

    # return created exam
    nuevo_unidad = UnidadSchema().dump(unidad)
    session.close()
    return jsonify(nuevo_unidad), 201
Exemple #25
0
def editar_grupo():
    data = request.get_json()
    grupo = Grupo(data['descripcion']).descripcion
    session = Session()
    permisos_anteriores = session.query(GruposPermisos).filter_by(
        grupo=grupo).all()
    for permiso in permisos_anteriores:
        session.delete(permiso)

    permisos = data['permisos']
    for permiso in permisos:
        grupo_permiso = GruposPermisos(grupo, permiso['id'])
        session.add(grupo_permiso)

    session.commit()
    session.close()
    return '', 200
def editar_arancel():
    posted_arancel = ArancelSchema(only=('tipo', 'monto'))\
        .load(request.get_json())

    arancel_actualizado = Arancel(**posted_arancel)

    session = Session()
    objeto_arancel = session.query(Arancel).get(arancel_actualizado.tipo)
    if objeto_arancel is None:
        return "Arancel no encontrado", 404

    schema = ArancelSchema()

    objeto_arancel.monto = arancel_actualizado.monto

    session.add(objeto_arancel)
    session.commit()
    arancel = schema.dump(objeto_arancel)
    session.close()

    return jsonify(arancel)
Exemple #27
0
def editar_unidad():
    posted_unidad = UnidadSchema(
        only=('nombre', 'encargado')) \
        .load(request.get_json())

    unidad_actualizado = Unidad(**posted_unidad)

    session = Session()
    objeto_unidad = session.query(Unidad).get(unidad_actualizado.nombre)
    if objeto_unidad is None:
        return "Unidad no encontrada", 404

    schema = UnidadSchema()

    objeto_unidad.encargado = unidad_actualizado.encargado

    session.add(objeto_unidad)
    session.commit()
    unidad = schema.dump(objeto_unidad)
    session.close()

    return jsonify(unidad)
def generate_password_change_id():
    try:
        correo = request.data.decode(request.charset)

        session = Session()
        usuario = session.query(Usuario).filter_by(correo=correo).first()
        if usuario is None:
            session.close()
            return "El correo insertado no pertenece a ningún usuario", 404

        id = uuid.uuid1()
        id = id.hex

        entidadId = IdCambioContrasenna(correo, id, datetime.datetime.now())

        previousId = session.query(IdCambioContrasenna).get(correo)
        if previousId is not None:
            session.delete(previousId)

        session.add(entidadId)

        urlFrontend = 'http://10.90.85.68/cambioContrasenna/' + id + '/' + correo
        mail = {
            'texto':
            'Si usted ha solicitado un cambio de contraseña, por favor haga click <a href="'
            + urlFrontend + '">aquí</a>',
            'subject':
            'Solicitud de cambio de contraseña de la plataforma del CELEQ',
            'destinatario':
            correo
        }
        enviarCorreo(mail)

        session.commit()
        session.close()
        return '', 200
    except Exception as e:
        print(e)
        return 'Error al crear identificador de cambio de contraseña', 400
Exemple #29
0
def editar_presupuesto():
    posted_presupuesto = PresupuestoSchema(only=('codigo', 'nombre'))\
        .load(request.get_json())

    presupuesto_actualizado = Presupuesto(**posted_presupuesto)

    session = Session()
    objeto_presupuesto = session.query(Presupuesto).get(
        presupuesto_actualizado.codigo)
    if objeto_presupuesto is None:
        return "Presupuesto no encontrado", 404

    schema = PresupuestoSchema()

    objeto_presupuesto.nombre = presupuesto_actualizado.nombre

    session.add(objeto_presupuesto)
    session.commit()
    presupuesto = schema.dump(objeto_presupuesto)
    session.close()

    return jsonify(presupuesto)
Exemple #30
0
def aprobar_solicitud():
    session = Session()

    objeto_solicitudMantenimiento = session.query(SolicitudMantenimiento).get(
        (request.json['id'], request.json['anno']))

    if objeto_solicitudMantenimiento is None:
        return "Solicitud no encontrada", 404

    objeto_solicitudMantenimiento.estado = request.json['estado']

    session.add(objeto_solicitudMantenimiento)

    if (request.json['estado'] == 'Aprobada'):
        nueva_solicitudAprobada = SolicitudMantenimientoAprobada(request.json['id'], request.json['anno'],
                                                                 request.json['fechaAprobacion'],
                                                                 request.json['personaAsignada'],
                                                                 request.json['observacionesAprob'], '', '', '', '',
                                                                 '', '', '')
        session.add(nueva_solicitudAprobada)

        session.commit()

        nuevo_solicitudMantenimientoAprobada = SolicitudMantenimientoAprobadaSchema().dump(nueva_solicitudAprobada)
        session.close()

        return jsonify(nuevo_solicitudMantenimientoAprobada)
    else:
        nueva_solicitudRechazada = SolicitudMantenimientoRechazada(request.json['id'], request.json['anno'],
                                                                   request.json['motivoRechazo'])
        session.add(nueva_solicitudRechazada)

        session.commit()

        nuevo_solicitudMantenimientoRechazada = SolicitudMantenimientoRechazadaSchema().dump(nueva_solicitudRechazada)
        session.close()

        return jsonify(nuevo_solicitudMantenimientoRechazada)