Example #1
0
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"})
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
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})
Example #7
0
    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)
Example #8
0
    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)
Example #9
0
 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)