Ejemplo n.º 1
0
def guardar():
    status = 200
    data = json.loads(request.form['data'])
    nuevos = data['nuevos']
    editados = data['editados']
    eliminados = data['eliminados']
    array_nuevos = []
    rpta = None
    session = session_accesos()
    try:
        if len(nuevos) != 0:
            for nuevo in nuevos:
                temp_id = nuevo['id']
                s = Modulo(
                    nombre=nuevo['nombre'],
                    icono=nuevo['icono'],
                    url=nuevo['url'],
                )
                session.add(s)
                session.flush()
                temp = {'temporal': temp_id, 'nuevo_id': s.id}
                array_nuevos.append(temp)
        if len(editados) != 0:
            for editado in editados:
                session.query(Modulo).filter_by(id=editado['id']).update({
                    'nombre':
                    editado['nombre'],
                    'icono':
                    editado['icono'],
                    'url':
                    editado['url'],
                })
        if len(eliminados) != 0:
            for id in eliminados:
                session.query(Modulo).filter_by(id=id).delete()
        session.commit()
        rpta = {
            'tipo_mensaje':
            'success',
            'mensaje': [
                'Se ha registrado los cambios en los módulos del sistema',
                array_nuevos
            ]
        }
    except Exception as e:
        status = 500
        session.rollback()
        rpta = {
            'tipo_mensaje':
            'error',
            'mensaje': [
                'Se ha producido un error en guardar los módulos del sistema',
                str(e)
            ]
        }
    return json.dumps(rpta), status
Ejemplo n.º 2
0
def guardar_permiso():
    status = 200
    data = json.loads(request.form['data'])
    editados = data['editados']
    rol_id = data['extra']['rol_id']
    array_nuevos = []
    rpta = None
    session = session_accesos()
    try:
        if len(editados) != 0:
            for editado in editados:
                permiso_id = editado['id']
                existe = editado['existe']
                e = session.query(RolPermiso).filter_by(permiso_id=permiso_id,
                                                        rol_id=rol_id).first()
                if existe == 0:  #borrar si existe
                    if e != None:
                        session.query(RolPermiso).filter_by(
                            permiso_id=permiso_id, rol_id=rol_id).delete()
                elif existe == 1:  #crear si no existe
                    if e == None:
                        s = RolPermiso(
                            permiso_id=permiso_id,
                            rol_id=rol_id,
                        )
                        session.add(s)
                        session.flush()
        session.commit()
        rpta = {
            'tipo_mensaje':
            'success',
            'mensaje': [
                'Se ha registrado la asociación de permisos al rol',
                array_nuevos
            ]
        }
    except Exception as e:
        status = 500
        session.rollback()
        rpta = {
            'tipo_mensaje':
            'error',
            'mensaje': [
                'Se ha producido un error en asociar los permisos al rol',
                str(e)
            ]
        }
    return json.dumps(rpta), status