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
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))
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))
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.")