aboutsummaryrefslogtreecommitdiffstats
path: root/moonv4/moon_gui/static/app/policy/edit/parameter/data
diff options
context:
space:
mode:
Diffstat (limited to 'moonv4/moon_gui/static/app/policy/edit/parameter/data')
-rw-r--r--moonv4/moon_gui/static/app/policy/edit/parameter/data/data-list.tpl.html75
-rw-r--r--moonv4/moon_gui/static/app/policy/edit/parameter/data/data.edit.dir.js210
-rw-r--r--moonv4/moon_gui/static/app/policy/edit/parameter/data/data.list.dir.js170
3 files changed, 159 insertions, 296 deletions
diff --git a/moonv4/moon_gui/static/app/policy/edit/parameter/data/data-list.tpl.html b/moonv4/moon_gui/static/app/policy/edit/parameter/data/data-list.tpl.html
index b2bac597..b69a4eed 100644
--- a/moonv4/moon_gui/static/app/policy/edit/parameter/data/data-list.tpl.html
+++ b/moonv4/moon_gui/static/app/policy/edit/parameter/data/data-list.tpl.html
@@ -18,7 +18,7 @@
<th data-translate="moon.policy.data.table.name">Name</th>
<th data-translate="moon.policy.data.table.description">Description</th>
<th data-translate="moon.policy.data.table.category.name">Category</th>
- <!--<th data-translate="moon.policy.data.table.action.title"></th>-->
+ <th data-translate="moon.policy.data.table.action.title"></th>
</tr>
</thead>
@@ -40,6 +40,23 @@
</div>
</td>
+
+ <td>
+
+ <a href="" ng-if="!value.loader" ng-click="list.deleteSub(value)" >
+ <span class="glyphicon glyphicon-transfer"></span>
+ <span class="control-label" data-translate="moon.policy.data.table.action.delete">Delete</span>
+ </a>
+
+ <div ng-if="value.loader">
+
+ <moon-loader></moon-loader>
+
+ </div>
+
+ </td>
+
+
<!--<td>
<div class="dropdown">
@@ -85,9 +102,7 @@
<tbody ng-if="!list.loadingSub && list.getSubjects().length === 0">
<tr>
- <td data-translate="moon.policy.data.subject.notFound">There is no Subjects</td>
- <td></td>
- <td></td>
+ <td colspan="4" data-translate="moon.policy.data.subject.notFound">There is no Subjects</td>
</tr>
</tbody>
@@ -109,7 +124,7 @@
<div class="panel-body">
- <moon-meta-data-edit meta-rule="list.metaRule" meta-data-type="list.typeOfSubject"></moon-meta-data-edit>
+ <moon-data-edit policy="list.policy" mn-data-type="list.typeOfSubject"></moon-data-edit>
</div>
@@ -134,8 +149,7 @@
<th data-translate="moon.policy.data.table.name">Name</th>
<th data-translate="moon.policy.data.table.description">Description</th>
<th data-translate="moon.policy.data.table.category.name">Category</th>
-
- <!--<th data-translate="moon.policy.data.table.action.title"></th>-->
+ <th data-translate="moon.policy.data.table.action.title">Actions</th>
</tr>
</thead>
@@ -157,6 +171,21 @@
</div>
</td>
+
+ <td>
+
+ <a href="" ng-if="!value.loader" ng-click="list.deleteObj(value)" >
+ <span class="glyphicon glyphicon-transfer"></span>
+ <span class="control-label" data-translate="moon.policy.data.table.action.delete">Delete</span>
+ </a>
+
+ <div ng-if="value.loader">
+
+ <moon-loader></moon-loader>
+
+ </div>
+
+ </td>
<!--<td>
<div class="dropdown">
@@ -200,9 +229,9 @@
<tbody ng-if="!list.loadingObj && list.getObjects().length === 0">
<tr>
- <td data-translate="moon.policy.data.object.notFound">There is no Objects</td>
- <td></td>
- <td></td>
+
+ <td colspan="4" data-translate="moon.policy.data.object.notFound">There is no Objects</td>
+
</tr>
</tbody>
@@ -224,7 +253,7 @@
<div class="panel-body">
- <moon-meta-data-edit meta-rule="list.metaRule" meta-data-type="list.typeOfObject"></moon-meta-data-edit>
+ <moon-data-edit policy="list.policy" mn-data-type="list.typeOfObject"></moon-data-edit>
</div>
@@ -249,8 +278,7 @@
<th data-translate="moon.policy.data.table.name">Name</th>
<th data-translate="moon.policy.data.table.description">Description</th>
<th data-translate="moon.policy.data.table.category.name">Category</th>
-
- <!--<th data-translate="moon.policy.data.table.action.title"></th>-->
+ <th data-translate="moon.policy.data.table.action.title">Actions</th>
</tr>
</thead>
@@ -272,6 +300,21 @@
</div>
</td>
+
+ <td>
+
+ <a href="" ng-if="!value.loader" ng-click="list.deleteSub(value)" >
+ <span class="glyphicon glyphicon-transfer"></span>
+ <span class="control-label" data-translate="moon.policy.data.table.action.delete">Delete</span>
+ </a>
+
+ <div ng-if="value.loader">
+
+ <moon-loader></moon-loader>
+
+ </div>
+
+ </td>
<!--<td>
<div class="dropdown">
@@ -315,9 +358,7 @@
<tbody ng-if="!list.loadingAct && list.getActions().length === 0">
<tr>
- <td data-translate="moon.policy.data.action.notFound">There is no Actions</td>
- <td></td>
- <td></td>
+ <td colspan="4" data-translate="moon.policy.data.action.notFound">There is no Actions</td>
</tr>
</tbody>
@@ -340,7 +381,7 @@
<div class="panel-body">.
- <moon-meta-data-edit meta-rule="list.metaRule" meta-data-type="list.typeOfAction"></moon-meta-data-edit>
+ <moon-data-edit policy="list.policy" mn-data-type="list.typeOfAction"></moon-data-edit>
</div>
diff --git a/moonv4/moon_gui/static/app/policy/edit/parameter/data/data.edit.dir.js b/moonv4/moon_gui/static/app/policy/edit/parameter/data/data.edit.dir.js
index 11f0d480..57ad0c9b 100644
--- a/moonv4/moon_gui/static/app/policy/edit/parameter/data/data.edit.dir.js
+++ b/moonv4/moon_gui/static/app/policy/edit/parameter/data/data.edit.dir.js
@@ -17,40 +17,43 @@
controllerAs : 'edit',
scope : {
//Type can be 'ACTION', 'OBJECT', 'SUBJECT'
- metaDataType: '=',
- metaRule : '='
+ mnDataType: '=',
+ policy : '='
},
restrict : 'E',
replace : true
};
+
}
angular
.module('moon')
.controller('moonDataEditController', moonDataEditController);
- moonDataEditController.$inject = ['$scope', 'metaDataService', 'DATA_CST', 'alertService', '$translate', 'formService', 'policyService', 'utilService'];
+ moonDataEditController.$inject = ['$scope', 'dataService', 'DATA_CST', 'alertService', '$translate',
+ 'formService', 'policyService', 'utilService', 'metaDataService'];
- function moonDataEditController($scope, metaDataService, DATA_CST, alertService, $translate, formService, policyService, utilService) {
+ function moonDataEditController($scope, dataService, DATA_CST, alertService, $translate,
+ formService, policyService, utilService, metaDataService) {
var edit = this;
- edit.metaDataType = $scope.edit.metaDataType;
- edit.metaRule = $scope.edit.metaRule;
+ edit.dataType = $scope.edit.mnDataType;
+ edit.policy = $scope.edit.policy;
- edit.fromList = true;
+ edit.fromList = false;
- edit.laoading = false;
+ edit.loading = false;
edit.form = {};
- edit.metaData = { name: null, description: null};
+ edit.data = { name: null, description: null};
edit.list = [];
+ edit.policyList = [];
+ edit.categoriesToBeSelected = [];
- edit.create = createMetaData;
- edit.addToMetaRule = addToMetaRule;
- edit.deleteMetaData = deleteMetaData;
+ edit.create = createData;
activate();
@@ -60,21 +63,24 @@
function activate(){
- switch(edit.metaDataType){
+ loadAllCategories();
+ loadAllPolicies();
+
+ switch(edit.dataType){
case DATA_CST.TYPE.SUBJECT:
- metaDataService.subject.findAllWithCallback(callBackList);
+ dataService.subject.findAllFromPolicyWithCallback(edit.policy.id, callBackList);
break;
case DATA_CST.TYPE.OBJECT:
- metaDataService.object.findAllWithCallback(callBackList);
+ dataService.object.findAllFromPolicyWithCallback(edit.policy.id, callBackList);
break;
case DATA_CST.TYPE.ACTION:
- metaDataService.action.findAllWithCallback(callBackList);
+ dataService.action.findAllFromPolicyWithCallback(edit.policy.id, callBackList);
break;
default :
@@ -86,81 +92,77 @@
function callBackList(list){
- edit.list = list
-
- }
-
- }
-
- /**
- * Add
- */
+ // For each Data, there is a check about the mapping between the Data and the policy
+ _.each(list, function (element) {
+ if (element.policy_id !== edit.policy.id) {
- function addToMetaRule(){
+ edit.list.push(element);
- if(!edit.selectedMetaData){
-
- return;
+ }
+ });
}
- var metaRuleToSend = edit.metaRule;
+ }
+
+ function loadAllCategories(){
- switch(edit.metaDataType){
+ switch(edit.dataType){
case DATA_CST.TYPE.SUBJECT:
- metaRuleToSend.subject_categories.push(edit.selectedMetaData.id);
+ metaDataService.subject.findAllWithCallback(callBackList);
break;
case DATA_CST.TYPE.OBJECT:
- metaRuleToSend.object_categories.push(edit.selectedMetaData.id);
+ metaDataService.object.findAllWithCallback(callBackList);
break;
case DATA_CST.TYPE.ACTION:
- metaRuleToSend.action_categories.push(edit.selectedMetaData.id);
+ metaDataService.action.findAllWithCallback(callBackList);
break;
- }
-
- policyService.update(metaRuleToSend, updateMetaRuleSuccess, updateMetaRuleError);
- function updateMetaRuleSuccess(data){
+ default :
- $translate('moon.model.metarules.update.success', { metaRuleName: metaRuleToSend.name }).then( function(translatedValue) {
+ edit.categoriesToBeSelected = [];
+ break;
- alertService.alertSuccess(translatedValue);
+ }
- });
+ function callBackList(list){
- metaRuleToSend = utilService.transformOne(data, 'meta_rules');
+ edit.categoriesToBeSelected = list;
- $scope.$emit('event:updateMetaRuleFromMetaDataAddSuccess', metaRuleToSend);
+ }
+ }
- stopLoading();
+ function loadAllPolicies() {
- }
+ edit.policyList = [];
- function updateMetaRuleError(reason){
+ policyService.findAllWithCallback( function(data) {
- $translate('moon.model.metarules.update.error', { metaRuleName: metaRuleToSend.name, reason: reason.message}).then( function(translatedValue) {
+ _.each(data, function(element){
- alertService.alertError(translatedValue);
+ if(element.id === edit.policy.id){
+ edit.selectedPolicy = element;
+ }
});
- stopLoading();
-
- }
+ edit.policyList = data;
+ });
}
+
/**
* Create
*/
- function createMetaData() {
+ function createData() {
if(formService.isInvalid(edit.form)) {
@@ -170,140 +172,74 @@
startLoading();
- var metaDataToSend = angular.copy(edit.metaData);
+ var dataToSend = angular.copy(edit.data);
- switch(edit.metaDataType){
+ switch(edit.dataType){
case DATA_CST.TYPE.SUBJECT:
- metaDataService.subject.add(metaDataToSend, createSuccess, createError);
+ dataService.subject.add(dataToSend, edit.policy.id, edit.selectedCategory.id, createSuccess, createError);
break;
case DATA_CST.TYPE.OBJECT:
- metaDataService.object.add(metaDataToSend, createSuccess, createError);
+ dataService.object.add(dataToSend, edit.policy.id, edit.selectedCategory.id, createSuccess, createError);
break;
case DATA_CST.TYPE.ACTION:
- metaDataService.action.add(metaDataToSend, createSuccess, createError);
+ dataService.action.add(dataToSend, edit.policy.id, edit.selectedCategory.id, createSuccess, createError);
break;
}
}
+ /**
+ * @param data
+ */
function createSuccess(data) {
var created = {};
- switch(edit.metaDataType){
+ switch(edit.dataType){
case DATA_CST.TYPE.SUBJECT:
- created = utilService.transformOne(data, 'subject_categories');
+ created = utilService.transformOne(data['subject_data'], 'data');
break;
case DATA_CST.TYPE.OBJECT:
- created = utilService.transformOne(data, 'object_categories');
+ created = utilService.transformOne(data['object_data'], 'data');
break;
case DATA_CST.TYPE.ACTION:
- created = utilService.transformOne(data, 'action_categories');
+ created = utilService.transformOne(data['action_data'], 'data');
break;
}
- $translate('moon.model.metadata.edit.create.success', { name: created.name }).then(function (translatedValue) {
+ $translate('moon.policy.data.edit.create.success', { name: created.name }).then(function (translatedValue) {
alertService.alertSuccess(translatedValue);
});
+ $scope.$emit('event:createDataFromDataEditSuccess', created, edit.dataType);
+
stopLoading();
edit.list.push(created);
- displayList();
-
}
function createError(reason) {
- $translate('moon.model.metadata.edit.create.error', { name: metaDataToSend.name }).then(function (translatedValue) {
- alertService.alertError(translatedValue);
- });
-
- stopLoading();
-
- }
-
- }
-
- function deleteMetaData(){
-
- if(!edit.selectedMetaData){
-
- return;
-
- }
-
- startLoading();
-
- var metaDataToDelete = angular.copy(edit.selectedMetaData);
-
- switch(edit.metaDataType){
- case DATA_CST.TYPE.SUBJECT:
-
- metaDataService.subject.delete(metaDataToDelete, deleteSuccess, deleteError);
- break;
-
- case DATA_CST.TYPE.OBJECT:
-
- metaDataService.object.delete(metaDataToDelete, deleteSuccess, deleteError);
- break;
-
- case DATA_CST.TYPE.ACTION:
-
- metaDataService.action.delete(metaDataToDelete, deleteSuccess, deleteError);
- break;
- }
-
-
- function deleteSuccess(data) {
-
- $translate('moon.model.metadata.edit.delete.success', { name: metaDataToDelete.name }).then(function (translatedValue) {
- alertService.alertSuccess(translatedValue);
- });
-
- policyService.findOneWithMetaData(edit.metaRule.id).then( function(metaRule){
-
- edit.metaRule = metaRule;
-
- cleanSelectedValue();
-
- activate();
-
- stopLoading();
-
- $scope.$emit('event:deleteMetaDataFromMetaDataAddSuccess', edit.metaRule);
-
- });
-
- }
-
- function deleteError(reason) {
-
- $translate('moon.model.metadata.edit.delete.error', { name: metaDataToDelete.name }).then(function (translatedValue) {
+ $translate('moon.policy.data.edit.create.error', { name: dataToSend.name }).then(function (translatedValue) {
alertService.alertError(translatedValue);
});
stopLoading();
}
- }
-
- function cleanSelectedValue(){
-
- delete edit.selectedMetaData;
}
@@ -319,12 +255,6 @@
}
- function displayList(){
-
- edit.fromList = true;
-
- }
-
}
})(); \ No newline at end of file
diff --git a/moonv4/moon_gui/static/app/policy/edit/parameter/data/data.list.dir.js b/moonv4/moon_gui/static/app/policy/edit/parameter/data/data.list.dir.js
index 07afd1b9..23a7e535 100644
--- a/moonv4/moon_gui/static/app/policy/edit/parameter/data/data.list.dir.js
+++ b/moonv4/moon_gui/static/app/policy/edit/parameter/data/data.list.dir.js
@@ -28,9 +28,9 @@
.module('moon')
.controller('moonDataListController', moonDataListController);
- moonDataListController.$inject = ['$scope', '$rootScope', 'dataService', '$translate', 'alertService', 'policyService', 'DATA_CST', 'utilService', 'metaDataService'];
+ moonDataListController.$inject = ['$scope', '$rootScope', 'dataService', '$translate', 'alertService', 'DATA_CST', 'metaDataService'];
- function moonDataListController($scope, $rootScope, dataService, $translate, alertService, policyService, DATA_CST, utilService, metaDataService){
+ function moonDataListController($scope, $rootScope, dataService, $translate, alertService, DATA_CST, metaDataService){
var list = this;
@@ -41,10 +41,6 @@
list.typeOfObject = DATA_CST.TYPE.OBJECT;
list.typeOfAction = DATA_CST.TYPE.ACTION;
- list.unMapSub = unMapSub;
- list.unMapObj = unMapObj;
- list.unMapAct = unMapAct;
-
list.deleteSub = deleteSub;
list.deleteObj = deleteObj;
list.deleteAct = deleteAct;
@@ -69,13 +65,13 @@
var rootListeners = {
- 'event:deleteDataFromDataAddSuccess': $rootScope.$on('event:deleteDataFromDataAddSuccess', deletePolicy)
+ 'event:createDataFromDataEditSuccess': $rootScope.$on('event:createDataFromDataEditSuccess', addDataToList)
};
- for (var unbind in rootListeners) {
+ _.each(rootListeners, function(unbind){
$scope.$on('$destroy', rootListeners[unbind]);
- }
+ });
function manageSubjects(){
@@ -84,8 +80,6 @@
dataService.subject.findAllFromPolicyWithCallback(list.policy.id, function(data){
- console.log('subjects');
- console.log(data);
list.subjects = data;
list.loadingSub = false;
@@ -98,8 +92,6 @@
dataService.object.findAllFromPolicyWithCallback(list.policy.id, function(data){
- console.log('objects');
- console.log(data);
list.objects = data;
list.loadingObj = false;
@@ -113,8 +105,6 @@
dataService.action.findAllFromPolicyWithCallback(list.policy.id, function(data){
- console.log('actions');
- console.log(data);
list.actions = data;
list.loadingAct = false;
@@ -163,118 +153,6 @@
}
/**
- * UnMap
- */
-
- function unMapSub(subject){
-
- subject.loader = true;
-
- var policyToSend = angular.copy(list.policy);
-
- policyToSend.subject_categories = _.without(policyToSend.subject_categories, subject.id);
-
- policyService.update(policyToSend, updatePolicySuccess, updatePolicyError);
-
- function updatePolicySuccess(data){
-
- $translate('moon.policy.metarules.update.success', { policyName: list.policy.name }).then( function(translatedValue) {
- alertService.alertSuccess(translatedValue);
- });
-
- list.policy = policyService.findDataFromPolicy(utilService.transformOne(data, 'meta_rules'));
-
- activate();
-
- subject.loader = false;
-
- }
-
- function updatePolicyError(reason){
-
- $translate('moon.policy.metarules.update.error', { policyName: list.policy.name, reason: reason.message}).then( function(translatedValue) {
- alertService.alertError(translatedValue);
- });
-
- subject.loader = false;
-
- }
-
- }
-
- function unMapObj(object){
-
- object.loader = true;
-
- var policyToSend = angular.copy(list.policy);
-
- policyToSend.object_categories = _.without(policyToSend.object_categories, object.id);
-
- policyService.update(policyToSend, updatePolicySuccess, updatePolicyError);
-
- function updatePolicySuccess(data){
-
- $translate('moon.policy.metarules.update.success', { policyName: list.policy.name }).then( function(translatedValue) {
- alertService.alertSuccess(translatedValue);
- });
-
- list.policy = policyService.findDataFromPolicy(utilService.transformOne(data, 'meta_rules'));
-
- activate();
-
- object.loader = false;
-
- }
-
- function updatePolicyError(reason){
-
- $translate('moon.policy.metarules.update.error', { policyName: list.policy.name, reason: reason.message}).then( function(translatedValue) {
- alertService.alertError(translatedValue);
- });
-
- object.loader = false;
-
- }
-
- }
-
- function unMapAct(action){
-
- action.loader = true;
-
- var policyToSend = angular.copy(list.policy);
-
- policyToSend.action_categories = _.without(policyToSend.action_categories, action.id);
-
- policyService.update(policyToSend, updatePolicySuccess, updatePolicyError);
-
- function updatePolicySuccess(data){
-
- $translate('moon.policy.metarules.update.success', { policyName: list.policy.name }).then( function(translatedValue) {
- alertService.alertSuccess(translatedValue);
- });
-
- list.policy = policyService.findDataFromPolicy(utilService.transformOne(data, 'meta_rules'));
-
- activate();
-
- action.loader = false;
-
- }
-
- function updatePolicyError(reason){
-
- $translate('moon.policy.metarules.update.error', { policyName: list.policy.name, reason: reason.message}).then( function(translatedValue) {
- alertService.alertError(translatedValue);
- });
-
- action.loader = false;
-
- }
-
- }
-
- /**
* Delete
*/
@@ -282,11 +160,11 @@
subject.loader = true;
- dataService.subject.delete(subject, deleteSubSuccess, deleteSubError);
+ dataService.subject.delete(subject, list.policy.id, subject.category_id, deleteSubSuccess, deleteSubError);
function deleteSubSuccess(data){
- $translate('moon.policy.perimeter.subject.delete.success', { subjectName: subject.name }).then( function(translatedValue) {
+ $translate('moon.policy.data.subject.delete.success', { subjectName: subject.name }).then( function(translatedValue) {
alertService.alertSuccess(translatedValue);
});
@@ -298,7 +176,7 @@
function deleteSubError(reason){
- $translate('moon.policy.perimeter.subject.delete.error', { subjectName: subject.name, reason: reason.message}).then( function(translatedValue) {
+ $translate('moon.policy.data.subject.delete.error', { subjectName: subject.name, reason: reason.message}).then( function(translatedValue) {
alertService.alertError(translatedValue);
});
@@ -311,11 +189,11 @@
object.loader = true;
- dataService.object.delete(object, deleteObjSuccess, deleteObjError);
+ dataService.object.delete(object, list.policy.id, object.category_id, deleteObjSuccess, deleteObjError);
function deleteObjSuccess(data){
- $translate('moon.policy.perimeter.object.delete.success', { objectName: object.name }).then( function(translatedValue) {
+ $translate('moon.policy.data.object.delete.success', { objectName: object.name }).then( function(translatedValue) {
alertService.alertSuccess(translatedValue);
});
@@ -327,7 +205,7 @@
function deleteObjError(reason){
- $translate('moon.policy.perimeter.object.delete.error', { objectName: object.name, reason: reason.message}).then( function(translatedValue) {
+ $translate('moon.policy.data.object.delete.error', { objectName: object.name, reason: reason.message}).then( function(translatedValue) {
alertService.alertError(translatedValue);
});
@@ -339,11 +217,11 @@
action.loader = true;
- dataService.action.delete(action, deleteActSuccess, deleteActError);
+ dataService.action.delete(action, list.policy.id, action.category_id, deleteActSuccess, deleteActError);
function deleteActSuccess(data){
- $translate('moon.policy.perimeter.action.delete.success', { actionName: action.name }).then( function(translatedValue) {
+ $translate('moon.policy.data.action.delete.success', { actionName: action.name }).then( function(translatedValue) {
alertService.alertSuccess(translatedValue);
});
@@ -355,7 +233,7 @@
function deleteActError(reason){
- $translate('moon.policy.perimeter.action.delete.error', { actionName: action.name, reason: reason.message}).then( function(translatedValue) {
+ $translate('moon.policy.data.action.delete.error', { actionName: action.name, reason: reason.message}).then( function(translatedValue) {
alertService.alertError(translatedValue);
});
@@ -388,11 +266,25 @@
list.actions = _.without(list.actions, action);
}
- function deletePolicy( event, policy){
+ function addDataToList( event, data, typeOfData){
+
+ switch(typeOfData){
- list.policy = policy;
+ case DATA_CST.TYPE.SUBJECT:
- activate();
+ list.subjects.push(data);
+ break;
+
+ case DATA_CST.TYPE.OBJECT:
+
+ list.objects.push(data);
+ break;
+
+ case DATA_CST.TYPE.ACTION:
+
+ list.actions.push(data);
+ break;
+ }
}