def crearRol(self, **kw): rol = Group() rol.group_name = kw['nombre'] rol.group_description = kw['descripcion'] DBSession.add(rol) #Agregar los permisos permisos = kw[u'permiso'] for permiso_id in permisos: permiso = DBSession.query(Permission).filter_by(permission_id=permiso_id).one() permiso.groups.append(rol) # Se crean los permisos de consulta, edicion y eliminacion de este rol rol = DBSession.query(Group).filter_by(group_name=kw['nombre']).one() permiso_consultar = Permission() permiso_consultar.permission_name='ConsultarRol' + str(rol.group_id) DBSession.add(permiso_consultar) permiso_editar = Permission() permiso_editar.permission_name='EditarRol' + str(rol.group_id) DBSession.add(permiso_editar) permiso_eliminar = Permission() permiso_eliminar.permission_name='EliminarRol' + str(rol.group_id) DBSession.add(permiso_eliminar) #grupo = DBSession.query(Group).filter_by(group_id='2').one() #permiso_editar.groups.append(grupo) #permiso_eliminar.groups.append(grupo) #Agregar los permisos de consulta, edicion y eliminacion al rol por defecto del usuario creador del rol identity = request.environ['repoze.who.identity'] usuario_creador_de_usuario = identity['user'] rol = DBSession.query(Group).filter_by(group_name='RolPorDefecto' + str(usuario_creador_de_usuario.user_id)).one() rol.permissions.append(permiso_consultar) rol.permissions.append(permiso_editar) rol.permissions.append(permiso_eliminar) flash("El rol fue creado con exito") redirect("ListarRoles")