mirror of
https://github.com/documenso/documenso.git
synced 2026-07-25 09:25:08 +10:00
Merge branch 'main' into fix/cc-recipient-order-last
This commit is contained in:
@@ -355,6 +355,14 @@ export const formatDocumentAuditLogAction = (i18n: I18n, auditLog: TDocumentAudi
|
||||
you: msg`You deleted the document`,
|
||||
user: msg`${user} deleted the document`,
|
||||
}))
|
||||
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_CANCELLED }, () => ({
|
||||
anonymous: msg({
|
||||
message: `Document cancelled`,
|
||||
context: `Audit log format`,
|
||||
}),
|
||||
you: msg`You cancelled the document`,
|
||||
user: msg`${user} cancelled the document`,
|
||||
}))
|
||||
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_FIELDS_AUTO_INSERTED }, () => ({
|
||||
anonymous: msg({
|
||||
message: `System auto inserted fields`,
|
||||
|
||||
@@ -12,7 +12,9 @@ import { mapRecipientToLegacyRecipient } from './recipients';
|
||||
export const isDocumentCompleted = (document: Pick<Envelope, 'status'> | DocumentStatus) => {
|
||||
const status = typeof document === 'string' ? document : document.status;
|
||||
|
||||
return status === DocumentStatus.COMPLETED || status === DocumentStatus.REJECTED;
|
||||
return (
|
||||
status === DocumentStatus.COMPLETED || status === DocumentStatus.REJECTED || status === DocumentStatus.CANCELLED
|
||||
);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -242,12 +242,13 @@ export const getEnvelopeItemPermissions = (
|
||||
envelope: Pick<Envelope, 'completedAt' | 'deletedAt' | 'type' | 'status'>,
|
||||
recipients: Pick<Recipient, 'role' | 'signingStatus' | 'sendStatus'>[],
|
||||
): EnvelopeItemPermissions => {
|
||||
// Always reject completed/rejected/deleted envelopes.
|
||||
// Always reject completed/rejected/cancelled/deleted envelopes.
|
||||
if (
|
||||
envelope.completedAt ||
|
||||
envelope.deletedAt ||
|
||||
envelope.status === DocumentStatus.REJECTED ||
|
||||
envelope.status === DocumentStatus.COMPLETED
|
||||
envelope.status === DocumentStatus.COMPLETED ||
|
||||
envelope.status === DocumentStatus.CANCELLED
|
||||
) {
|
||||
return {
|
||||
canTitleBeChanged: false,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { TeamGroup, TeamMemberRole } from '@documenso/prisma/generated/types';
|
||||
import { type TeamGroup, TeamMemberRole } from '@documenso/prisma/generated/types';
|
||||
import type { DocumentVisibility, OrganisationGlobalSettings, Prisma, TeamGlobalSettings } from '@prisma/client';
|
||||
|
||||
import { NEXT_PUBLIC_WEBAPP_URL } from '../constants/app';
|
||||
@@ -235,3 +235,11 @@ export const extractDerivedTeamSettings = (
|
||||
|
||||
return derivedSettings;
|
||||
};
|
||||
|
||||
export const isMemberManagerOrAbove = (role: TeamMemberRole) => {
|
||||
return role === TeamMemberRole.ADMIN || role === TeamMemberRole.MANAGER;
|
||||
};
|
||||
|
||||
export const isMemberAdmin = (role: TeamMemberRole) => {
|
||||
return role === TeamMemberRole.ADMIN;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user