def isMember(community, user, include_manager=True): if include_manager: query = UserRole.query(ndb.AND(UserRole.community == community.key, UserRole.user == user.key) ) else: query = UserRole.query(ndb.AND(UserRole.community == community.key, UserRole.user == user.key, UserRole.role == UserRoleType.MEMBER) ) results = query.get() return True if results else False
def community_users(self, request): user = auth_user(self.request_state.headers) community_userroles = [] if user: community = Community.getCommunityFromTeamKey(request.account_type) if community and (UserRole.getCircleLevel(user, community) > 0): community_userroles = UserRole.query().filter(ndb.AND(UserRole.community == community.key, UserRole.circle_level > 0) ).fetch(projection=[UserRole.user]) users = [] for community_userrole in community_userroles: current_user = community_userrole.user.get() users.append(UserMessage(id=current_user.key.id(), user_email=current_user.user_email, display_name=current_user.display_name, image_url=current_user.image_url)) # removing auth_user [ users.remove(user_info) for user_info in users if user_info.user_email == user.user_email ] # sorting users alphabetically users = sorted(users, key=lambda user_info: user_info.display_name.lower()) return UserListMessage(user_list=users)
def user_community(user): userroles = UserRole.query().filter(UserRole.user == user.key)\ .fetch(projection=[UserRole.community, UserRole.role, UserRole.circle_level]) results = [] for userrole in userroles: results.append(dict(community=userrole.community, role=userrole.role, circle_level=userrole.circle_level)) return results