def crearProyecto(self, **kw): proyecto = Proyecto() proyecto.nombre = kw['nombre'] proyecto.estado = 'definicion' proyecto.fecha = kw['fecha'] DBSession.add(proyecto) proyecto = DBSession.query(Proyecto).filter_by(nombre=kw['nombre']).one() # Se crean los permisos de consulta, edición y eliminación del proyecto permiso_consultar = Permission() permiso_consultar.permission_name='ConsultarProyecto' + str(proyecto.codproyecto) DBSession.add(permiso_consultar) permiso_editar = Permission() permiso_editar.permission_name='EditarProyecto' + str(proyecto.codproyecto) DBSession.add(permiso_editar) permiso_eliminar = Permission() permiso_eliminar.permission_name='EliminarProyecto' + str(proyecto.codproyecto) DBSession.add(permiso_eliminar) permiso_definir_fases = Permission() permiso_definir_fases.permission_name='DefinirFases' + str(proyecto.codproyecto) DBSession.add(permiso_definir_fases) #Agregar los permisos de consulta, edicion y eliminacion al rol por defecto del usuario creador de proyecto identity = request.environ['repoze.who.identity'] usuario_creador_de_proyecto = identity['user'] rol = DBSession.query(Group).filter_by(group_name='RolPorDefecto' + str(usuario_creador_de_proyecto.user_id)).one() rol.permissions.append(permiso_consultar) rol.permissions.append(permiso_editar) rol.permissions.append(permiso_eliminar) rol.permissions.append(permiso_definir_fases) flash("El proyecto fue creado con exito") redirect("ListarProyectos")
def crearUsuario(self, **kw): usuario = User() usuario.user_name = kw['nombre'] usuario.user_fullname = kw[u'apellido'] usuario.password = kw[u'contrasena'] usuario.user_telefono = kw[u'telefono'] usuario.user_direccion = kw[u'direccion'] usuario.email_address = kw[u'email'] DBSession.add(usuario) #Agregar los roles roles = kw[u'rol'] for rol_id in roles: rol = DBSession.query(Group).filter_by(group_id=rol_id).one() rol.users.append(usuario) #Crear el rol por defecto para este usuario rol_por_defecto = Group() rol_por_defecto.group_name = 'RolPorDefecto' + str(usuario.user_id) DBSession.add(rol_por_defecto) rol_por_defecto.users.append(usuario) #Asociar el rol por defecto con el usuario # Se crean los permisos de consulta, edicion y eliminacion de este usuario permiso_consultar = Permission() permiso_consultar.permission_name='ConsultarUsuario' + str(usuario.user_id) DBSession.add(permiso_consultar) permiso_editar = Permission() permiso_editar.permission_name='EditarUsuario' + str(usuario.user_id) DBSession.add(permiso_editar) permiso_eliminar = Permission() permiso_eliminar.permission_name='EliminarUsuario' + str(usuario.user_id) DBSession.add(permiso_eliminar) #Asociar el rol por defecto con el usuario #rol_por_defecto.users.append(usuario) #rol_por_defecto.permissions.append() #Agregar los permisos de consulta, edicion y eliminacion al rol por defecto del usuario creador de usuario 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) #Asignarle al usuario recien creado el permiso de consulta de sus datos rol_por_defecto.permissions.append(permiso_consultar) flash("El usuario fue creado satisfactoriamente") redirect("NuevoUsuario")
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")