From 7658007d67c5c2bc1d81bff4bf972b315cb5bea6 Mon Sep 17 00:00:00 2001 From: sebdet Date: Sun, 23 Feb 2020 09:31:04 -0800 Subject: Simplify the user management Simplify the user management and fix a bug in the server, crashing when no user are logged and an operation is requested, and also previous user still stored in the securitycontext when admin is logged (due to static variable) Issue-ID: CLAMP-651 Change-Id: I57523bc2c3afaf5ca5a3acf5c59823df06fd4cd9 Signed-off-by: sebdet --- ui-react/src/api/UserService.js | 6 +- ui-react/src/components/dialogs/UserInfoModal.js | 66 ++++------------------ .../src/components/dialogs/UserInfoModal.test.js | 18 ++---- .../__snapshots__/UserInfoModal.test.js.snap | 24 +------- 4 files changed, 23 insertions(+), 91 deletions(-) (limited to 'ui-react') diff --git a/ui-react/src/api/UserService.js b/ui-react/src/api/UserService.js index 8da6e3a71..5703fdcc7 100644 --- a/ui-react/src/api/UserService.js +++ b/ui-react/src/api/UserService.js @@ -74,7 +74,7 @@ export default class UserService { } static getUserInfo() { - return fetch('/restservices/clds/v1/clds/cldsInfo', { + return fetch('/restservices/clds/v2/clampInformation', { method: 'GET', credentials: 'same-origin' }) @@ -82,6 +82,8 @@ export default class UserService { console.debug("getUserInfo response received, status code:", response.status); if (response.ok) { return response.json(); + } else { + return {} } }) .then(function (data) { @@ -91,7 +93,7 @@ export default class UserService { .catch(function(error) { console.warn("getUserInfo error received, user set to: ",UserService.notLoggedUserName); console.error("getUserInfo error:",error); - return; + return {}; }); } } diff --git a/ui-react/src/components/dialogs/UserInfoModal.js b/ui-react/src/components/dialogs/UserInfoModal.js index 1273d87c0..4b779dece 100644 --- a/ui-react/src/components/dialogs/UserInfoModal.js +++ b/ui-react/src/components/dialogs/UserInfoModal.js @@ -39,12 +39,7 @@ export default class UserInfoModal extends React.Component { super(props, context); this.handleClose = this.handleClose.bind(this); - this.renderReadTemplatePermission = this.renderReadTemplatePermission.bind(this); - this.renderReadModelPermission = this.renderReadModelPermission.bind(this); - this.renderReadToscaPermission = this.renderReadToscaPermission.bind(this); - this.renderUpdateTemplatePermission = this.renderUpdateTemplatePermission.bind(this); - this.renderUpdateModelPermission = this.renderUpdateModelPermission.bind(this); - this.renderUpdateToscaPermission = this.renderUpdateToscaPermission.bind(this); + this.renderPermissions = this.renderPermissions.bind(this); this.renderUserName = this.renderUserName.bind(this); this.state = { show: true, @@ -60,48 +55,16 @@ export default class UserInfoModal extends React.Component { handleClose() { this.props.history.push('/'); } - renderReadTemplatePermission() { - if (this.state.userInfo["permissionReadTemplate"]) { - return - } else { - return; - } - } - renderReadModelPermission() { - if (this.state.userInfo["permissionReadCl"]) { - return - } else { - return; - } - } - renderReadToscaPermission() { - if (this.state.userInfo["permissionReadTosca"]) { - return - } else { - return; - } - } - renderUpdateTemplatePermission() { - if (this.state.userInfo["permissionUpdateTemplate"]) { - return - } else { - return; - } - } - renderUpdateModelPermission() { - if (this.state.userInfo["permissionUpdateCl"]) { - return - } else { - return; - } - } - renderUpdateToscaPermission() { - if (this.state.userInfo["permissionUpdateTosca"]) { - return - } else { - return; - } - } + renderPermissions() { + if (this.state.userInfo["allPermissions"]) { + var listOfPermissions = this.state.userInfo["allPermissions"].map(function(perm) { + return ; + }) + return listOfPermissions; + } else { + return; + } + } renderUserName() { if (this.state.userInfo["userName"]) { return @@ -134,12 +97,7 @@ export default class UserInfoModal extends React.Component { User Permissions: - {this.renderReadTemplatePermission()} - {this.renderReadModelPermission()} - {this.renderReadToscaPermission()} - {this.renderUpdateTemplatePermission()} - {this.renderUpdateModelPermission()} - {this.renderUpdateToscaPermission()} + {this.renderPermissions()} diff --git a/ui-react/src/components/dialogs/UserInfoModal.test.js b/ui-react/src/components/dialogs/UserInfoModal.test.js index b5a2b272e..f5ed0ae10 100644 --- a/ui-react/src/components/dialogs/UserInfoModal.test.js +++ b/ui-react/src/components/dialogs/UserInfoModal.test.js @@ -46,12 +46,7 @@ describe('Verify UserInfoModal', () => { component.setState({ userInfo: { "userName": "test", "cldsVersion": "1.0.0", - "permissionReadCl": true, - "permissionReadTemplate" : true, - "permissionReadTosca" : true, - "permissionUpdateTemplate" : true, - "permissionUpdateCl" : true, - "permissionUpdateTosca": true + "allPermissions": ["permission1","permission2"] }}); expect(component).toMatchSnapshot(); }); @@ -69,18 +64,15 @@ describe('Verify UserInfoModal', () => { component.setState({ userInfo: { "userName": "test", "cldsVersion": "1.0.0", - "permissionReadCl": true, - "permissionReadTemplate" : true, - "permissionReadTosca" : true + "allPermissions": ["permission1","permission2"] }}); - expect(component.find('FormControl').length).toEqual(5); + expect(component.find('FormControl').length).toEqual(4); const forms = component.find('FormControl'); expect(forms.get(0).props.defaultValue).toEqual("test"); expect(forms.get(1).props.defaultValue).toEqual("1.0.0"); - expect(forms.get(2).props.defaultValue).toEqual("Read Template"); - expect(forms.get(3).props.defaultValue).toEqual("Read Model"); - expect(forms.get(4).props.defaultValue).toEqual("Read Tosca"); + expect(forms.get(2).props.defaultValue).toEqual("permission1"); + expect(forms.get(3).props.defaultValue).toEqual("permission2"); }); }); diff --git a/ui-react/src/components/dialogs/__snapshots__/UserInfoModal.test.js.snap b/ui-react/src/components/dialogs/__snapshots__/UserInfoModal.test.js.snap index fdb24a430..bd05e8635 100644 --- a/ui-react/src/components/dialogs/__snapshots__/UserInfoModal.test.js.snap +++ b/ui-react/src/components/dialogs/__snapshots__/UserInfoModal.test.js.snap @@ -90,32 +90,12 @@ exports[`Verify UserInfoModal Test the render method full permission 1`] = ` - - - - -- cgit 1.2.3-korg