Update function to determine when invite can be resent and added lots of

tests
This commit is contained in:
leigh-mil
2018-12-14 10:03:41 -05:00
parent 93af6116c2
commit 9597966bcd
4 changed files with 127 additions and 25 deletions

View File

@@ -77,7 +77,10 @@ class Invitation(Base, TimestampsMixin, AuditableMixin):
@property
def is_expired(self):
return datetime.datetime.now(self.expiration_time.tzinfo) > self.expiration_time
return (
datetime.datetime.now(self.expiration_time.tzinfo) > self.expiration_time
and not self.status == Status.ACCEPTED
)
@property
def workspace(self):

View File

@@ -117,6 +117,10 @@ class WorkspaceRole(Base, mixins.TimestampsMixin, mixins.AuditableMixin):
def role_displayname(self):
return self.role.display_name
@property
def is_active(self):
return self.status == Status.ACTIVE
@property
def num_environment_roles(self):
return (
@@ -147,8 +151,13 @@ class WorkspaceRole(Base, mixins.TimestampsMixin, mixins.AuditableMixin):
@property
def can_resend_invitation(self):
return self.latest_invitation and (
self.latest_invitation.is_rejected or self.latest_invitation.is_expired
return not self.is_active and (
self.latest_invitation
and (
self.latest_invitation.is_rejected
or self.latest_invitation.is_expired
or self.latest_invitation.is_revoked
)
)