diff options
Diffstat (limited to 'moonv4/moon_gui/static/app/policy/edit/parameter/data')
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; + } } |