Пример #1
0
    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")
Пример #2
0
    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")
Пример #3
0
    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")