Esempio n. 1
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)
Esempio n. 2
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)
Esempio n. 3
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
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)
Esempio n. 5
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)
Esempio n. 6
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
Esempio n. 7
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_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
Esempio n. 9
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
Esempio n. 10
0
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
Esempio n. 11
0
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
Esempio n. 12
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
Esempio n. 13
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
Esempio n. 14
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
Esempio n. 15
0
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)
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
Esempio n. 17
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)
Esempio n. 18
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)
def editar_reactivo():
    posted_reactivo = ReactivoSchema(only=('nombre', 'pureza', 'cantidad', 'estado', 'estante'))\
        .load(request.get_json())

    reactivo_actualizado = Reactivo(**posted_reactivo)

    session = Session()
    objeto_reactivo = session.query(Reactivo).get((reactivo_actualizado.nombre, reactivo_actualizado.pureza))
    if objeto_reactivo is None:
        return "Reactivo no encontrado", 404

    schema = ReactivoSchema()

    objeto_reactivo.cantidad = reactivo_actualizado.cantidad
    objeto_reactivo.estado = reactivo_actualizado.estado
    objeto_reactivo.estante = reactivo_actualizado.estante

    session.add(objeto_reactivo)
    session.commit()
    reactivo = schema.dump(objeto_reactivo)
    session.close()

    return jsonify(reactivo)
Esempio n. 20
0
def editar_cristaleria():
    posted_cristaleria = CristaleriaSchema(only=('nombre', 'material', 'capacidad', 'cantidad', 'caja'))\
        .load(request.get_json())

    cristaleria_actualizada = Cristaleria(**posted_cristaleria)

    session = Session()
    objeto_cristaleria = session.query(Cristaleria).get(
        (cristaleria_actualizada.nombre, cristaleria_actualizada.material,
         cristaleria_actualizada.capacidad))
    if objeto_cristaleria is None:
        return "Cristalería no encontrada", 404

    schema = CristaleriaSchema()

    objeto_cristaleria.cantidad = cristaleria_actualizada.cantidad
    objeto_cristaleria.caja = cristaleria_actualizada.caja

    session.add(objeto_cristaleria)
    session.commit()
    cristaleria = schema.dump(objeto_cristaleria)
    session.close()

    return jsonify(cristaleria)
def editar_designacion():
    datos_designacion = request.get_json()

    session = Session()
    objeto_designacion = session.query(Designacion).get(
        (datos_designacion['id'], datos_designacion['anno']))
    if objeto_designacion is None:
        return "Designación no encontrada", 404

    schema = DesignacionSchema()

    objeto_designacion.responsable = datos_designacion['responsable']
    objeto_designacion.unidad = datos_designacion['unidad']
    objeto_designacion.horas = datos_designacion['horas']
    objeto_designacion.observaciones = datos_designacion['observaciones']
    objeto_designacion.tramitado = datos_designacion['tramitado']
    objeto_designacion.fechaFinal = datos_designacion['fechaFinal']

    session.add(objeto_designacion)

    designacion = schema.dump(objeto_designacion)
    with session.no_autoflush:
        p9 = session.query(P9).get(datos_designacion['numero'])

    if p9 is None:
        objeto_p9 = P9(datos_designacion['numero'],
                       datos_designacion['ubicacionArchivo'],
                       datos_designacion['id'], datos_designacion['anno'],
                       datos_designacion['fecha'])
        session.add(objeto_p9)

    session.commit()

    session.close()

    return jsonify(designacion)
Esempio n. 22
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
Esempio n. 23
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)
def agregar_designacion():
    datos_designacion = request.get_json()

    datos_designacion['fecha'] = datos_designacion['fecha'].split('T')[0]
    datos_designacion['fechaInicio'] = datos_designacion['fechaInicio'].split(
        'T')[0]
    datos_designacion['fechaFinal'] = datos_designacion['fechaFinal'].split(
        'T')[0]

    session = Session()

    objeto_estudiante = session.query(Estudiante).get(
        datos_designacion['identificacion'])

    if objeto_estudiante is None:
        estudiante = Estudiante(
            datos_designacion['identificacion'], datos_designacion['tipoId'],
            datos_designacion['nombre'], datos_designacion['apellido1'],
            datos_designacion['apellido2'], datos_designacion['correo'],
            datos_designacion['celular'], datos_designacion['telefonoFijo'],
            datos_designacion['carrera'])

        session.add(estudiante)
    else:
        objeto_estudiante.nombre = datos_designacion['nombre']
        objeto_estudiante.apellido1 = datos_designacion['apellido1']
        objeto_estudiante.apellido2 = datos_designacion['apellido2']
        objeto_estudiante.correo = datos_designacion['correo']
        objeto_estudiante.celular = datos_designacion['celular']
        objeto_estudiante.telefonoFijo = datos_designacion['telefonoFijo']
        objeto_estudiante.carrera = datos_designacion['carrera']

        session.add(objeto_estudiante)

    objeto_arancel = session.query(Arancel).get(datos_designacion['modalidad'])
    schema = ArancelSchema()
    arancel = schema.dump(objeto_arancel)
    monto = arancel['monto'] * datos_designacion['horas']

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

    designacion = Designacion(
        id, datos_designacion['anno'], datos_designacion['ciclo'],
        datos_designacion['fechaInicio'], datos_designacion['fechaFinal'],
        datos_designacion['convocatoria'], datos_designacion['horas'],
        datos_designacion['modalidad'], monto, datos_designacion['inopia'],
        datos_designacion['motivoInopia'], datos_designacion['tramitado'],
        datos_designacion['observaciones'],
        datos_designacion['identificacion'], datos_designacion['presupuesto'],
        datos_designacion['responsable'], datos_designacion['unidad'],
        datos_designacion['adHonorem'])
    session.add(designacion)

    p9 = P9(datos_designacion['numero'], datos_designacion['ubicacionArchivo'],
            id, datos_designacion['anno'], datos_designacion['fecha'])

    session.add(p9)

    session.commit()

    schema = DesignacionSchema()
    objeto_designacion = schema.dump(designacion)

    session.close()

    return jsonify(objeto_designacion)
Esempio n. 25
0
def editar_solicitud_regencia():
    datos_solicitud = request.get_json()
    session = Session()
    try:
        solicitud = session.query(SolicitudRegencia).get(
            (datos_solicitud['id'], datos_solicitud['anno']))
        if solicitud is None:
            return "Solicitud no encontrada", 404

        solicitud.fechaAprobacion = date.today()
        solicitud.estado = datos_solicitud['estado']
        session.add(solicitud)

        for reactivo in datos_solicitud['reactivosSolicitados']:
            reactivo_solicitado = session.query(ReactivosSolicitados).get(
                (datos_solicitud['id'], datos_solicitud['anno'],
                 reactivo['nombreReactivo'], reactivo['pureza']))
            reactivo_solicitado.estadoEnSolicitud = reactivo[
                'estadoEnSolicitud']
            reactivo_solicitado.justificacionRechazo = reactivo[
                'justificacionRechazo']

            reactivo_actualizado = session.query(Reactivo).get(
                (reactivo['nombreReactivo'], reactivo['pureza']))
            cantidad_actualizada = reactivo_actualizado.cantidad - reactivo_solicitado.cantidadSolicitada

            if cantidad_actualizada < 0:
                return 'No hay suficientes reactivos para aprobar la solicitud', 406

            reactivo_actualizado.cantidad = cantidad_actualizada
            session.add(reactivo_actualizado)
            session.add(reactivo_solicitado)

        for cristaleria in datos_solicitud['cristaleriaSolicitada']:
            cristaleria_solicitada = session.query(CristaleriaSolicitada).get(
                (datos_solicitud['id'], datos_solicitud['anno'],
                 cristaleria['nombreCristaleria'], cristaleria['material'],
                 cristaleria['capacidad']))

            cristaleria_solicitada.estadoEnSolicitud = cristaleria[
                'estadoEnSolicitud']
            cristaleria_solicitada.justificacionRechazo = cristaleria[
                'justificacionRechazo']

            cristaleria_actualizada = session.query(Cristaleria).get(
                (cristaleria['nombreCristaleria'], cristaleria['material'],
                 cristaleria['capacidad']))
            cantidad_actualizada = cristaleria_actualizada.cantidad - cristaleria_solicitada.cantidadSolicitada

            if cantidad_actualizada < 0:
                return 'No hay suficiente cristaleria para aprobar la solicitud', 406

            cristaleria_actualizada.cantidad = cantidad_actualizada
            session.add(cristaleria_actualizada)
            session.add(cristaleria_solicitada)

        session.commit()
        session.close()

        return '', 200
    except Exception as e:
        print(e)
        session.rollback()
        return 'Ha ocurrido un error al editar la solicitud', 400