diff options
Diffstat (limited to 'moon_gui/static/app/policy/edit/parameter/perimeter/perimeter.edit.dir.js')
-rwxr-xr-x | moon_gui/static/app/policy/edit/parameter/perimeter/perimeter.edit.dir.js | 437 |
1 files changed, 0 insertions, 437 deletions
diff --git a/moon_gui/static/app/policy/edit/parameter/perimeter/perimeter.edit.dir.js b/moon_gui/static/app/policy/edit/parameter/perimeter/perimeter.edit.dir.js deleted file mode 100755 index d72e23b7..00000000 --- a/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() { - edit.list = _.without(edit.list, edit.selectedPerimeter); - 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 |