diff --git a/web/frontend/src/generic/helper/TagManagement.svelte b/web/frontend/src/generic/helper/TagManagement.svelte index 7bf9197..5121921 100644 --- a/web/frontend/src/generic/helper/TagManagement.svelte +++ b/web/frontend/src/generic/helper/TagManagement.svelte @@ -104,8 +104,8 @@ }; $: allTagsFiltered = ($initialized, fuzzySearchTags(filterTerm, allTags)); - $: usedTagsFiltered = matchJobTags(jobTags, allTagsFiltered, 'used'); - $: unusedTagsFiltered = matchJobTags(jobTags, allTagsFiltered, 'unused'); + $: usedTagsFiltered = matchJobTags(jobTags, allTagsFiltered, 'used', isAdmin); + $: unusedTagsFiltered = matchJobTags(jobTags, allTagsFiltered, 'unused', isAdmin); $: { newTagType = ""; @@ -117,12 +117,14 @@ } } - function matchJobTags(tags, availableTags, type) { + function matchJobTags(tags, availableTags, type, isAdmin) { const jobTagIds = tags.map((t) => t.id) if (type == 'used') { return availableTags.filter((at) => jobTagIds.includes(at.id)) - } else if (type == 'unused') { + } else if (type == 'unused' && isAdmin) { return availableTags.filter((at) => !jobTagIds.includes(at.id)) + } else if (type == 'unused' && !isAdmin) { // Normal Users should not see unused global tags here + return availableTags.filter((at) => !jobTagIds.includes(at.id) && at.scope !== "global") } return [] } @@ -209,13 +211,34 @@ {#if pendingChange === utag.id} {:else} - + {#if utag.scope === 'global' || utag.scope === 'admin'} + {#if isAdmin} + + {:else} + + {/if} + {:else} + + {/if} {/if} @@ -245,13 +268,25 @@ {#if pendingChange === uutag.id} {:else} - + {#if uutag.scope === 'global' || uutag.scope === 'admin'} + {#if isAdmin} + + {/if} + {:else} + + {/if} {/if} @@ -345,13 +380,25 @@ {#if pendingChange === utag.id} {:else} - + {#if utag.scope === 'global' || utag.scope === 'admin'} + {#if isAdmin} + + {/if} + {:else} + + {/if} {/if} @@ -381,13 +428,25 @@ {#if pendingChange === uutag.id} {:else} - + {#if uutag.scope === 'global' || uutag.scope === 'admin'} + {#if isAdmin} + + {/if} + {:else} + + {/if} {/if}