mirror of
https://github.com/ClusterCockpit/cc-backend
synced 2025-07-26 22:26:08 +02:00
Add 'project' to user table, add 'manager' role, conditional web render
- Addresses issues #40 #45 #82 - Reworked Navigation Header for all roles - 'Manager' role added, can be assigned a project-id in config by admins - BREAKING! -> Added 'project' column in SQLite3 table 'user' - Manager-Assigned project will be added to all graphql filters: Only show Jobs and Users of given project - 'My Jobs' Tab for all Roles - Switched from Bool "isAdmin" to integer authLevels - Removed critical data frontend logging - Reworked repo.query.SecurityCheck()
This commit is contained in:
@@ -23,10 +23,20 @@
|
||||
export let sorting = { field: "startTime", order: "DESC" }
|
||||
export let matchedJobs = 0
|
||||
export let metrics = ccconfig.plot_list_selectedMetrics
|
||||
export let project
|
||||
export let isManager
|
||||
|
||||
let itemsPerPage = ccconfig.plot_list_jobsPerPage
|
||||
let page = 1
|
||||
let paging = { itemsPerPage, page }
|
||||
let filter = []
|
||||
|
||||
//Setup default filter
|
||||
if (isManager == true && project != '') {
|
||||
filter.push({project: {eq: project}})
|
||||
} else if (isManager == true && project == '') {
|
||||
filter.push({project: {eq: "noProjectForManager"}})
|
||||
}
|
||||
|
||||
const jobs = operationStore(`
|
||||
query($filter: [JobFilter!]!, $sorting: OrderByInput!, $paging: PageRequest! ){
|
||||
@@ -45,7 +55,7 @@
|
||||
}`, {
|
||||
paging,
|
||||
sorting,
|
||||
filter: []
|
||||
filter,
|
||||
}, {
|
||||
pause: true
|
||||
})
|
||||
@@ -67,8 +77,15 @@
|
||||
filters.push({ minRunningFor })
|
||||
}
|
||||
|
||||
// (Re-)Add Manager-Filter
|
||||
if (isManager == true && project != '') {
|
||||
filters.push({project: {eq: project}})
|
||||
} else if (isManager == true && project == '') {
|
||||
filters.push({project: {eq: "noProjectForManager"}})
|
||||
}
|
||||
|
||||
$jobs.variables.filter = filters
|
||||
console.log('filters:', ...filters.map(f => Object.entries(f)).flat(2))
|
||||
// console.log('filters:', ...filters.map(f => Object.entries(f)).flat(2))
|
||||
}
|
||||
|
||||
page = 1
|
||||
|
Reference in New Issue
Block a user