aboutsummaryrefslogtreecommitdiffstats
path: root/moonv4/moon_gui/static/app/policy/edit/parameter/perimeter/perimeter.edit.dir.js
diff options
context:
space:
mode:
Diffstat (limited to 'moonv4/moon_gui/static/app/policy/edit/parameter/perimeter/perimeter.edit.dir.js')
-rwxr-xr-xmoonv4/moon_gui/static/app/policy/edit/parameter/perimeter/perimeter.edit.dir.js437
1 files changed, 0 insertions, 437 deletions
diff --git a/moonv4/moon_gui/static/app/policy/edit/parameter/perimeter/perimeter.edit.dir.js b/moonv4/moon_gui/static/app/policy/edit/parameter/perimeter/perimeter.edit.dir.js
deleted file mode 100755
index a96741fe..00000000
--- a/moonv4/moon_gui/static/app/policy/edit/parameter/perimeter/perimeter.edit.dir.js
+++ /dev/null
@@ -1,437 +0,0 @@
-(function () {
-
- 'use strict';
-
- angular
- .module('moon')
- .directive('moonPerimeterEdit', moonPerimeterEdit);
-
- moonPerimeterEdit.$inject = [];
-
- function moonPerimeterEdit() {
-
- return {
- templateUrl: 'html/policy/edit/parameter/perimeter/perimeter-edit.tpl.html',
- bindToController: true,
- controller: moonPerimeterEditController,
- controllerAs: 'edit',
- scope: {
- //Type can be 'ACTION', 'OBJECT', 'SUBJECT'
- perimeterType: '=',
- policy: '='
- },
- restrict: 'E',
- replace: true
- };
- }
-
-
- angular
- .module('moon')
- .controller('moonPerimeterEditController', moonPerimeterEditController);
-
- moonPerimeterEditController.$inject = ['$scope', '$rootScope',
- 'perimeterService', 'PERIMETER_CST', 'alertService',
- '$translate', 'formService', 'policyService', 'utilService'];
-
- function moonPerimeterEditController($scope, $rootScope,
- perimeterService, PERIMETER_CST, alertService,
- $translate, formService, policyService, utilService) {
-
- var edit = this;
-
- edit.perimeterType = $scope.edit.perimeterType;
- // This variable is used in the view in order to display or not display email field
- edit.subjectType = PERIMETER_CST.TYPE.SUBJECT;
- edit.policy = $scope.edit.policy;
-
- edit.fromList = true;
-
- edit.loading = false;
-
- edit.form = {};
-
- edit.perimeter = {name: null, description: null, partner_id: null, policy_list: [], email: null};
-
- edit.list = [];
- edit.policyList = [];
- edit.policiesToBeSelected = [];
- edit.selectedPolicyList = []; // List of Policies to be added to a new perimeter
-
- edit.create = createPerimeter;
- edit.addToPolicy = addToPolicy;
- edit.addPolicyToPerimeter = addPolicyToPerimeter;
- edit.clearSelectedPolicies = clearSelectedPolicies;
- edit.removeSelectedPolicy = removeSelectedPolicy;
- edit.deletePerimeter = deletePerimeter;
-
- activate();
-
- /*
- *
- */
-
- function activate() {
-
- loadAllPolicies();
-
- switch (edit.perimeterType) {
-
- case PERIMETER_CST.TYPE.SUBJECT:
-
- perimeterService.subject.findAllWithCallback(callBackList);
- break;
-
- case PERIMETER_CST.TYPE.OBJECT:
-
- perimeterService.object.findAllWithCallback(callBackList);
- break;
-
- case PERIMETER_CST.TYPE.ACTION:
-
- perimeterService.action.findAllWithCallback(callBackList);
- break;
-
- default :
-
- edit.list = [];
- break;
-
- }
-
- function callBackList(list) {
-
- // For each Perimeter, there is a check about the mapping between the perimeter and the policy
- _.each(list, function (element) {
-
- if (_.indexOf(element.policy_list, edit.policy.id) === -1) {
-
- edit.list.push(element);
-
- }
-
- });
-
- }
-
- }
-
- var rootListeners = {
-
- 'event:unMapPerimeterFromPerimeterList': $rootScope.$on('event:unMapPerimeterFromPerimeterList', manageUnMappedPerimeter)
-
- };
-
- _.each(rootListeners, function(unbind){
- $scope.$on('$destroy', rootListeners[unbind]);
- });
-
-
- function loadAllPolicies() {
-
- edit.policyList = [];
-
- policyService.findAllWithCallback( function(data) {
-
- edit.policyList = data;
- edit.policiesToBeSelected = angular.copy(edit.policyList);
-
- });
- }
-
- function addPolicyToPerimeter() {
-
- if (!edit.selectedPolicy || _.contains(edit.perimeter.policy_list, edit.selectedPolicy.id)) {
- return;
- }
-
- edit.perimeter.policy_list.push(edit.selectedPolicy.id);
- edit.selectedPolicyList.push(edit.selectedPolicy);
- edit.policiesToBeSelected = _.without(edit.policiesToBeSelected, edit.selectedPolicy);
-
- }
-
- function clearSelectedPolicies() {
-
- edit.perimeter.policy_list = [];
- edit.selectedPolicyList = [];
- edit.policiesToBeSelected = angular.copy(edit.policyList);
-
- }
-
- function removeSelectedPolicy(policy) {
-
- edit.policiesToBeSelected.push(policy);
- edit.perimeter.policy_list = _.without(edit.perimeter.policy_list, policy.id);
- edit.selectedPolicyList = _.without(edit.selectedPolicyList, policy);
-
- }
-
- /**
- * Add
- */
-
- function addToPolicy() {
-
- if (!edit.selectedPerimeter) {
-
- return;
-
- }
-
- startLoading();
-
- var perimeterToSend = edit.selectedPerimeter;
-
- perimeterToSend.policy_list.push(edit.policy.id);
-
- switch (edit.perimeterType) {
-
- case PERIMETER_CST.TYPE.SUBJECT:
-
- perimeterService.subject.update(perimeterToSend, updatePerimeterSuccess, updatePerimeterError);
- break;
-
- case PERIMETER_CST.TYPE.OBJECT:
-
- perimeterService.object.update(perimeterToSend, updatePerimeterSuccess, updatePerimeterError);
- break;
-
- case PERIMETER_CST.TYPE.ACTION:
-
- perimeterService.action.update(perimeterToSend, updatePerimeterSuccess, updatePerimeterError);
- break;
- }
-
-
- function updatePerimeterSuccess(data) {
-
- $translate('moon.perimeter.update.success', {policyName: perimeterToSend.name}).then(function (translatedValue) {
-
- alertService.alertSuccess(translatedValue);
-
- });
-
- stopLoading();
-
- }
-
- function updatePerimeterError(reason) {
-
- $translate('moon.policy.update.error', {
- policyName: perimeterToSend.name,
- reason: reason.message
- }).then(function (translatedValue) {
-
- alertService.alertError(translatedValue);
-
- });
-
- stopLoading();
-
- }
-
- }
-
- /**
- * Create
- */
-
- function createPerimeter() {
-
- if (formService.isInvalid(edit.form)) {
-
- formService.checkFieldsValidity(edit.form);
-
- } else {
-
- startLoading();
-
- var perimeterToSend = angular.copy(edit.perimeter);
-
- switch (edit.perimeterType) {
-
- case PERIMETER_CST.TYPE.SUBJECT:
-
- perimeterService.subject.add(perimeterToSend, createSuccess, createError);
- break;
-
- case PERIMETER_CST.TYPE.OBJECT:
-
- perimeterService.object.add(perimeterToSend, createSuccess, createError);
- break;
-
- case PERIMETER_CST.TYPE.ACTION:
-
- perimeterService.action.add(perimeterToSend, createSuccess, createError);
- break;
- }
-
- }
-
- function createSuccess(data) {
-
- var created = {};
-
- switch (edit.perimeterType) {
-
- case PERIMETER_CST.TYPE.SUBJECT:
-
- created = utilService.transformOne(data, 'subjects');
- break;
-
- case PERIMETER_CST.TYPE.OBJECT:
-
- created = utilService.transformOne(data, 'objects');
- break;
-
- case PERIMETER_CST.TYPE.ACTION:
-
- created = utilService.transformOne(data, 'actions');
- break;
- }
-
- $translate('moon.policy.perimeter.edit.create.success', {name: created.name}).then(function (translatedValue) {
- alertService.alertSuccess(translatedValue);
- });
-
- stopLoading();
-
- /**
- * If during the creating the created assignments has be mapped with the current policy, then it is not required to push the new Assignments in the list
- */
- if (_.indexOf(created.policy_list, edit.policy.id) === -1) {
-
- edit.list.push(created);
-
- }else{
-
- $scope.$emit('event:createAssignmentsFromAssignmentsEditSuccess', created, edit.perimeterType);
-
- }
-
- displayList();
-
- clearSelectedPolicies();
-
- }
-
- function createError(reason) {
-
- $translate('moon.policy.perimeter.edit.create.error', {name: perimeterToSend.name}).then(function (translatedValue) {
- alertService.alertError(translatedValue);
- });
-
- stopLoading();
-
- }
-
- }
-
- /**
- * Delete
- */
- function deletePerimeter() {
-
- if (!edit.selectedPerimeter) {
-
- return;
-
- }
-
- startLoading();
-
- var perimeterToDelete = angular.copy(edit.selectedPerimeter);
-
- switch (edit.perimeterType) {
- case PERIMETER_CST.TYPE.SUBJECT:
-
- perimeterService.subject.delete(perimeterToDelete, deleteSuccess, deleteError);
- break;
-
- case PERIMETER_CST.TYPE.OBJECT:
-
- perimeterService.object.delete(perimeterToDelete, deleteSuccess, deleteError);
- break;
-
- case PERIMETER_CST.TYPE.ACTION:
-
- perimeterService.action.delete(perimeterToDelete, deleteSuccess, deleteError);
- break;
- }
-
-
- function deleteSuccess(data) {
-
- $translate('moon.policy.perimeter.edit.delete.success', {name: perimeterToDelete.name})
- .then(function (translatedValue) {
- alertService.alertSuccess(translatedValue);
- });
-
- policyService.findOneReturningPromise(edit.policy.id).then(function (data) {
-
- edit.policy = utilService.transformOne(data, 'policies');
-
- cleanSelectedValue();
- activate();
- stopLoading();
-
- $scope.$emit('event:deletePerimeterFromPerimeterAddSuccess', edit.policy);
-
- });
-
- }
-
- function deleteError(reason) {
-
- $translate('moon.policy.perimeter.edit.delete.error', {name: perimeterToDelete.name}).then(function (translatedValue) {
- alertService.alertError(translatedValue);
- });
-
- stopLoading();
-
- }
- }
-
- function cleanSelectedValue() {
-
- delete edit.selectedPerimeter;
-
- }
-
- function startLoading() {
-
- edit.loading = true;
-
- }
-
- function stopLoading() {
-
- edit.loading = false;
-
- }
-
- function displayList() {
-
- edit.fromList = true;
-
- }
-
- /**
- * If A perimeter has been unMapped, maybe it has to be display into the available list of Perimeter
- * @param perimeter
- * @param type
- */
- function manageUnMappedPerimeter(event, perimeter, type){
-
- if(type === edit.perimeterType && _.indexOf(perimeter.policy_list, edit.policy.id) === -1){
-
- edit.list.push(perimeter);
-
- }
-
- }
-
- }
-
-})(); \ No newline at end of file