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}