fix: Allow devops role to use all_workspaces runs filter in admins workspace (#9153)

Co-authored-by: windmill-internal-app[bot] <1429786+windmill-internal-app[bot]@users.noreply.github.com>
This commit is contained in:
windmill-internal-app[bot]
2026-05-13 15:12:11 +00:00
committed by GitHub
co-authored by windmill-internal-app[bot]
parent c5092069cb
commit 110bef0a6e
2 changed files with 10 additions and 10 deletions
+3 -3
View File
@@ -10,7 +10,7 @@
} from '$lib/gen'
import { sendUserToast } from '$lib/toast'
import { userStore, workspaceStore, userWorkspaces, superadmin } from '$lib/stores'
import { userStore, workspaceStore, userWorkspaces, superadmin, devopsRole } from '$lib/stores'
import {
Button,
ButtonType,
@@ -82,7 +82,7 @@
usernames,
folders,
jobTriggerKinds,
isSuperAdmin: !!$superadmin,
isSuperAdminOrDevops: !!$superadmin || !!$devopsRole,
isAdminsWorkspace: $workspaceStore === 'admins'
})
)
@@ -750,7 +750,7 @@
)}
schema={runsFilterSearchbarSchema}
presets={buildRunsFilterPresets({
isSuperadmin: !!$superadmin,
isSuperAdminOrDevops: !!$superadmin || !!$devopsRole,
isAdminsWorkspace: $workspaceStore === 'admins'
})}
bind:value={filters.val}
@@ -23,14 +23,14 @@ export function buildRunsFilterSearchbarSchema({
usernames,
folders,
jobTriggerKinds,
isSuperAdmin,
isSuperAdminOrDevops,
isAdminsWorkspace
}: {
paths: string[]
usernames: string[]
folders: string[]
jobTriggerKinds: JobTriggerKind[]
isSuperAdmin: boolean
isSuperAdminOrDevops: boolean
isAdminsWorkspace: boolean
}) {
return {
@@ -206,12 +206,12 @@ export function buildRunsFilterSearchbarSchema({
label: 'Show future jobs (Default: true)',
description: 'Include jobs that are planned later'
},
...(isSuperAdmin &&
...(isSuperAdminOrDevops &&
isAdminsWorkspace && {
all_workspaces: {
type: 'boolean' as const,
label: 'All workspaces',
description: 'Show jobs of all workspaces (superadmin only)'
description: 'Show jobs of all workspaces (superadmin or devops only)'
}
})
} satisfies FilterSchemaRec
@@ -230,16 +230,16 @@ export function allowWildcards(filters: Partial<RunsFilterInstance> | undefined)
}
export const buildRunsFilterPresets = ({
isSuperadmin,
isSuperAdminOrDevops,
isAdminsWorkspace
}: {
isSuperadmin: boolean
isSuperAdminOrDevops: boolean
isAdminsWorkspace: boolean
}) => [
{ name: 'Hide schedules', value: 'job_trigger_kind:\\ !schedule' },
{ name: 'Hide future jobs', value: 'show_future_jobs:\\ false' },
{ name: 'Show skipped', value: 'show_skipped:\\ true' },
...(isSuperadmin && isAdminsWorkspace
...(isSuperAdminOrDevops && isAdminsWorkspace
? [{ name: 'All workspaces', value: 'all_workspaces:\\ true' }]
: [])
]