summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk
diff options
context:
space:
mode:
authorsa282w <sa282w@att.com>2018-04-09 12:25:12 -0400
committerSunder Tattavarada <statta@research.att.com>2018-04-12 13:30:06 +0000
commit05c3857d2d68ad0c230af19071718cf315cb0b42 (patch)
tree7a63726f108c66671f3020e703cc46d03d0a3500 /ecomp-sdk
parent3fa57a0595442f9d17d85ad50222770db397c834 (diff)
Support fine-grained attributes of AAF for FW apps
Issue-ID: PORTAL-188 Included the changes for the user story Support fine-grained attributes of AAF for FW apps. Change-Id: Ib16e7eeab9d2f9dc0803eb8a37aad6d281c7f454 Signed-off-by: sa282w <sa282w@att.com> (cherry picked from commit d8895e0b035769743c5c90d71bd021a04f26e6c3)
Diffstat (limited to 'ecomp-sdk')
-rw-r--r--ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkDDLMySql_2_2_Common.sql5
-rw-r--r--ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkDMLMySql_2_2_Common.sql77
-rw-r--r--ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkMySql_Rollback_2_2_to_2_1_Common.sql2
-rw-r--r--ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkMySql_Upgrade_2_1_to_2_2_Common.sql49
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/admin-controller.js86
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/modals/role-function-add.html54
6 files changed, 210 insertions, 63 deletions
diff --git a/ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkDDLMySql_2_2_Common.sql b/ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkDDLMySql_2_2_Common.sql
index 48c51177..31d8be45 100644
--- a/ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkDDLMySql_2_2_Common.sql
+++ b/ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkDDLMySql_2_2_Common.sql
@@ -470,8 +470,9 @@ create table fn_datasource (
create table fn_function (
FUNCTION_CD CHARACTER VARYING(30) NOT NULL PRIMARY KEY,
FUNCTION_NAME CHARACTER VARYING(50) NOT NULL,
- TYPE VARCHAR(20) NULL DEFAULT NULL,
- ACTION VARCHAR(20) NULL DEFAULT NULL
+ TYPE VARCHAR(20) NOT NULL,
+ ACTION VARCHAR(20) NOT NULL,
+ UNIQUE KEY function (FUNCTION_CD,TYPE,ACTION)
);
--
diff --git a/ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkDMLMySql_2_2_Common.sql b/ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkDMLMySql_2_2_Common.sql
index 067ec92e..50221612 100644
--- a/ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkDMLMySql_2_2_Common.sql
+++ b/ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkDMLMySql_2_2_Common.sql
@@ -8,46 +8,45 @@ SET FOREIGN_KEY_CHECKS=1;
USE ecomp_sdk;
-- fn_function
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_process','Process List');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_job','Job Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_job_create','Job Create');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_job_designer','Process in Designer view');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_task','Task Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_task_search','Task Search');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_map','Map Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_sample','Sample Pages Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('login','Login');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_home','Home Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_customer','Customer Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_reports','Reports Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_profile','Profile Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_admin','Admin Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_feedback','Feedback Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_help','Help Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_logout','Logout Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_notes','Notes Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_ajax','Ajax Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_customer_create','Customer Create');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_profile_create','Profile Create');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_profile_import','Profile Import');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_tab','Sample Tab Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('view_reports','View Raptor reports');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_process','Process List','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_job','Job Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_job_create','Job Create','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_job_designer','Process in Designer view','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_task','Task Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_task_search','Task Search','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_map','Map Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_sample','Sample Pages Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('login','Login','url','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_home','Home Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_customer','Customer Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_reports','Reports Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_profile','Profile Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_admin','Admin Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_feedback','Feedback Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_help','Help Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_logout','Logout Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_notes','Notes Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_ajax','Ajax Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_customer_create','Customer Create','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_profile_create','Profile Create','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_profile_import','Profile Import','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_tab','Sample Tab Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('view_reports','View Raptor reports','menu','*');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_itracker_admin','Itracker Admin/Support menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('quantum_bd','Big Data Function');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('1','test role function');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_hiveconfig','Hive Configuration');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_mapreduce_create','Map Reduce Configuration Create');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_mapreduce_search','Map Reduce Configuration Search');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_hiveconfig_search','Hive Configuration Search');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_hiveconfig_create','Hive Configuration Create');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_test','Test Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_doclib','Document Library Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('doclib','Document Library');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('doclib_admin','Document Library Admin');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_concept','CoNCEPT');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_itracker','iTracker Menu');
-Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_mapreduce','Map Reduce Configuration');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_itracker_admin','Itracker Admin/Support menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('quantum_bd','Big Data Function','url','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_hiveconfig','Hive Configuration','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_mapreduce_create','Map Reduce Configuration Create','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_mapreduce_search','Map Reduce Configuration Search','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_hiveconfig_search','Hive Configuration Search','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_hiveconfig_create','Hive Configuration Create','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_test','Test Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_doclib','Document Library Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('doclib','Document Library','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('doclib_admin','Document Library Admin','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_concept','CoNCEPT','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_itracker','iTracker Menu','menu','*');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME,TYPE,ACTION) values ('menu_mapreduce','Map Reduce Configuration','menu','*');
-- fn_lu_activity
Insert into fn_lu_activity (ACTIVITY_CD,ACTIVITY) values ('add_role','add_role');
diff --git a/ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkMySql_Rollback_2_2_to_2_1_Common.sql b/ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkMySql_Rollback_2_2_to_2_1_Common.sql
index f8a7fbce..627d30f2 100644
--- a/ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkMySql_Rollback_2_2_to_2_1_Common.sql
+++ b/ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkMySql_Rollback_2_2_to_2_1_Common.sql
@@ -1,10 +1,10 @@
use ecomp_sdk;
+ALTER TABLE fn_function DROP INDEX function;
ALTER TABLE fn_function
DROP COLUMN type;
-
ALTER TABLE fn_function
DROP COLUMN action;
diff --git a/ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkMySql_Upgrade_2_1_to_2_2_Common.sql b/ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkMySql_Upgrade_2_1_to_2_2_Common.sql
index 32540c69..474a6b8e 100644
--- a/ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkMySql_Upgrade_2_1_to_2_2_Common.sql
+++ b/ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkMySql_Upgrade_2_1_to_2_2_Common.sql
@@ -3,10 +3,53 @@ use ecomp_sdk;
SET FOREIGN_KEY_CHECKS=0;
alter table fn_function
-add type VARCHAR(20) NULL DEFAULT NULL;
-
+add type VARCHAR(20) NOT NULL;
alter table fn_function
-add action VARCHAR(20) NULL DEFAULT NULL;
+add action VARCHAR(20) NOT NULL;
+
+ALTER TABLE fn_function
+ADD CONSTRAINT function UNIQUE (FUNCTION_CD,TYPE,ACTION);
+
+delete from fn_function where function_cd='1';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_process';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_job';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_job_create';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_job_designer';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_task';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_task_search';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_map';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_sample';
+update fn_function set type = 'url' , action = '*' where function_cd = 'login';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_home';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_customer';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_reports';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_profile';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_admin';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_feedback';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_help';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_logout';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_notes';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_ajax';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_customer_create';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_profile_create';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_profile_import';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_tab';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'view_reports';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_itracker_admin';
+update fn_function set type = 'url' , action = '*' where function_cd = 'quantum_bd';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_hiveconfig';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_mapreduce_create';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_mapreduce_search';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_hiveconfig_search';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_hiveconfig_create';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_test';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_doclib';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'doclib';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'doclib_admin';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_concept';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_itracker';
+update fn_function set type = 'menu' , action = '*' where function_cd = 'menu_mapreduce';
+
commit; \ No newline at end of file
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 0d95e72a..a8b89757 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
@@ -1,4 +1,4 @@
-appDS2.controller('adminController', function($scope, $http,AdminService, $modal, $routeParams, $rootScope){
+appDS2.controller('adminController', function($scope, $http,AdminService, $modal, $routeParams, $rootScope){
$scope.totalPages = 5;
$scope.viewPerPage = 8;
@@ -71,8 +71,63 @@ appDS2.controller('adminController', function($scope, $http,AdminService, $modal
});
}
-
$scope.addRoleFunction = function(roleData){
+ if(/[^a-zA-Z0-9\-\.\_]/.test(roleData.type)){
+ errorMsg = 'Type can only contain alphanumeric characters, dots(.) and underscores(_)';
+ var modalInstance = $modal.open({
+ templateUrl: 'app/fusion/scripts/DS2-modal/error_modal.html',
+ controller: ModalInstanceCtrl,
+ sizeClass: 'modal-small',
+ resolve: {
+ items: function () {
+ return errorMsg;
+ }
+ }
+ });
+ return;
+ }
+ if(roleData.action !== '*' && /[^a-zA-Z0-9\-\.\_]/.test(roleData.action)){
+ errorMsg = 'Action can only contain alphanumeric characters, hyphens(-), dots(.) and underscores(_) and single asterisk character(*)';
+ var modalInstance = $modal.open({
+ templateUrl: 'app/fusion/scripts/DS2-modal/error_modal.html',
+ controller: ModalInstanceCtrl,
+ sizeClass: 'modal-small',
+ resolve: {
+ items: function () {
+ return errorMsg;
+ }
+ }
+ });
+ return;
+ }
+ if(/[^a-zA-Z0-9\-\:\_\./*]/.test(roleData.code)){
+ errorMsg = 'Code can only contain alphanumeric characters, hyphens(-), dots(.), colons(:), forwardSlash(/) , asterisk(*) and underscores(_)';
+ var modalInstance = $modal.open({
+ templateUrl: 'app/fusion/scripts/DS2-modal/error_modal.html',
+ controller: ModalInstanceCtrl,
+ sizeClass: 'modal-small',
+ resolve: {
+ items: function () {
+ return errorMsg;
+ }
+ }
+ });
+ return;
+ }
+ if(/[^a-zA-Z0-9\-\_ \.]/.test(roleData.name)){
+ errorMsg = 'Name can only contain alphanumeric characters, spaces, hyphens(-), dots(.) and underscores(_)';
+ var modalInstance = $modal.open({
+ templateUrl: 'app/fusion/scripts/DS2-modal/error_modal.html',
+ controller: ModalInstanceCtrl,
+ sizeClass: 'modal-small',
+ resolve: {
+ items: function () {
+ return errorMsg;
+ }
+ }
+ });
+ return;
+ }
AdminService.addRoleFunctionList(roleData).then(function(msg){
var message = msg;
if(message.data!=null && message.data!=''){
@@ -100,6 +155,22 @@ appDS2.controller('adminController', function($scope, $http,AdminService, $modal
$scope.roleFun=items;
$scope.msg=items;
+ $scope.ngRepeatDemo = [
+ {id: 'menuradiobutton1', value: 'menu', labelvalue: 'menu'},
+ {id: 'urlradiobutton2', value: 'url', labelvalue: 'url'},
+ {id: 'otherradiobutton3', value: 'other', labelvalue: 'other'}
+ ]
+ $scope.selectedvalueradioButtonGroup = {
+ type: 'menu'
+ }
+ $scope.roleFun = {
+ action: '*'
+ }
+
+ $scope.selectedvalueradioButtonOther = {
+ type: ''
+ }
+
// remove role function associated to a role on Role Edit page
$scope.roleFunRemoveRole = function (roleFunction) {
AdminService.removeRoleFunction(roleFunction, $routeParams.roleId).then(function(msg){
@@ -324,7 +395,12 @@ appDS2.controller('adminController', function($scope, $http,AdminService, $modal
});
}
- $scope.save = function (data) {
+ $scope.save = function (data,type) {
+ if(type !== 'other'){
+ data.type = type ;
+ } else{
+ data.type = $scope.selectedvalueradioButtonOther.type ;
+ }
$modalInstance.close(data);
};
@@ -419,8 +495,8 @@ appDS2.controller('adminController', function($scope, $http,AdminService, $modal
}
});
- modalInstance.result.then(function (data) {
- $scope.addRoleFunction(data);
+ modalInstance.result.then(function (data,type) {
+ $scope.addRoleFunction(data,type);
});
}
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/modals/role-function-add.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/modals/role-function-add.html
index 5752a278..ad3d538b 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/modals/role-function-add.html
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/modals/role-function-add.html
@@ -1,4 +1,4 @@
-<div>
+<div class = "ng-scope" style= "height: 710px"" >
<div class="b2b-modal-header ng-scope in">
<h2 id="myModalLabel" modal-title="">Role Function Create</h2>
<div class="corner-button in">
@@ -6,13 +6,14 @@
ng-click="$dismiss('cancel')"></button>
</div>
</div>
-
+
<div class="b2b-modal-body ng-scope ng-isolate-scope in" tabindex="0"
role="region" aria-label="Modal header text content"
style="height: 280px;">
<div class="field-group">
- <span ID="required" style="color: Red;" visible="false"> *</span>Name <input id="textinputID-2a" ddh-reset ng-model="roleFun['name']"
+ <span ID="required" style="color: Red;" visible="false"> *</span>Name
+ <input id="textinputID-2a" ddh-reset ng-model="roleFun['name']"
placeholder="Name" class="span12" type="text">
</div>
<div class="error-container"
@@ -21,31 +22,58 @@
</div>
<br>
<div class="field-group">
- <span ID="required" style="color: Red;" visible="false"> *</span>Code <input id="textinputID-2a" ddh-reset ng-model="roleFun['code']"
+ <span ID="required" style="color: Red;" visible="false"> *</span>Code
+ <input id="textinputID-2a" ddh-reset ng-model="roleFun['code']"
placeholder="Code" class="span12" type="text">
</div>
<div class="error-container"
ng-show="!roleFun['code']||roleFun['code']==0">
- <small id="code-required" class="err-message">Code is Required</small>
+ <small id="code-required" class="err-message">Code is
+ Required</small>
</div>
- <br>
+ <br>
<div class="field-group">
- Type <input id="textinputID-2b" ddh-reset ng-model="roleFun['type']"
- placeholder="Type" class="span12" type="text">
+ <span ID="required" style="color: Red;" visible="false"> *</span>
+ Type
+ <div ng-repeat="radioObj in ngRepeatDemo" class="form-row"
+ role="radio">
+
+ <label for="{{radioObj.id}}" class="radio"> <input
+ type="radio" ng-model="selectedvalueradioButtonGroup.type"
+ ng-disabled="disableCd" name="nameradioButton"
+ value="{{radioObj.value}}" id="{{radioObj.id}}"
+ name="nameradioButton" ddh-reset> <i class="skin"></i> <span>{{radioObj.labelvalue}}</span>
+ </label> <br>
+ </div>
+ <br> <input
+ ng-show="selectedvalueradioButtonGroup.type === 'other'"
+ id="type-property-input" class="adminForm-name-property-input"
+ ng-model= "selectedvalueradioButtonOther.type" ng-disabled="disableCd" type="text"
+ maxlength="30" />
+ </div>
+ <div class="error-container"
+ ng-show="selectedvalueradioButtonGroup.type === 'other'">
+ <small id="microservices-details-input-url-required"
+ class="err-message">Type is Required</small>
</div>
<br>
<div class="field-group">
- Action <input id="textinputID-2c" ddh-reset ng-model="roleFun['action']"
+ <span ID="required" style="color: Red;" visible="false"> *</span>Action
+ <input id="textinputID-2c" ddh-reset ng-model="roleFun['action']"
placeholder="Action" class="span12" type="text">
</div>
-
+ <div class="error-container"
+ ng-show="!roleFun['action']||roleFun['action']==0">
+ <small id="action-required" class="err-message">Action is Required</small>
+ </div>
</div>
<br>
- <div class="b2b-modal-footer ng-scope ng-isolate-scope in">
+
+ <div class="b2b-modal-footer ng-scope ng-isolate-scope in" style = "top: 200px">
<div class="cta-button-group in">
- <button class="btn btn-alt btn-medium" type="button" ng-disabled= "(!roleFun['name']||roleFun['name']==0)|| (!roleFun['code']||roleFun['code']==0)"
- ng-click="save(roleFun);">Create</button>
+ <button class="btn btn-alt btn-medium" type="button" ng-disabled= "(!roleFun['name']||roleFun['name']==0)|| (!roleFun['code']||roleFun['code']==0) || (!selectedvalueradioButtonGroup.type||selectedvalueradioButtonGroup.type.length==0)||(selectedvalueradioButtonGroup.type ==='other'&&(!selectedvalueradioButtonOther.type||selectedvalueradioButtonOther.type.length==0)) || (!roleFun['action']||roleFun['action']==0)"
+ ng-click="save(roleFun,selectedvalueradioButtonGroup.type)">Create</button>
<button class="btn btn-medium" type="button"
ng-click="$dismiss('cancel')">Cancel</button>
</div>