X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=skyquake%2Fplugins%2Fuser_management%2Fsrc%2FplatformRoleManagement%2FplatformRoleManagementStore.js;h=8a5b7f84bae7d2f2ea8f42f7745228d384a4b60c;hb=1cf9754552bff8deccef6710bc2cd60f508939e9;hp=87eeb61c43689850d90c5174286aaef148b74abf;hpb=de8cda680ce17b1555789bf2f4d3145c0d4d4849;p=osm%2FUI.git diff --git a/skyquake/plugins/user_management/src/platformRoleManagement/platformRoleManagementStore.js b/skyquake/plugins/user_management/src/platformRoleManagement/platformRoleManagementStore.js index 87eeb61c4..8a5b7f84b 100644 --- a/skyquake/plugins/user_management/src/platformRoleManagement/platformRoleManagementStore.js +++ b/skyquake/plugins/user_management/src/platformRoleManagement/platformRoleManagementStore.js @@ -12,10 +12,10 @@ export default class PlatformRoleManagementStore { this.projects = []; this['name'] = ''; this['description'] = 'Some Description'; - this.projectUsers = []; + this.platformUsers = []; this.selectedUser = null; this.selectedRole = null; - this.roles = ['super_admin', 'operator_role' + this.roles = ['rw-rbac-platform:platform-admin', 'rw-rbac-platform:platform-oper', 'rw-rbac-platform:super-admin' // 'some_other_role', 'yet_another_role', 'operator_role', 'some_other_role', 'yet_another_role' ]; this.users = []; @@ -56,27 +56,18 @@ export default class PlatformRoleManagementStore { projectRoles }); } - viewProject(data) { - let project = data[0]; - let projectIndex = data[1]; - - let ProjectUser = { - 'name': project['name'], - 'description': project['description'], - 'projectUsers': project['project-config'] && project['project-config']['user'] || [] - } + editPlatform(isReadOnly) { let state = _.merge({ - activeIndex: projectIndex, - projectOpen: true, isEdit: true, - isReadOnly: true - }, ProjectUser); + isReadOnly: isReadOnly, + }, { + 'platformUsers': this.cachedUsers + }); this.setState(state) } - editProject(isEdit) { - this.setState({ - isReadOnly: isEdit - }) + + handleCancelEdit() { + } handleCloseProjectPanel() { this.setState({ @@ -136,7 +127,7 @@ export default class PlatformRoleManagementStore { projectOpen: true, activeIndex: null, isReadOnly: false, - projectUsers: [] + platformUsers: [] } )) } @@ -149,91 +140,96 @@ export default class PlatformRoleManagementStore { handleAddUser() { let u = JSON.parse(this.selectedUser); let r = this.selectedRole; - let projectUsers = this.projectUsers; + let platformUsers = this.platformUsers; console.log('adding user') - projectUsers.push({ + platformUsers.push({ 'user-name': u['user-name'], 'user-domain': u['user-domain'], "role":[{ - "role": r, - "keys": r + "role": r } ] }) - this.setState({projectUsers, selectedUser: null}) + this.setState({platformUsers, selectedUser: null}) } handleToggleUserRoleInProject(data) { let self = this; let {userIndex, roleIndex, checked} = data; - let projectUsers = this.projectUsers; + let platformUsers = this.platformUsers; let selectedRole = self.roles[roleIndex]; if(checked) { - projectUsers[userIndex].role.push({ - role: self.roles[roleIndex], - keys: self.roles[roleIndex] + if(!platformUsers[userIndex].role) platformUsers[userIndex].role = []; + platformUsers[userIndex].role.push({ + role: selectedRole }) } else { - let role = projectUsers[userIndex].role; - let roleIndex = _.findIndex(role, {role:selectedRole, keys: selectedRole}) - projectUsers[userIndex].role.splice(roleIndex, 1) + let role = platformUsers[userIndex].role; + platformUsers[userIndex].role.splice(_.findIndex(role, function(r) { return r.role == selectedRole; }), 1) } - self.setState({projectUsers}); + self.setState({platformUsers}); } handleUpdateUserRoleInProject(data) { let {userIndex, roleIndex, value} = data; - let projectUsers = this.projectUsers; - projectUsers[userIndex].role[roleIndex].role = value; - projectUsers[userIndex].role[roleIndex]['keys'] = value; + let platformUsers = this.platformUsers; + platformUsers[userIndex].role[roleIndex].role = value; } addRoleToUserInProject(userIndex) { - let projectUsers = this.projectUsers; - if(!projectUsers[userIndex].role) { - projectUsers[userIndex].role = []; + let platformUsers = this.platformUsers; + if(!platformUsers[userIndex].role) { + platformUsers[userIndex].role = []; } - projectUsers[userIndex].role.push({ - 'role': null, - //temp until we get actual keys - 'keys' : 'some key' + platformUsers[userIndex].role.push({ + 'role': null }); this.setState({ - projectUsers + platformUsers }) } handleRemoveRoleFromUserInProject (data) { let {userIndex, roleIndex} = data; - let projectUsers = this.projectUsers; - projectUsers[userIndex].role.splice(roleIndex, 1); + let platformUsers = this.platformUsers; + platformUsers[userIndex].role.splice(roleIndex, 1); this.setState({ - projectUsers + platformUsers }) } handleRemoveUserFromProject (userIndex) { - let projectUsers = this.projectUsers; - projectUsers.splice(userIndex, 1); + let platformUsers = this.platformUsers; + platformUsers.splice(userIndex, 1); this.setState({ - projectUsers + platformUsers }) } getProjectsSuccess(projects) { this.alt.actions.global.hideScreenLoader.defer(); this.setState({projects: projects}); } - getUsersSuccess(users) { + getPlatformSuccess(platform) { + this.alt.actions.global.hideScreenLoader.defer(); + let platformUsers = platform && platform.user || []; + let state = _.merge({ + platform: platform, + projectOpen: true, + isEdit: true, + isReadOnly: true, + platformUsers: platformUsers, + cachedUsers: platformUsers + }); + this.setState(state) + } + getPlatformRoleUsersSuccess(users) { console.log(users) this.alt.actions.global.hideScreenLoader.defer(); this.setState({users}); } - updateProjectSuccess() { + updatePlatformSuccess() { this.alt.actions.global.hideScreenLoader.defer(); - let projects = this.projects || []; - projects[this.activeIndex] = { - 'name': this['name'], - 'description': this['description'] - } + let platformUsers = this.platformUsers; this.setState({ - projects, + platformUsers, + cachedUsers: platformUsers, isEdit: true, isReadOnly: true })