summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Lott (cl778h) <clott@research.att.com>2017-08-23 15:46:44 -0400
committerChristopher Lott (cl778h) <clott@research.att.com>2017-08-23 15:47:54 -0400
commit1683d7929869d7d5f9bda1ffad0ace619c507ce0 (patch)
tree181df2305e7b1d5960b6e0fc2c65a36eaa554068
parentf03552714077df2a3f11fe33a81342558dfe1705 (diff)
Repair role-centralization features in EPSDK
Issue: PORTAL-21 Change-Id: Icf276482609734d3aa24f04ae0a8135021a3d305 Signed-off-by: Christopher Lott (cl778h) <clott@research.att.com>
-rw-r--r--ecomp-sdk/epsdk-app-common/src/main/java/org/openecomp/portalapp/controller/core/ProfileController.java12
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/WEB-INF/fusion/orm/Fusion.hbm.xml4
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/admin-controller.js93
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/modals/role-fun-role-del-confirm.html6
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/modals/role-functions-modal.html8
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/role-function.html110
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/role.html134
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/role_list.html17
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-profile/modals/role-add.html63
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/styles/ecomp.css5
-rw-r--r--ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/service/LoginServiceCentralizedImpl.java13
-rw-r--r--ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/service/RestApiRequestBuilder.java4
-rw-r--r--ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/service/RoleServiceCentralizedAccess.java10
-rw-r--r--ecomp-sdk/epsdk-fw/src/main/java/org/openecomp/portalsdk/core/onboarding/rest/RestWebServiceClient.java7
14 files changed, 236 insertions, 250 deletions
diff --git a/ecomp-sdk/epsdk-app-common/src/main/java/org/openecomp/portalapp/controller/core/ProfileController.java b/ecomp-sdk/epsdk-app-common/src/main/java/org/openecomp/portalapp/controller/core/ProfileController.java
index f4132a9e..2f17ac68 100644
--- a/ecomp-sdk/epsdk-app-common/src/main/java/org/openecomp/portalapp/controller/core/ProfileController.java
+++ b/ecomp-sdk/epsdk-app-common/src/main/java/org/openecomp/portalapp/controller/core/ProfileController.java
@@ -28,6 +28,7 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
import org.json.JSONObject;
import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
@@ -37,6 +38,7 @@ import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
import org.openecomp.portalsdk.core.service.RoleService;
import org.openecomp.portalsdk.core.service.UserProfileService;
import org.openecomp.portalsdk.core.service.UserService;
+import org.openecomp.portalsdk.core.util.SystemProperties;
import org.openecomp.portalsdk.core.web.support.AppUtils;
import org.openecomp.portalsdk.core.web.support.JsonMessage;
import org.openecomp.portalsdk.core.web.support.UserUtils;
@@ -254,6 +256,11 @@ public class ProfileController extends RestrictedBaseController {
domainUser.removeRole(role.getId());
service.saveUser(domainUser);
+ /*If adding new roles on the current logged in user, we need to update the user value in session*/
+ if(UserUtils.getUserId(request)==Integer.valueOf(profileId)){
+ HttpSession session = request.getSession(true);
+ session.setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), domainUser);
+ }
logger.info(EELFLoggerDelegate.auditLogger, "Remove role " + role.getId() + " from user " + profileId);
response.setCharacterEncoding("UTF-8");
@@ -294,6 +301,11 @@ public class ProfileController extends RestrictedBaseController {
User domainUser = (User) userService.getUser(profileId);
domainUser.addRole(role);
service.saveUser(domainUser);
+ /*If removing roles on the current logged in user, we need to update the user value in session*/
+ if(UserUtils.getUserId(request)==Integer.valueOf(profileId)){
+ HttpSession session = request.getSession(true);
+ session.setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), domainUser);
+ }
logger.info(EELFLoggerDelegate.auditLogger, "Add new role " + role.getName() + " to user " + profileId);
response.setCharacterEncoding("UTF-8");
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/WEB-INF/fusion/orm/Fusion.hbm.xml b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/WEB-INF/fusion/orm/Fusion.hbm.xml
index e569972a..098a5857 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/WEB-INF/fusion/orm/Fusion.hbm.xml
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/WEB-INF/fusion/orm/Fusion.hbm.xml
@@ -385,5 +385,9 @@
<query name="getUserByProfileId">
select orgUserId from User where id = :user_id
</query>
+
+ <query name="getUserIdByorgUserId">
+ select id from User where orgUserId = :orgUserId
+ </query>
</hibernate-mapping>
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/admin-controller.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/admin-controller.js
index d7adaf36..dc59b6c7 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/admin-controller.js
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/admin-controller.js
@@ -7,17 +7,21 @@ appDS2.controller('adminController', function($scope, $http,AdminService, $modal
$scope.nextSort="";
$scope.showLoader = false;
$scope.tableData=[];
+ $scope.showLoader=false;
$scope.routeRoleId = $routeParams.roleId;
$scope.regions = [];
/*function*/
$scope.getFunctionList = function(){
$scope.tableData.length=0;
+ $scope.showLoader=true;
AdminService.getRoleFunctionList().then(function(data){
var j = data;
$scope.data = JSON.parse(j.data);
$scope.tableData =JSON.parse($scope.data.availableRoleFunctions);
},function(error){
console.log("failed");
+ }).finally(function() {
+ $scope.showLoader=false; // Always execute this on both error and success
});
}
@@ -605,29 +609,6 @@ appDS2.controller('adminController', function($scope, $http,AdminService, $modal
}
- /*$scope.showItemDetails = function(cacheName,key) {
- $http.get("jcs_admin/showItemDetails?keyName="+key+"&cacheName="+cacheName).success(function(response){
- var message = "CacheName: "+ response.cacheName
- +"\nkey: "+response.key
- +"\nIS_SPOOL: "+response.attr.IS_SPOOL
- +"\nIS_LATERAL: "+response.attr.IS_LATERAL
- +"\nIS_REMOTE: "+response.attr.IS_REMOTE
- +"\nIS_ETERNAL: "+response.attr.IS_ETERNAL
- +"\nversion: "+response.attr.version
- +"\nmaxLifeSeconds: "+response.attr.maxLifeSeconds
- +"\nmaxIdleTimeSeconds: "+response.attr.maxIdleTimeSeconds
- +"\nsize: "+response.attr.size
- +"\ncreateTime: "+response.attr.createTime
- +"\nlastAccessTime: "+response.attr.lastAccessTime
- +"\nidleTime: "+response.attr.idleTime
- +"\ntimeToLiveSeconds: "+response.attr.timeToLiveSeconds
- +"\nisSpool: "+response.attr.isSpool
- +"\nisLateral: "+response.attr.isLateral
- +"\nisRemote: "+response.attr.isRemote
- +"\nisEternal: "+response.attr.isEternal;
- modalService.showSuccess('',message);});
- };*/
-
$scope.showItemDetails = function(cacheName, key){
AdminService.showItemDetails(cacheName, key).then(function(msg){
@@ -695,35 +676,38 @@ appDS2.controller('adminController', function($scope, $http,AdminService, $modal
}
$scope.roleFnInit = function(){
+ $scope.showLoader=true;
AdminService.getRole($routeParams.roleId).then(function(data){
-
- var j = data;
- $scope.data = JSON.parse(j.data);
- $scope.role =JSON.parse($scope.data.role);
-
- $scope.ociavailableRoleFunctions =JSON.parse($scope.data.availableRoleFunctions);
- $scope.availableRoleFunctions=[];
-
- if($scope.ociavailableRoleFunctions)
- angular.forEach($scope.ociavailableRoleFunctions, function(a,i){
- var availableRoleFunction = a;
- availableRoleFunction.selected = false;
- angular.forEach($scope.role.roleFunctions, function(b,j){
- if(a.code === b.code) {
- availableRoleFunction.selected = true;
- }
- });
- $scope.availableRoleFunctions.push(availableRoleFunction);
- });
-
-
- $scope.ociavailableRoles=JSON.parse($scope.data.availableRoles);
- $scope.availableRoles=[];
-
- },function(error){
- console.log("roleControllerDS2 failed: " + error);
- reloadPageOnce();
- });
+
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.role =JSON.parse($scope.data.role);
+
+ $scope.ociavailableRoleFunctions =JSON.parse($scope.data.availableRoleFunctions);
+ $scope.availableRoleFunctions=[];
+
+ if($scope.ociavailableRoleFunctions)
+ angular.forEach($scope.ociavailableRoleFunctions, function(a,i){
+ var availableRoleFunction = a;
+ availableRoleFunction.selected = false;
+ angular.forEach($scope.role.roleFunctions, function(b,j){
+ if(a.code === b.code) {
+ availableRoleFunction.selected = true;
+ }
+ });
+ $scope.availableRoleFunctions.push(availableRoleFunction);
+ });
+
+
+ $scope.ociavailableRoles=JSON.parse($scope.data.availableRoles);
+ $scope.availableRoles=[];
+
+ },function(error){
+ console.log("roleControllerDS2 failed: " + error);
+ reloadPageOnce();
+ }).finally(function() {
+ $scope.showLoader=false; // Always execute this on both error and success
+ });
}
// updating roles on role list page after deletion of a role
@@ -740,7 +724,7 @@ appDS2.controller('adminController', function($scope, $http,AdminService, $modal
$scope.saveRole = function() {
var errorMsg;
-
+ $scope.showLoader=true;
if($scope.role.id == null || $scope.role.id == undefined ){
$scope.role = {
'id':null,
@@ -828,7 +812,9 @@ appDS2.controller('adminController', function($scope, $http,AdminService, $modal
}
},function(error){
console.log("error msg");
- })
+ }).finally(function() {
+ $scope.showLoader=false; // Always execute this on both error and success
+ });
}
}
@@ -838,6 +824,7 @@ appDS2.controller('adminController', function($scope, $http,AdminService, $modal
templateUrl: 'app/fusion/scripts/DS2-view-models/ds2-admin/modals/role-functions-modal.html',
controller: ModalInstanceCtrl,
sizeClass: 'modal-large',
+ windowClass:"modal-docked",
resolve: {
items: function () {
var message = {
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/modals/role-fun-role-del-confirm.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/modals/role-fun-role-del-confirm.html
index f293152c..322c6624 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/modals/role-fun-role-del-confirm.html
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/modals/role-fun-role-del-confirm.html
@@ -1,17 +1,17 @@
<div>
- <div class="modal-header ng-scope in">
+ <div class="b2b-modal-header">
<h2 id="myModalLabel" modal-title="">Role</h2>
<div class="corner-button in">
<button type="button" class="close" aria-label="Close"
ng-click="$dismiss('cancel')"></button>
</div>
</div>
- <div class="modal-body ng-scope ng-isolate-scope in" tabindex="0"
+ <div class="b2b-modal-body ng-scope ng-isolate-scope in" tabindex="0"
role="region" aria-label="Modal header text content"
style="height: 55px;">
You are about to delete this Role Function. Click 'OK' to continue.
</div>
- <div class="modal-footer ng-scope ng-isolate-scope in">
+ <div class="b2b-modal-footer ng-scope ng-isolate-scope in">
<div class="cta-button-group in">
<button class="btn btn-alt btn-medium" type="button"
ng-click="roleFunRemoveRole(msg.roleFunction)">Ok</button>
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/modals/role-functions-modal.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/modals/role-functions-modal.html
index c4115c4a..dbe9d1c6 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/modals/role-functions-modal.html
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/modals/role-functions-modal.html
@@ -1,7 +1,8 @@
-<div>
<div class="b2b-modal-header">
- <h1 class="heading-medium" id="SelectRole">Select Role Functions</h1>
-
+ <h2 class="myModalLabel" id="SelectRole">Select Role Functions</h2>
+ <div class="corner-button in">
+ <button type="button" class="close" aria-label="Close" ng-click="$dismiss('cancel')"></button>
+ </div>
</div>
<div class="b2b-modal-body" tabindex="0" aria-label="Modal header text content" role="region">
@@ -33,4 +34,3 @@
</div>
<br />
</div>
-</div> \ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/role-function.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/role-function.html
index 0b07d6e8..cab8c682 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/role-function.html
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/role-function.html
@@ -1,63 +1,67 @@
<div id="page-content">
<h1 class="heading-page" id="profileSearch">Role Function</h1>
-
- <div class="row-nowrap">
- <div class="span12">
- <div class="form-row">
- <div class="field-group">
- <button class="btn btn-alt btn-medium" type="button"
- ng-click="addRoleFuncPopUp(rowData);">Create</button>
+ <div ng-show="showLoader" class="span loader-container">
+ <i class="icon-primary-spinner" role="img"
+ aria-label="Please wait while we load your content"></i>
+ </div>
+ <div ng-hide="showLoader">
+ <div class="row-nowrap">
+ <div class="span12">
+ <div class="form-row">
+ <div class="field-group">
+ <button class="btn btn-alt btn-medium" type="button"
+ ng-click="addRoleFuncPopUp(rowData);">Create</button>
+ </div>
</div>
</div>
- </div>
- <div class="span12">
- <div class="form-row">
- <div style="float: right;">
- <div class="form-field form-field__small">
- <input type="text" placeholder="Search role functions" ng-model="searchString" />
+ <div class="span12">
+ <div class="form-row">
+ <div style="float: right;">
+ <div class="form-field form-field__small">
+ <input type="text" placeholder="Search role functions" ng-model="searchString" />
+ </div>
</div>
</div>
</div>
</div>
- </div>
-
- <div ng-show="showLoader" class="span loader-container">
- <i class="icon-primary-spinner" role="img"
- aria-label="Please wait while we load your content"></i>
- </div>
-
- <div b2b-table class="b2b-table-div" table-data="tableData"
- search-string="searchString" current-page="currentPage"
- next-sort="nextSort">
- <table>
- <thead b2b-table-row type="header">
- <tr>
- <th b2b-table-header key="name">Name</th>
- <th b2b-table-header key="code">Code</th>
- <th b2b-table-header sortable="false">Edit</th>
- <th b2b-table-header sortable="false">Delete</th>
- </tr>
- </thead>
- <tbody b2b-table-row type="body" row-repeat="rowData in tableData">
- <tr>
- <td b2b-table-body ng-bind="rowData['name']"></td>
- <td b2b-table-body ng-bind="rowData['code']"></td>
- <td b2b-table-body>
- <div style="font-size: 20px;">
- <a ng-click="saveRoleFuncPopUp(rowData);" class="icon-misc-pen"></a>
- </div>
- </td>
- <td b2b-table-body>
- <div style="font-size: 20px;">
- <a href="javascript:void(0)"
- ng-click="delRoleFuncConfirmPopUp(rowData);"
- class="icon-misc-trash"></a>
- </div>
- </td>
-
- </tr>
- </tbody>
- </table>
+ <div ng-show="showLoader" class="span loader-container">
+ <i class="icon-primary-spinner" role="img"
+ aria-label="Please wait while we load your content"></i>
+ </div>
+
+ <div b2b-table class="b2b-table-div" table-data="tableData"
+ search-string="searchString" current-page="currentPage"
+ next-sort="nextSort">
+ <table>
+ <thead b2b-table-row type="header">
+ <tr>
+ <th b2b-table-header key="name">Name</th>
+ <th b2b-table-header key="code">Code</th>
+ <th b2b-table-header sortable="false">Edit</th>
+ <th b2b-table-header sortable="false">Delete</th>
+ </tr>
+ </thead>
+ <tbody b2b-table-row type="body" row-repeat="rowData in tableData">
+ <tr>
+ <td b2b-table-body ng-bind="rowData['name']"></td>
+ <td b2b-table-body ng-bind="rowData['code']"></td>
+ <td b2b-table-body>
+ <div style="font-size: 20px;">
+ <a ng-click="saveRoleFuncPopUp(rowData);" class="icon-misc-pen"></a>
+ </div>
+ </td>
+ <td b2b-table-body>
+ <div style="font-size: 20px;">
+ <a href="javascript:void(0)"
+ ng-click="delRoleFuncConfirmPopUp(rowData);"
+ class="icon-misc-trash"></a>
+ </div>
+ </td>
+
+ </tr>
+ </tbody>
+ </table>
+ </div>
</div>
-</div>
+</div> \ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/role.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/role.html
index 6268cf6f..f4c9d0c6 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/role.html
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/role.html
@@ -2,96 +2,60 @@
<div>
<h1 class="heading-page" id="Roles">Manage Roles</h1>
</div>
- <div>
- <h2 class="heading-small-content">Please edit the role details below: </h2>
- </div>
-
- <div>
- <label>*Name: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
- <input type="text" ng-model="role.name"
- maxlength="300" />
- </label>
- </div>
-
- <div>
- <label>Priority: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
- <input type="text" ng-model="role.priority"
- maxlength="30"/>
- </label>
+ <div ng-show="showLoader" class="span loader-container">
+ <i class="icon-primary-spinner" role="img" aria-label="Please wait while we load your content"></i>
</div>
-
- <div>
- <button style="margin-left: 105px;" class="btn btn-small" onClick="window.location='admin'">Cancel</button>
- <button class="btn btn-alt btn-small" ng-click="saveRole();">Save</button>
- </div>
- <br/>
- <div ng-if="routeRoleId != 0">
+ <div ng-hide="showLoader">
<div>
- <h3 class="heading-small-emphasis">Role Functions</h3>
- <button class="btn btn-alt btn-small" ng-click="addNewRoleFunctionModalPopup(role.roleFunctions,role.name, role);">Manage Role Functions</button>
-
- <table class="striped" ng-if="role.roleFunctions.length">
- <thead>
- <tr>
- <th>Role Function Name</th>
- <th>Remove</th>
- </tr>
- </thead>
- <tbody type="body" ng-repeat="roleFunction in role.roleFunctions">
- <tr>
- <td width="70%">{{ roleFunction.name }}</td>
- <td width="10%">
- <div ng-click="removeRoleFunction(roleFunction);"><a href="javascript:void(0)" class="icon-misc-trash"></a></div>
- </td>
- </tr>
- </tbody>
- </table>
+ <h2 class="heading-small-content">Please edit the role details below: </h2>
</div>
- <br/>
- <!-- Commented code due to issues with child role activation and deactivation, should be revisited -->
- <!-- <div>
- <h4 class="heading-small-emphasis">Child Roles</h4>
- <button class="btn btn-alt btn-small" ng-click="addNewChildRoleFunctionModalPopup(role.childRoles,role.name, role);">Manage Child Roles</button>
-
- <table class="striped" ng-if="role.childRoles.length">
- <thead>
- <tr>
- <th>Name</th>
- <th>Remove?</th>
- </tr>
- </thead>
- <tbody type="body" ng-repeat="role in role.childRoles">
- <tr>
- <td width="70%">{{ role.name }}</td>
- <td width="10%">
- <div ng-click="removeChildRole(role);"><a href="javascript:void(0)" class="icon-misc-trash"></a></div>
- </td>
- </tr>
- </tbody>
- </table>
- </div> -->
- <br/>
<div>
- <a href="admin#/role_function_list">Manage Role Functions</a><br><br>
+ <label>*Name: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ <input type="text" ng-model="role.name"
+ maxlength="300" />
+ </label>
+ </div>
+
+ <div>
+ <label>Priority: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+ <input type="text" ng-model="role.priority"
+ maxlength="30"/>
+ </label>
+ </div>
+
+ <div>
+ <button style="margin-left: 105px;" class="btn btn-small" onClick="window.location='admin'">Cancel</button>
+ <button class="btn btn-alt btn-small" ng-click="saveRole();">Save</button>
+ </div>
+ <br/>
+ <div ng-if="routeRoleId != 0">
+ <div>
+ <h3 class="heading-small-emphasis">Role Functions</h3>
+ <button class="btn btn-alt btn-small" ng-click="addNewRoleFunctionModalPopup(role.roleFunctions,role.name, role);">Manage Role Functions</button>
+
+ <table class="striped" ng-if="role.roleFunctions.length">
+ <thead>
+ <tr>
+ <th>Role Function Name</th>
+ <th>Remove</th>
+ </tr>
+ </thead>
+ <tbody type="body" ng-repeat="roleFunction in role.roleFunctions">
+ <tr>
+ <td width="70%">{{ roleFunction.name }}</td>
+ <td width="10%">
+ <div ng-click="removeRoleFunction(roleFunction);"><a href="javascript:void(0)" class="icon-misc-trash"></a></div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <br/>
+ <br/>
+ <div>
+ <a href="admin#/role_function_list">Manage Role Functions</a><br><br>
+ </div>
</div>
- <!-- <table class="striped" table-data="availableRoles">
- <thead>
- <tr>
- <th></th>
- <th>Role</th>
- </tr>
- </thead>
- <tbody type="body" ng-repeat="availableRole in availableRoles">
- <tr>
- <td width="70%">
- <div ng-click="toggleChildRole(availableRole.selected,availableRole);">
- <input type="checkbox" ng-model="availableRole.selected" />
- </div>
- </td>
- <td> {{ availableRole.name }} </td>
- </tr>
- </tbody>
- </table> -->
</div>
</div> \ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/role_list.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/role_list.html
index a608a0db..5c407390 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/role_list.html
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/role_list.html
@@ -2,13 +2,16 @@
<div>
<h1 class="heading-page" id="Roles">Roles</h1>
</div>
-
- <div>
- <button type="submit" onClick="window.location='admin#/role/0';" class="btn btn-alt btn-small">Add New Role</button>
+ <div ng-show="showLoader" class="span loader-container">
+ <i class="icon-primary-spinner" role="img"
+ aria-label="Please wait while we load your content"></i>
</div>
- <h2 class="heading-small">Click on a Role to view its details.</h2>
-
- <table class="striped" ng-if="availableRoleFunctions" style="width: auto;">
+ <div ng-hide="showLoader">
+ <div>
+ <button type="submit" onClick="window.location='admin#/role/0';" class="btn btn-alt btn-small">Add New Role</button>
+ </div>
+ <h2 class="heading-small">Click on a Role to view its details.</h2>
+ <table class="striped" ng-if="availableRoleFunctions" style="width: auto;">
<thead>
<tr>
<th>Name</th>
@@ -38,5 +41,5 @@
</tr>
</tbody>
</table>
-
+ </div>
</div> \ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-profile/modals/role-add.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-profile/modals/role-add.html
index d662fc01..f182417e 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-profile/modals/role-add.html
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-profile/modals/role-add.html
@@ -1,36 +1,37 @@
-<div>
- <div class="b2b-modal-header ng-scope in">
- <h1 class="heading-medium" id="SelectRole">Select Role Functions</h1>
+<div class="b2b-modal-header">
+ <h1 class="heading-medium" id="SelectRole">Select Role</h1>
+ <div class="corner-button in">
+ <button type="button" class="close" aria-label="Close" ng-click="$dismiss('cancel')"></button>
</div>
+</div>
- <div class="b2b-modal-body ng-scope ng-isolate-scope in" tabindex="0" aria-label="Modal header text content" role="region">
- <table class="striped">
- <thead>
- <tr>
- <th></th>
- <th>Role Function</th>
- </tr>
- </thead>
- <tbody type="body"ng-repeat="roleFunction in msg.availableRoleFunctions">
- <tr>
- <td>
- <label class="btn-switch-label" tabindex="0" role="option">
- <input type="checkbox" b2b-switches ng-model="roleFunction.selected" ng-click="activateRoleConfirmPopUp(roleFunction.selected,roleFunction);" size-class="modal-small modal-alert">
- </label>
- </td>
- <td>{{roleFunction.name}}</td>
- </tr>
- </tbody>
- </table>
- </div>
+<div class="b2b-modal-body" tabindex="0" aria-label="Modal header text content" role="region">
+ <table class="striped">
+ <thead>
+ <tr>
+ <th></th>
+ <th>Role</th>
+ </tr>
+ </thead>
+ <tbody type="body"ng-repeat="roleFunction in msg.availableRoleFunctions">
+ <tr>
+ <td>
+ <label class="btn-switch-label" tabindex="0" role="option">
+ <input type="checkbox" b2b-switches ng-model="roleFunction.selected" ng-click="activateRoleConfirmPopUp(roleFunction.selected,roleFunction);" size-class="modal-small modal-alert">
+ </label>
+ </td>
+ <td>{{roleFunction.name}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
- <div class="b2b-modal-footer ng-scope ng-isolate-scope in">
- <div class="cta-button-group in">
- <button style="float: right; margin-right: 20px;"
- class="btn btn-alt btn-small"
- ng-click="$dismiss('cancel')">Close</button>
- </div>
- <br />
+<div class="b2b-modal-footer" id="role-popup-footer">
+ <div class="cta-button-group">
+ <button style="float: right; margin-right: 20px;"
+ class="btn btn-alt btn-small"
+ ng-click="$dismiss('cancel')">Close</button>
</div>
-</div> \ No newline at end of file
+</div>
+
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/styles/ecomp.css b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/styles/ecomp.css
index e593c24a..dd25f755 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/styles/ecomp.css
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/styles/ecomp.css
@@ -171,4 +171,7 @@ p,a{
.header-image{
height:28px;
-} \ No newline at end of file
+}
+#role-popup-footer{
+ height:100px;
+}
diff --git a/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/service/LoginServiceCentralizedImpl.java b/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/service/LoginServiceCentralizedImpl.java
index e5d380c9..bab2249c 100644
--- a/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/service/LoginServiceCentralizedImpl.java
+++ b/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/service/LoginServiceCentralizedImpl.java
@@ -5,6 +5,7 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import org.openecomp.portalsdk.core.command.LoginBean;
@@ -132,9 +133,21 @@ public class LoginServiceCentralizedImpl extends FusionService implements LoginS
User user = null;
String repsonse = restApiRequestBuilder.getViaREST("/user/" + bean.getUserid(), true, bean.getUserid());
user = userService.userMapper(repsonse);
+ user.setId(getUserIdByOrgUserId(user.getOrgUserId()));
return user;
}
+ public Long getUserIdByOrgUserId(String orgUserId) {
+ Map<String, String> params = new HashMap<String, String>();
+ params.put("orgUserId", orgUserId);
+ @SuppressWarnings("rawtypes")
+ List list = getDataAccessService().executeNamedQuery("getUserIdByorgUserId", params, null);
+ Long userId = null;
+ if (list != null && !list.isEmpty())
+ userId = (Long) list.get(0);
+ return userId;
+ }
+
public User findUser(String loginId, String password) {
diff --git a/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/service/RestApiRequestBuilder.java b/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/service/RestApiRequestBuilder.java
index 00673682..52473608 100644
--- a/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/service/RestApiRequestBuilder.java
+++ b/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/service/RestApiRequestBuilder.java
@@ -98,7 +98,7 @@ public class RestApiRequestBuilder {
}
- public void deleteViaRest(String restEndPoint, boolean isBasicAuth, String content, String filter , String userId) throws Exception {
+ public void deleteViaRest(String restEndPoint, boolean isBasicAuth, String content, String userId) throws Exception {
String appName = "";
String requestId = "";
String appUserName = "";
@@ -128,7 +128,7 @@ public class RestApiRequestBuilder {
try {
RestWebServiceClient.getInstance().deletePortalContent(restEndPoint, userId, appName, requestId, appUserName,
- decryptedPwd, content_type, content, isBasicAuth, filter);
+ decryptedPwd, content_type, content, isBasicAuth);
} catch (Exception ex) {
logger.error(EELFLoggerDelegate.errorLogger, "DELETE response: {}", ex);
throw new Exception("Delete Failed");
diff --git a/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/service/RoleServiceCentralizedAccess.java b/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/service/RoleServiceCentralizedAccess.java
index eff02543..53f257bd 100644
--- a/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/service/RoleServiceCentralizedAccess.java
+++ b/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/service/RoleServiceCentralizedAccess.java
@@ -108,11 +108,9 @@ public class RoleServiceCentralizedAccess implements RoleService {
@Override
public void deleteRole(String loginId, Role domainRole) throws Exception {
- ObjectMapper mapper = new ObjectMapper();
- String role = mapper.writeValueAsString(domainRole);
String roleName = domainRole.getName().replaceAll(" ", "%20");
try {
- restApiRequestBuilder.deleteViaRest("/deleteRole/"+ roleName, true, role, null, loginId);
+ restApiRequestBuilder.deleteViaRest("/deleteRole/"+ roleName, true, null, loginId);
} catch (Exception e) {
logger.error(EELFLoggerDelegate.errorLogger, "deleteRole Failed", e);
throw new Exception(e.getMessage());
@@ -165,10 +163,8 @@ public class RoleServiceCentralizedAccess implements RoleService {
@Override
public void deleteRoleFunction(String requestedLoginId, RoleFunction domainRoleFunction) throws Exception {
String code = domainRoleFunction.getCode();
- ObjectMapper mapper = new ObjectMapper();
- String roleFunction = mapper.writeValueAsString(domainRoleFunction);
try {
- restApiRequestBuilder.deleteViaRest("/roleFunction/"+ code, true, roleFunction, null, requestedLoginId);
+ restApiRequestBuilder.deleteViaRest("/roleFunction/"+ code, true, null, requestedLoginId);
} catch (Exception e) {
logger.error(EELFLoggerDelegate.errorLogger, "deleteRoleFunction Failed ", e);
throw new Exception(e.getMessage());
@@ -178,7 +174,7 @@ public class RoleServiceCentralizedAccess implements RoleService {
@Override
public void deleteDependcyRoleRecord(String requestedLoginId, Long id) {
try {
- restApiRequestBuilder.deleteViaRest("/deleteDependcyRoleRecord/" + id, true, null, null, requestedLoginId);
+ restApiRequestBuilder.deleteViaRest("/deleteDependcyRoleRecord/" + id, true, null, requestedLoginId);
} catch (Exception e) {
logger.error(EELFLoggerDelegate.errorLogger, "deleteDependcyRoleRecord Failed", e);
}
diff --git a/ecomp-sdk/epsdk-fw/src/main/java/org/openecomp/portalsdk/core/onboarding/rest/RestWebServiceClient.java b/ecomp-sdk/epsdk-fw/src/main/java/org/openecomp/portalsdk/core/onboarding/rest/RestWebServiceClient.java
index 9a1ea9fb..44177466 100644
--- a/ecomp-sdk/epsdk-fw/src/main/java/org/openecomp/portalsdk/core/onboarding/rest/RestWebServiceClient.java
+++ b/ecomp-sdk/epsdk-fw/src/main/java/org/openecomp/portalsdk/core/onboarding/rest/RestWebServiceClient.java
@@ -393,7 +393,7 @@ public class RestWebServiceClient {
public String deletePortalContent(String restPath, String userId, String appName, String requestId,
- String appUserName, String appPassword, String contentType, String content, boolean isBasicAuth ,String filter) throws Exception {
+ String appUserName, String appPassword, String contentType, String content, boolean isBasicAuth) throws Exception {
String restURL = PortalApiProperties.getProperty(PortalApiConstants.ECOMP_REST_URL);
if (restURL == null) {
@@ -415,11 +415,11 @@ public class RestWebServiceClient {
final String separator = restURL.endsWith("/") || restPath.startsWith("/") ? "" : "/";
final String restEndpointUrl = restURL + separator + restPath;
return delete(restEndpointUrl, userId, appName, requestId, appUebKey, appUserName, appPassword, contentType,
- content,isBasicAuth,filter);
+ content,isBasicAuth);
}
public String delete(String url, String loginId, String appName, String requestId, String appUebKey,
- String appUserName, String appPassword, String contentType, String content,boolean isBasicAuth ,String filter) throws Exception {
+ String appUserName, String appPassword, String contentType, String content,boolean isBasicAuth) throws Exception {
if (logger.isDebugEnabled())
logger.debug("RestWebServiceClient.post to URL " + url);
@@ -451,7 +451,6 @@ public class RestWebServiceClient {
con.setRequestProperty("user-agent", appName);
con.setRequestProperty("X-ECOMP-RequestID", requestId);
con.setRequestProperty("Content-Type", contentType);
- con.setRequestProperty("filter", filter);
if(isBasicAuth){
String encoding = Base64.getEncoder().encodeToString((appUserName + ":" + appPassword).getBytes());
con.setRequestProperty("Authorization", "Basic "+ encoding);