diff --git a/frontend/src/pages/sys-admin/invitations/invitations.js b/frontend/src/pages/sys-admin/invitations/invitations.js index 42f35534fd..fcb228b7f2 100644 --- a/frontend/src/pages/sys-admin/invitations/invitations.js +++ b/frontend/src/pages/sys-admin/invitations/invitations.js @@ -275,7 +275,7 @@ class Invitations extends Component { deleteItemInBatch = () => { seafileAPI.sysAdminDeleteExpiredInvitations().then(res => { const prevItems = this.state.items; - const items = this.state.items.filter(item => !item.is_expired); + const items = this.state.items.filter(item => !item.is_expired || item.accept_time); if (items.length < prevItems.length) { this.setState({ items: items diff --git a/seahub/invitations/models.py b/seahub/invitations/models.py index 33caf20060..a04e5b380f 100644 --- a/seahub/invitations/models.py +++ b/seahub/invitations/models.py @@ -30,7 +30,7 @@ class InvitationManager(models.Manager): self).filter(inviter=inviter).order_by('-invite_time') def delete_all_expire_invitation(self): - super(InvitationManager, self).filter(expire_time__lte=timezone.now()).delete() + super(InvitationManager, self).filter(expire_time__lte=timezone.now(), accept_time__isnull=True).delete() def get_by_token(self, token): qs = self.filter(token=token)