From d4517bbbdb50b90db1535dcf559974477d4976a5 Mon Sep 17 00:00:00 2001 From: Victor Ilyushchenko Date: Mon, 21 Apr 2025 12:25:27 +0300 Subject: [PATCH] EQMS-1484: Fixed permission checks when sending a QMS document for approval from the Workflow Validation tab (#8628) Signed-off-by: Victor Ilyushchenko --- .../right-panel/DocumentApprovalGuideItem.svelte | 7 +++++-- .../right-panel/DocumentApprovalsTab.svelte | 6 ++++-- .../stores/editors/document/canSendForApproval.ts | 14 ++++++++++++-- .../stores/editors/document/canSendForReview.ts | 5 +++-- 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/plugins/controlled-documents-resources/src/components/document/right-panel/DocumentApprovalGuideItem.svelte b/plugins/controlled-documents-resources/src/components/document/right-panel/DocumentApprovalGuideItem.svelte index 49a007d959..75f66fb04c 100644 --- a/plugins/controlled-documents-resources/src/components/document/right-panel/DocumentApprovalGuideItem.svelte +++ b/plugins/controlled-documents-resources/src/components/document/right-panel/DocumentApprovalGuideItem.svelte @@ -1,5 +1,5 @@ diff --git a/plugins/controlled-documents-resources/src/stores/editors/document/canSendForApproval.ts b/plugins/controlled-documents-resources/src/stores/editors/document/canSendForApproval.ts index da89eedd2f..34d4257aa1 100644 --- a/plugins/controlled-documents-resources/src/stores/editors/document/canSendForApproval.ts +++ b/plugins/controlled-documents-resources/src/stores/editors/document/canSendForApproval.ts @@ -17,7 +17,14 @@ import { ControlledDocumentState, DocumentState } from '@hcengineering/controlle import { TrainingState } from '@hcengineering/training' import { combine } from 'effector' import { $documentComments } from './documentComments' -import { $controlledDocument, $documentState, $isLatestVersion, $reviewRequestHistory, $training } from './editor' +import { + $controlledDocument, + $documentState, + $isDocumentOwner, + $isLatestVersion, + $reviewRequestHistory, + $training +} from './editor' export const $canSendForApproval = combine( $controlledDocument, @@ -26,7 +33,10 @@ export const $canSendForApproval = combine( $documentComments, $training, $reviewRequestHistory, - (document, isLatestVersion, state, comments, training, reviewHistory) => { + $isDocumentOwner, + (document, isLatestVersion, state, comments, training, reviewHistory, isDocumentOwner) => { + if (!isDocumentOwner) return false + let haveBeenReviewedOnce = false if (document !== null) { const reviews = (reviewHistory ?? []).filter((review) => review.attachedTo === document._id) diff --git a/plugins/controlled-documents-resources/src/stores/editors/document/canSendForReview.ts b/plugins/controlled-documents-resources/src/stores/editors/document/canSendForReview.ts index 6203507e2e..b91b107e02 100644 --- a/plugins/controlled-documents-resources/src/stores/editors/document/canSendForReview.ts +++ b/plugins/controlled-documents-resources/src/stores/editors/document/canSendForReview.ts @@ -15,10 +15,11 @@ import { DocumentState } from '@hcengineering/controlled-documents' import { combine } from 'effector' -import { $documentState, $isLatestVersion } from './editor' +import { $documentState, $isDocumentOwner, $isLatestVersion } from './editor' export const $canSendForReview = combine( $isLatestVersion, $documentState, - (isLatestVersion, state) => isLatestVersion && state === DocumentState.Draft + $isDocumentOwner, + (isLatestVersion, state, isDocumentOwner) => isLatestVersion && state === DocumentState.Draft && isDocumentOwner )