mirror of
https://github.com/documenso/documenso.git
synced 2025-11-14 08:42:12 +10:00
fix: improve recipient status display
Improves the display of the recipients status when distribution method is set to none. Previously we had a ton of checks for sendStatus = SENT which will never trigger when distributing manually causing some confusion.
This commit is contained in:
@ -1,5 +1,11 @@
|
|||||||
import type { Recipient } from '@documenso/prisma/client';
|
import type { Recipient } from '@documenso/prisma/client';
|
||||||
import { ReadStatus, RecipientRole, SendStatus, SigningStatus } from '@documenso/prisma/client';
|
import {
|
||||||
|
DocumentDistributionMethod,
|
||||||
|
ReadStatus,
|
||||||
|
RecipientRole,
|
||||||
|
SendStatus,
|
||||||
|
SigningStatus,
|
||||||
|
} from '@documenso/prisma/client';
|
||||||
|
|
||||||
export enum RecipientStatusType {
|
export enum RecipientStatusType {
|
||||||
COMPLETED = 'completed',
|
COMPLETED = 'completed',
|
||||||
@ -9,11 +15,11 @@ export enum RecipientStatusType {
|
|||||||
REJECTED = 'rejected',
|
REJECTED = 'rejected',
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getRecipientType = (recipient: Recipient) => {
|
export const getRecipientType = (
|
||||||
if (
|
recipient: Recipient,
|
||||||
recipient.role === RecipientRole.CC ||
|
distributionMethod: DocumentDistributionMethod = DocumentDistributionMethod.EMAIL,
|
||||||
(recipient.sendStatus === SendStatus.SENT && recipient.signingStatus === SigningStatus.SIGNED)
|
) => {
|
||||||
) {
|
if (recipient.role === RecipientRole.CC || recipient.signingStatus === SigningStatus.SIGNED) {
|
||||||
return RecipientStatusType.COMPLETED;
|
return RecipientStatusType.COMPLETED;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -22,7 +28,6 @@ export const getRecipientType = (recipient: Recipient) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
recipient.sendStatus === SendStatus.SENT &&
|
|
||||||
recipient.readStatus === ReadStatus.OPENED &&
|
recipient.readStatus === ReadStatus.OPENED &&
|
||||||
recipient.signingStatus === SigningStatus.NOT_SIGNED
|
recipient.signingStatus === SigningStatus.NOT_SIGNED
|
||||||
) {
|
) {
|
||||||
@ -30,6 +35,7 @@ export const getRecipientType = (recipient: Recipient) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
|
distributionMethod === DocumentDistributionMethod.EMAIL &&
|
||||||
recipient.sendStatus === SendStatus.SENT &&
|
recipient.sendStatus === SendStatus.SENT &&
|
||||||
recipient.signingStatus === SigningStatus.NOT_SIGNED
|
recipient.signingStatus === SigningStatus.NOT_SIGNED
|
||||||
) {
|
) {
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import { DOCUMENT_AUDIT_LOG_TYPE } from '@documenso/lib/types/document-audit-log
|
|||||||
import type { RequestMetadata } from '@documenso/lib/universal/extract-request-metadata';
|
import type { RequestMetadata } from '@documenso/lib/universal/extract-request-metadata';
|
||||||
import { createDocumentAuditLogData } from '@documenso/lib/utils/document-audit-logs';
|
import { createDocumentAuditLogData } from '@documenso/lib/utils/document-audit-logs';
|
||||||
import { prisma } from '@documenso/prisma';
|
import { prisma } from '@documenso/prisma';
|
||||||
import { ReadStatus } from '@documenso/prisma/client';
|
import { ReadStatus, SendStatus } from '@documenso/prisma/client';
|
||||||
import { WebhookTriggerEvents } from '@documenso/prisma/client';
|
import { WebhookTriggerEvents } from '@documenso/prisma/client';
|
||||||
|
|
||||||
import type { TDocumentAccessAuthTypes } from '../../types/document-auth';
|
import type { TDocumentAccessAuthTypes } from '../../types/document-auth';
|
||||||
@ -39,6 +39,8 @@ export const viewedDocument = async ({
|
|||||||
id: recipient.id,
|
id: recipient.id,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
|
// This handles cases where distribution is done manually
|
||||||
|
sendStatus: SendStatus.SENT,
|
||||||
readStatus: ReadStatus.OPENED,
|
readStatus: ReadStatus.OPENED,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user