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 8da6e3a7..5703fdcc 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 1273d87c..4b779dec 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 b5a2b272..f5ed0ae1 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 fdb24a43..bd05e863 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