diff --git a/plugins/tracker-resources/src/components/issues/edit/EditIssue.svelte b/plugins/tracker-resources/src/components/issues/edit/EditIssue.svelte index bd3dd4333bc..bf7de0a5db4 100644 --- a/plugins/tracker-resources/src/components/issues/edit/EditIssue.svelte +++ b/plugins/tracker-resources/src/components/issues/edit/EditIssue.svelte @@ -47,6 +47,7 @@ import { createEventDispatcher, onDestroy } from 'svelte' import { generateIssueShortLink, getIssueIdByIdentifier } from '../../../issues' + import { canEditIssue } from '../../../utils' import tracker from '../../../plugin' import IssueStatusActivity from '../IssueStatusActivity.svelte' import ControlPanel from './ControlPanel.svelte' @@ -72,6 +73,18 @@ let descriptionBox: AttachmentStyleBoxCollabEditor let showAllMixins: boolean + let effectiveReadonly = true + $: if (issue !== undefined) { + const currentIssue = issue + void canEditIssue(currentIssue).then((canEdit) => { + if (issue === currentIssue) { + effectiveReadonly = readonly || !canEdit + } + }) + } else { + effectiveReadonly = readonly + } + const inboxClient = InboxNotificationsClientImpl.getClient() let issueId: Ref | undefined @@ -198,7 +211,7 @@ {#if saved} - {#if !readonly} + {#if !effectiveReadonly}