Add support for multiple projects per manager

- Handled like roles in admin view
- !! NEW COLUMN CHANGED TO "projects"
This commit is contained in:
Christoph Kluge
2023-02-17 15:45:31 +01:00
parent a2ebebd7f6
commit 397ab08b3b
27 changed files with 354 additions and 170 deletions

View File

@@ -23,7 +23,7 @@
export let sorting = { field: "startTime", order: "DESC" }
export let matchedJobs = 0
export let metrics = ccconfig.plot_list_selectedMetrics
export let project
export let projects = []
export let isManager
let itemsPerPage = ccconfig.plot_list_jobsPerPage
@@ -32,11 +32,15 @@
let filter = []
//Setup default filter
if (isManager == true && project != '') {
filter.push({project: {eq: project}})
} else if (isManager == true && project == '') {
filter.push({project: {eq: "noProjectForManager"}})
if (isManager == true && projects.length == 0) {
filter.push({ project: {eq: "noProjectForManager"} })
} else if (isManager == true && projects.length == 1) {
filter.push({ project: {eq: projects[0]} })
} else {
filter.push({ multiProject: projects })
}
const jobs = operationStore(`
query($filter: [JobFilter!]!, $sorting: OrderByInput!, $paging: PageRequest! ){
@@ -78,10 +82,12 @@
}
// (Re-)Add Manager-Filter
if (isManager == true && project != '') {
filters.push({project: {eq: project}})
} else if (isManager == true && project == '') {
filters.push({project: {eq: "noProjectForManager"}})
if (isManager == true && projects.length == 0) {
filter.push({ project: {eq: "noProjectForManager"} })
} else if (isManager == true && projects.length == 1) {
filter.push({ project: {eq: projects[0]} })
} else {
filter.push({ multiProject: projects })
}
$jobs.variables.filter = filters