Example #1
0
    def acceptInvitationByToken(self, invitation, lang, email, token):
        """
        Accept an invitation.
        """
        currentUser = Token().load(
            token,
            force=True,
            objectId=False,
            exc=False
        ).get('userId', None)
        if currentUser is not None:
            currentUser = UserModel().load(currentUser, force=True)
        if currentUser is None:
            raise AccessException(
                "Invalid token."
            )
        if invitation.get('role', 'user') == 'owner':
            AppletModel().receiveOwnerShip(AppletModel().load(invitation['appletId'], force=True), currentUser, email)
        else:
            profile = InvitationModel().acceptInvitation(invitation, currentUser, email)

            # editors should be able to access duplicated applets
            if invitation.get('role','user') == 'editor' or invitation.get('role', 'user') == 'manager':
                InvitationModel().accessToDuplicatedApplets(invitation, currentUser, email)

        InvitationModel().remove(invitation)
        return profile
Example #2
0
 def acceptInvitation(self, invitation):
     """
     Accept an invitation.
     """
     currentUser = self.getCurrentUser()
     if currentUser is None:
         raise AccessException(
             "You must be logged in to accept an invitation.")
     return (InvitationModel().acceptInvitation(invitation, currentUser))
 def getInvitation(self, invitation, fullHTML=False, includeLink=True):
     """
     Get an invitation as a string.
     """
     currentUser = self.getCurrentUser()
     return (InvitationModel().htmlInvitation(
         invitation,
         currentUser,
         fullDoc=fullHTML,
         includeLink=includeLink if includeLink is not None else True))
Example #4
0
    def acceptInvitation(self, invitation, email):
        """
        Accept an invitation.
        """
        currentUser = self.getCurrentUser()
        if currentUser is None:
            raise AccessException(
                "You must be logged in to accept an invitation."
            )
        if invitation.get('role', 'user') == 'owner':
            profile = AppletModel().receiveOwnerShip(AppletModel().load(invitation['appletId'], force=True), currentUser, email)
        else:
            profile = InvitationModel().acceptInvitation(invitation, currentUser, email)

            if invitation.get('role', 'user') == 'editor' or invitation.get('role', 'user') == 'manager':
                InvitationModel().accessToDuplicatedApplets(invitation, currentUser, email)

        InvitationModel().remove(invitation)

        return profile
 def acceptInvitationByToken(self, invitation, email, token):
     """
     Accept an invitation.
     """
     currentUser = Token().load(token,
                                force=True,
                                objectId=False,
                                exc=False).get('userId', None)
     if currentUser is not None:
         currentUser = UserModel().load(currentUser, force=True)
     if currentUser is None:
         raise AccessException("Invalid token.")
     return (InvitationModel().acceptInvitation(invitation, currentUser,
                                                email))
Example #6
0
 def acceptInvitationByToken(self, invitation, token):
     """
     Accept an invitation.
     """
     currentUser = Token().load(token,
                                force=True,
                                objectId=False,
                                exc=False).get('userId')
     if currentUser is not None:
         currentUser = UserModel().load(currentUser, force=True)
     if currentUser is None:
         raise AccessException(
             "You must be logged in to accept an invitation.")
     return (InvitationModel().acceptInvitation(invitation, currentUser))
 def declineInvitation(self, invitation):
     """
     Decline an invitation.
     """
     InvitationModel().remove(invitation)
     return ("Successfully deleted invitation.")