Пример #1
0
	def add_member(self, world, username):
		"""remove_member(username: *) -> bool

		Add `username` to the world and return True if wasn't a member already.

		"""

		if not utils.page_admin(world.author.user):
			return False

		udata = stores.UserData.load_from_nickname(username)
		if udata is None:
			return "Unknown User"

		key_name = stores.WorldMember.key_name_form % (world.key_name, udata.key_name)
		member = stores.WorldMember.get_by_key_name(key_name)
		if not member:
			member = WorldMember(key_name=key_name, user=udata, world=world)
			member.put()
			counter.Counter('%sWorldMembers' % world.key_name, 1).increment()

			messages = stores.MessageFactory.gen_user_joined_world(
				world.worldmember_set, member, self.udata
			)
			db.put(messages)

			logging.info('User (%s) has added World (%s) Member (%s)' % (
				self.user.email(), world.name, udata.user.email()))

			framework.unmemoize('/manage/', 'world_listing', udata.nickname)
			framework.unmemoize(member.user.url, 'world_listing')
			framework.unmemoize(world.url, 'member_listing')
			return True

		return False
Пример #2
0
		def __fetch_world_memberships():
			query = WorldMember.all()
			query.filter('user =', adata)
			return [membership.world for membership in query.fetch(10)]