mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-09-07 09:21:24 +08:00
@@ -118,7 +118,10 @@ export class TeamWorkspaceResolver {
|
|||||||
? WorkspaceMemberStatus.NeedMoreSeat
|
? WorkspaceMemberStatus.NeedMoreSeat
|
||||||
: WorkspaceMemberStatus.Pending
|
: WorkspaceMemberStatus.Pending
|
||||||
);
|
);
|
||||||
if (!needMoreSeat && sendInviteMail) {
|
// NOTE: we always send email even seat not enough
|
||||||
|
// because at this moment we cannot know whether the seat increase charge was successful
|
||||||
|
// after user click the invite link, we can check again and reject if charge failed
|
||||||
|
if (sendInviteMail) {
|
||||||
try {
|
try {
|
||||||
await this.workspaceService.sendInviteMail(ret.inviteId, email);
|
await this.workspaceService.sendInviteMail(ret.inviteId, email);
|
||||||
ret.sentSuccess = true;
|
ret.sentSuccess = true;
|
||||||
@@ -311,14 +314,6 @@ export class TeamWorkspaceResolver {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnEvent('workspace.team.seatAvailable')
|
|
||||||
async onSeatAvailable(payload: EventPayload<'workspace.team.seatAvailable'>) {
|
|
||||||
// send invite mail when seat is available for NeedMoreSeat member
|
|
||||||
for (const { inviteId, email } of payload) {
|
|
||||||
await this.workspaceService.sendInviteMail(inviteId, email);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@OnEvent('workspace.team.reviewRequest')
|
@OnEvent('workspace.team.reviewRequest')
|
||||||
async onReviewRequest({
|
async onReviewRequest({
|
||||||
inviteIds,
|
inviteIds,
|
||||||
|
|||||||
+18
-17
@@ -215,23 +215,24 @@ const MemberItem = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
const getMemberStatus = (member: Member): I18nString => {
|
const getMemberStatus = (member: Member): I18nString => {
|
||||||
if (member.status === WorkspaceMemberStatus.Pending) {
|
switch (member.status) {
|
||||||
return 'Pending';
|
case WorkspaceMemberStatus.NeedMoreSeat:
|
||||||
} else if (member.status === WorkspaceMemberStatus.UnderReview) {
|
case WorkspaceMemberStatus.NeedMoreSeatAndReview:
|
||||||
return 'Under-Review';
|
case WorkspaceMemberStatus.Pending:
|
||||||
} else if (member.status === WorkspaceMemberStatus.Accepted) {
|
return 'Pending';
|
||||||
switch (member.permission) {
|
case WorkspaceMemberStatus.UnderReview:
|
||||||
case Permission.Owner:
|
return 'Under-Review';
|
||||||
return 'Workspace Owner';
|
case WorkspaceMemberStatus.Accepted:
|
||||||
case Permission.Admin:
|
switch (member.permission) {
|
||||||
return 'Admin';
|
case Permission.Owner:
|
||||||
case Permission.Write:
|
return 'Workspace Owner';
|
||||||
return 'Collaborator';
|
case Permission.Admin:
|
||||||
default:
|
return 'Admin';
|
||||||
return 'Member';
|
case Permission.Write:
|
||||||
}
|
return 'Collaborator';
|
||||||
} else {
|
default:
|
||||||
return 'Need-More-Seats';
|
return 'Member';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
+5
-1
@@ -181,7 +181,11 @@ export const MemberOptions = ({
|
|||||||
onClick: handleRevoke,
|
onClick: handleRevoke,
|
||||||
show:
|
show:
|
||||||
(isAdmin || isOwner) &&
|
(isAdmin || isOwner) &&
|
||||||
member.status === WorkspaceMemberStatus.Pending,
|
[
|
||||||
|
WorkspaceMemberStatus.NeedMoreSeat,
|
||||||
|
WorkspaceMemberStatus.NeedMoreSeatAndReview,
|
||||||
|
WorkspaceMemberStatus.Pending,
|
||||||
|
].includes(member.status),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: t['com.affine.payment.member.team.remove'](),
|
label: t['com.affine.payment.member.team.remove'](),
|
||||||
|
|||||||
Reference in New Issue
Block a user