def save_invite(): content = request.get_json(force=True) event_id = Event.find_by_name(content.get('event_name')).id Invite.send_invite(event_id, content.get('user_email')) return jsonify({"invite": "sent"})
def delete_user(self, request): user = get_user_from_request(user_id=request.user_id, user_email=request.user_email) community = Community.get_by_id(request.community_id) success = False if community: if user: UserRole.delete(user, community) success = True elif request.include_invite: Invite.delete(request.user_email, community) success = True return ResponseMessage(success=success)
def user_invite_accept(self, request): if request.user_email is None: user = auth_user(self.request_state.headers) request.user_email = user.user_email resp, msg = Invite.accept(request) return ResponseMessage(success=True if resp else False, msg=msg)
def list_user_communities(self, request): if request.id or request.email: user = get_user_from_request(user_id=request.id, user_email=request.email) else: user = auth_user(self.request_state.headers) user_community_list = user_community(user) if user else [] user_community_message_list = [] for userrole in user_community_list: community = userrole.get("community").get() if community: community_message = CommunityMessage(id=community.key.id(), name=community.name, description=community.description, welcome_msg=community.welcome_msg) user_community_message = UserCommunityMessage(community=community_message, role=userrole.get("role")) user_community_message_list.append(user_community_message) pending_invites_list = [] if request.include_invite and user: pending_invites = Invite.list_by_user(user.user_email) for pending_invite in pending_invites: community = pending_invite.community.get().to_response_message() pending_invites_list.append(UserInviteMessage(community=community, invite_hash=pending_invite.invite_hash, invite_msg=pending_invite.invite_msg)) return UserCommunityListMessage(community_list=user_community_message_list, invite_list=pending_invites_list)
def edit_user_role(self, request): user = get_user_from_request(user_id=request.user_id, user_email=request.user_email) community = Community.get_by_id(request.community_id) resp = None if community: if user: resp = UserRole.edit(user, community, request.role) elif request.include_invite: resp = Invite.change_user_role(request.user_email, community, request.role) return ResponseMessage(success=True if resp else False)
def find_invite(): event_id = request.args.get('event_id') if not Event.find(event_id).is_private: return jsonify({"invite": True}) else: if current_user.is_authenticated: if Event.find(event_id).creator_id == current_user.id: return jsonify({"invite": True}) elif Invite.check_for_invite(event_id, current_user.email): return jsonify({"invite": True}) else: return jsonify({"invite": False}) else: return jsonify({"invite": False})
def user_invite_list(self, request): if request.email is None: user = auth_user(self.request_state.headers) user_email = user.user_email else: user_email = request.email pending_invites = Invite.list_by_user(user_email) pending_invites_list = [] for pending_invite in pending_invites: community = pending_invite.community.get().to_response_message() pending_invites_list.append(UserInviteMessage(community=community, invite_hash=pending_invite.invite_hash, invite_msg=pending_invite.invite_msg)) return UserInviteListMessage(invite_list=pending_invites_list)
def user_list(self, request): community_user_message_list = [] status = InvitationStatusType.ACCEPTED userroles = UserRole.community_user_list(request.id) for userrole in userroles: user = userrole.user.get() if user: user_message = UserMessage(id=user.key.id(), display_name=user.display_name, user_email=user.user_email) community_user_message = CommunityUserMessage(user=user_message, role=userrole.role, status=status) community_user_message_list.append(community_user_message) if request.include_invite: status = InvitationStatusType.PENDING from model.invite import Invite invited_users = Invite.list_by_community(request.id) for invited_user in invited_users: user_message = UserMessage(display_name=invited_user.name, user_email=invited_user.email) community_user_message = CommunityUserMessage(user=user_message, role=invited_user.role, status=status) community_user_message_list.append(community_user_message) return CommunityUserListMessage(user_list=community_user_message_list)
def invite_user(self, request): creator = auth_user(self.request_state.headers) community_name = Invite.create(request, creator) invite_msg = request.invite_msg or "" return CreateInviteResponseMessage(user_name=request.name, user_email=request.email, invite_msg=invite_msg, community=community_name)