X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FUI.git;a=blobdiff_plain;f=skyquake%2Fplugins%2Fproject_management%2Fsrc%2Fdashboard%2FprojectMgmtStore.js;h=70f5f2f614dc76c05f9158affeccecab0859e9d5;hp=b3e55ad6ce395d96efa5dac756af7036d5d505f6;hb=0d4ddf409b399a2caa75726be8d04ce6fe89b2c8;hpb=c939d026fe2116d17370970e9359e93a440a5a5f diff --git a/skyquake/plugins/project_management/src/dashboard/projectMgmtStore.js b/skyquake/plugins/project_management/src/dashboard/projectMgmtStore.js index b3e55ad6c..70f5f2f61 100644 --- a/skyquake/plugins/project_management/src/dashboard/projectMgmtStore.js +++ b/skyquake/plugins/project_management/src/dashboard/projectMgmtStore.js @@ -16,7 +16,9 @@ export default class ProjectManagementStore { this.projectUsers = []; this.selectedUser = null; this.selectedRole = null; - this.roles = Object.keys(ROLES.PROJECT).map((p) => { + this.roles = Object.keys(ROLES.PROJECT).filter((p) => { + return p != "TYPE"; + }).map((p) => { return ROLES.PROJECT[p]; }) // this.roles = ['rw-project:project-admin', 'rw-project:project-oper', 'rw-project:project-create']; @@ -172,9 +174,26 @@ export default class ProjectManagementStore { let projectUsers = this.projectUsers; let selectedRole = self.roles[roleIndex]; if(checked) { - if(!projectUsers[userIndex].role) projectUsers[userIndex].role = []; + if (!projectUsers[userIndex].role) { + projectUsers[userIndex].role = []; + } + if (!projectUsers[userIndex]['rw-project-mano:mano-role']) { + projectUsers[userIndex]['rw-project-mano:mano-role'] = []; + } + switch (ROLES.PROJECT.TYPE[self.roles[roleIndex]]) { + case 'rw-project' : + projectUsers[userIndex].role.push({ + role: selectedRole + }); + break; + case 'rw-project-mano' : + projectUsers[userIndex]["rw-project-mano:mano-role"].push({ + role: selectedRole + }); + break; + } projectUsers[userIndex].role.push({ - role: self.roles[roleIndex] + role: selectedRole }) } else { let role = projectUsers[userIndex].role;