diff options
author | Thomas Duval <thomas.duval@orange.com> | 2020-06-03 10:06:52 +0200 |
---|---|---|
committer | Thomas Duval <thomas.duval@orange.com> | 2020-06-03 10:06:52 +0200 |
commit | 7bb53c64da2dcf88894bfd31503accdd81498f3d (patch) | |
tree | 4310e12366818af27947b5e2c80cb162da93a4b5 /moon_gui/static/app/pdp | |
parent | cbea4e360e9bfaa9698cf7c61c83c96a1ba89b8c (diff) |
Update to new version 5.4HEADstable/jermamaster
Signed-off-by: Thomas Duval <thomas.duval@orange.com>
Change-Id: Idcd868133d75928a1ffd74d749ce98503e0555ea
Diffstat (limited to 'moon_gui/static/app/pdp')
-rwxr-xr-x | moon_gui/static/app/pdp/action/pdp-add.tpl.html | 88 | ||||
-rwxr-xr-x | moon_gui/static/app/pdp/action/pdp-delete.tpl.html | 35 | ||||
-rwxr-xr-x | moon_gui/static/app/pdp/action/pdp.controller.add.js | 108 | ||||
-rwxr-xr-x | moon_gui/static/app/pdp/action/pdp.controller.delete.js | 66 | ||||
-rwxr-xr-x | moon_gui/static/app/pdp/edit/pdp-edit-basic.tpl.html | 65 | ||||
-rwxr-xr-x | moon_gui/static/app/pdp/edit/pdp-edit.tpl.html | 64 | ||||
-rwxr-xr-x | moon_gui/static/app/pdp/edit/pdp.controller.edit.js | 50 | ||||
-rwxr-xr-x | moon_gui/static/app/pdp/edit/pdp.edit.basic.dir.js | 97 | ||||
-rwxr-xr-x | moon_gui/static/app/pdp/pdp-list.tpl.html | 133 | ||||
-rwxr-xr-x | moon_gui/static/app/pdp/pdp.controller.list.js | 284 |
10 files changed, 0 insertions, 990 deletions
diff --git a/moon_gui/static/app/pdp/action/pdp-add.tpl.html b/moon_gui/static/app/pdp/action/pdp-add.tpl.html deleted file mode 100755 index f83fb85c..00000000 --- a/moon_gui/static/app/pdp/action/pdp-add.tpl.html +++ /dev/null @@ -1,88 +0,0 @@ -<div ng-controller="PDPAddController as add" class="modal" tabindex="-1" data-role="modalAddPDP"> - - <div class="modal-dialog"> - - <div class="modal-content"> - - <div class="modal-header"> - <button type="button" class="close" ng-click="$hide()">×</button> - <h4 class="modal-title" data-translate="moon.pdp.add.title"></h4> - </div> - - <div class="modal-body"> - - <form class="form-horizontal" role="form" name="add.form"> - - <div class="form-group" ng-class="{'has-error': add.form.name.$invalid && add.form.name.$dirty}"> - - <label for="name" class="col-sm-3 control-label" data-translate="moon.pdp.add.form.name">Name</label> - - <div class="col-sm-6"> - - <input name="name" id="name" class="form-control" type="text" data-ng-model="add.pdp.name" required /> - - <div class="help-block" ng-show="add.form.name.$dirty && add.form.name.$invalid"> - <small class="error" ng-show="add.form.name.$error.required" data-translate="moon.pdp.add.check.name.required">Name is required</small> - </div> - - </div> - </div> - - <div class="form-group" ng-class="{'has-error': add.form.policy.$dirty && (add.form.policy.$invalid || !add.selectedPolicy)}"> - - <label class="col-sm-3 control-label" data-translate="moon.pdp.add.form.policy">Policy</label> - - <div class="col-sm-6" ng-if="!add.loadingPolicies"> - - <ui-select ng-model="add.selectedPolicy" name="policy" required> - <ui-select-match placeholder="(None)">{{$select.selected.name}}</ui-select-match> - <ui-select-choices repeat="policy in add.policies"> - <div ng-value="policy">{{policy.name}}</div> - </ui-select-choices> - </ui-select> - - <div class="help-block" ng-show="add.form.policy.$dirty && (add.form.policy.$invalid || !add.selectedPolicy)"> - <small class="error" ng-show="add.form.policy.$error.required" data-translate="moon.pdp.add.check.policy.required">Policy is required</small> - </div> - - </div> - - <div class="col-sm-6" ng-if="add.loadingPolicies"> - <moon-loader ng-if="add.loadingPolicies" ></moon-loader> - </div> - - </div> - - <div class="form-group"> - - <label for="description" class="col-sm-3 control-label" data-translate="moon.pdp.add.form.description">Description</label> - <div class="col-sm-6"> - <textarea name="description" id="description" class="form-control" ng-model="add.pdp.description"></textarea> - </div> - - </div> - - </form> - - </div> - - <div class="modal-footer"> - - <div class="btn-toolbar" style="float: right;"> - <a href="" ng-click="$hide()" class="btn btn-default"> - <span data-translate="moon.pdp.add.action.cancel">Cancel</span> - </a> - <a href="" ng-disabled="add.loading" ng-click="add.create(add.pdp)" class="btn btn-warning"> - <span class="glyphicon glyphicon-save"></span> - <span data-translate="moon.pdp.add.action.create">Create</span> - </a> - <moon-loader ng-if="add.loading"></moon-loader> - </div> - - </div> - - </div> - - </div> - -</div> diff --git a/moon_gui/static/app/pdp/action/pdp-delete.tpl.html b/moon_gui/static/app/pdp/action/pdp-delete.tpl.html deleted file mode 100755 index 167ba417..00000000 --- a/moon_gui/static/app/pdp/action/pdp-delete.tpl.html +++ /dev/null @@ -1,35 +0,0 @@ -<div ng-controller="PDPDeleteController as del" class="modal" tabindex="-1" data-role="modalDeletePDP"> - - <div class="modal-dialog"> - - <div class="modal-content"> - - <div class="modal-header"> - <button type="button" class="close" ng-click="$hide()">×</button> - <h4 class="modal-title" data-translate="moon.pdp.remove.title"></h4> - </div> - - <div class="modal-body"> - <span data-translate="moon.pdp.remove.content" data-translate-values="{ pdpName: del.pdp.name}"></span> - </div> - - <div class="modal-footer"> - <div class="btn-toolbar" style="float: right;"> - <a href="" ng-click="$hide()" class="btn btn-default"> - <span data-translate="moon.pdp.remove.action.cancel">Cancel</span> - </a> - - <a href="" ng-disabled="del.loading" ng-click="del.remove()" class="btn btn-warning"> - <span class="glyphicon glyphicon-trash"></span> - <span data-translate="moon.pdp.remove.action.delete">Delete</span> - </a> - - <moon-loader ng-if="del.loading"></moon-loader> - </div> - </div> - - </div> - - </div> - -</div> diff --git a/moon_gui/static/app/pdp/action/pdp.controller.add.js b/moon_gui/static/app/pdp/action/pdp.controller.add.js deleted file mode 100755 index d1c34c79..00000000 --- a/moon_gui/static/app/pdp/action/pdp.controller.add.js +++ /dev/null @@ -1,108 +0,0 @@ -/** - * @author arnaud marhin<arnaud.marhin@orange.com> - */ - -(function() { - - 'use strict'; - - angular - .module('moon') - .controller('PDPAddController', PDPAddController); - - PDPAddController.$inject = ['$scope', '$translate', 'alertService', 'formService', 'pdpService', 'policyService', 'utilService']; - - function PDPAddController($scope, $translate, alertService, formService, pdpService, policyService, utilService) { - - var add = this; - - /* - * - */ - - add.form = {}; - - add.pdp = {}; - - add.policies = []; - - add.selectedPolicy = null; - - add.loading = false; - add.loadingPolicies = true; - - add.create = createPDP; - - resolvePolicies(); - - /* - * - */ - - /** - * This function return an array of all policies/template ids - */ - function resolvePolicies() { - - policyService.findAllWithCallback(function(policies){ - - add.policies = policies; - add.loadingPolicies = false; - }); - - } - - function createPDP(pdp) { - - if(formService.isInvalid(add.form)) { - - formService.checkFieldsValidity(add.form); - - } else { - - add.loading = true; - - pdpService.data.pdp.create({}, { - - name: add.pdp.name, - description: add.pdp.description, - security_pipeline: [add.selectedPolicy.id], - keystone_project_id: null - - }, createSuccess, createError); - - } - - function createSuccess(data) { - - $translate('moon.pdp.add.success', { pdpName: pdp.name }) - .then(function (translatedValue) { - alertService.alertSuccess(translatedValue); - }); - - var createdPdp = utilService.transformOne(data, 'pdps'); - - add.loading = false; - - $scope.$emit('event:pdpCreatedSuccess', createdPdp); - - } - - function createError(reason) { - - $translate('moon.pdp.add.error', { pdpName: pdp.name }) - .then(function (translatedValue) { - alertService.alertError(translatedValue); - }); - - add.loading = false; - - $scope.$emit('event:pdpCreatedError'); - - } - - } - - } - -})(); diff --git a/moon_gui/static/app/pdp/action/pdp.controller.delete.js b/moon_gui/static/app/pdp/action/pdp.controller.delete.js deleted file mode 100755 index 62557864..00000000 --- a/moon_gui/static/app/pdp/action/pdp.controller.delete.js +++ /dev/null @@ -1,66 +0,0 @@ -/** - * @author arnaud marhin<arnaud.marhin@orange.com> - */ - -(function() { - - 'use strict'; - - angular - .module('moon') - .controller('PDPDeleteController', PDPDeleteController); - - PDPDeleteController.$inject = ['$scope', '$translate', 'alertService', 'pdpService']; - - function PDPDeleteController($scope, $translate, alertService, pdpService) { - - var del = this; - - /* - * - */ - - del.pdp = $scope.pdp; - del.loading = false; - del.remove = deletePDP; - - /* - * - */ - - function deletePDP() { - del.loading = true; - - pdpService.data.pdp.remove({pdp_id: del.pdp.id}, deleteSuccess, deleteError); - - function deleteSuccess(data) { - - $translate('moon.pdp.remove.success', { pdpName: del.pdp.name }) - .then(function (translatedValue) { - alertService.alertSuccess(translatedValue); - }); - - del.loading = false; - - $scope.$emit('event:pdpDeletedSuccess', del.pdp); - - } - - function deleteError(reason) { - - $translate('moon.pdp.remove.error', { pdpName: del.pdp.name }) - .then(function (translatedValue) { - alertService.alertError(translatedValue); - }); - - del.loading = false; - - $scope.$emit('event:pdpDeletedError', del.pdp); - - } - - } - - } - -})(); diff --git a/moon_gui/static/app/pdp/edit/pdp-edit-basic.tpl.html b/moon_gui/static/app/pdp/edit/pdp-edit-basic.tpl.html deleted file mode 100755 index 887d81ca..00000000 --- a/moon_gui/static/app/pdp/edit/pdp-edit-basic.tpl.html +++ /dev/null @@ -1,65 +0,0 @@ -<div class="row"> - - <form class="form-horizontal" role="form" name="edit.form"> - - <div class="form-group"> - - <label for="id" class="col-sm-3 control-label" data-translate="moon.pdp.edit.basic.form.id">Id</label> - - <div class="col-sm-6"> - - <input name="id" id="id" disabled class="form-control" type="text" data-ng-model="edit.pdpToEdit.id" required /> - - </div> - - </div> - - <div class="form-group" ng-class="{'has-error': edit.form.name.$invalid && edit.form.name.$dirty}"> - - <label for="name" class="col-sm-3 control-label" data-translate="moon.pdp.edit.basic.form.name">Name</label> - - <div class="col-sm-6"> - - <input name="name" id="name" class="form-control" type="text" data-ng-model="edit.pdpToEdit.name" required /> - - <div class="help-block" ng-show="edit.form.name.$dirty && edit.form.name.$invalid"> - <small class="error" ng-show="edit.form.name.$error.required" data-translate="moon.pdp.edit.basic.check.name.required">Name is required</small> - </div> - - </div> - - </div> - - <div class="form-group"> - - <label for="description" class="col-sm-3 control-label" data-translate="moon.pdp.edit.basic.form.description">Description</label> - <div class="col-sm-6"> - <textarea id="description" name="description" class="form-control" data-ng-model="edit.pdpToEdit.description"></textarea> - </div> - - </div> - - <div class="form-group"> - - <div class="col-sm-2 col-sm-offset-3"> - - <a href="" ng-disabled="edit.loading" ng-click="edit.init()" class="btn btn-default"> - <span data-translate="moon.pdp.edit.basic.action.init">Init</span> - </a> - </div> - - <div class="col-sm-4 col-sm-offset-2"> - - <a href="" ng-disabled="edit.loading" ng-click="edit.editPdp()" class="btn btn-warning"> - <span class="glyphicon glyphicon-save"></span> - <span data-translate="moon.pdp.edit.basic.action.update">Update</span> - </a> - - <moon-loader ng-if="edit.loading"></moon-loader> - </div> - - </div> - - </form> - -</div>
\ No newline at end of file diff --git a/moon_gui/static/app/pdp/edit/pdp-edit.tpl.html b/moon_gui/static/app/pdp/edit/pdp-edit.tpl.html deleted file mode 100755 index 1fbd555a..00000000 --- a/moon_gui/static/app/pdp/edit/pdp-edit.tpl.html +++ /dev/null @@ -1,64 +0,0 @@ -<div class="container"> - - <div class="row"> - <h3 class="pull-left" data-translate="moon.pdp.edit.title" data-translate-values="{ pdpName: edit.pdp.name }">Edit</h3> - </div> - - <div class="row"> - <div class="panel panel-default"> - - <div class="panel-heading"> - - <h4> - <span data-translate="moon.pdp.edit.basic.title" >Basic Information</span> - <a href="" ng-click="edit.editBasic = !edit.editBasic"> - <span data-translate="moon.pdp.edit.update">Update</span> - <span class="glyphicon glyphicon-cog"></span> - </a> - </h4> - - </div> - - <div class="panel-body"> - - <div ng-if="edit.editBasic"> - <moon-p-d-p-edit-basic pdp="edit.pdp"></moon-p-d-p-edit-basic> - </div> - - <div ng-if="!edit.editBasic"> - <dl class="dl-horizontal"> - <dt>Id</dt> - <dd ng-bind="edit.pdp.id"></dd> - <dt>Name</dt> - <dd ng-bind="edit.pdp.name"></dd> - <dt>Description</dt> - <dd ng-bind="edit.pdp.description"></dd> - </dl> - </div> - - </div> - - </div> - - <div class="panel panel-default"> - - <div class="panel-heading"> - - <h4 data-translate="moon.pdp.edit.policy.title" >Policies</h4> - - </div> - - <div class="panel-body"> - - <div class="row"> - - <moon-policy-mapped-list pdp="edit.pdp"></moon-policy-mapped-list> - - </div> - - </div> - - </div> - </div> - -</div> diff --git a/moon_gui/static/app/pdp/edit/pdp.controller.edit.js b/moon_gui/static/app/pdp/edit/pdp.controller.edit.js deleted file mode 100755 index 41b73098..00000000 --- a/moon_gui/static/app/pdp/edit/pdp.controller.edit.js +++ /dev/null @@ -1,50 +0,0 @@ -(function() { - - 'use strict'; - - angular - .module('moon') - .controller('PDPEditController', PDPEditController); - - PDPEditController.$inject = ['$scope', '$rootScope', 'pdp', '$stateParams']; - - function PDPEditController($scope, $rootScope, pdp, $stateParams) { - - var edit = this; - - edit.pdp = pdp; - - edit.editBasic = false; - - activate(); - - function activate(){ - - } - - /* - * ---- events - */ - var rootListeners = { - - 'event:pdpUpdatedSuccess': $rootScope.$on('event:pdpUpdatedSuccess', pdpUpdatedSuccess) - - }; - - for (var unbind in rootListeners) { - $scope.$on('$destroy', rootListeners[unbind]); - } - - /** - * When the model is updated, this function refresh the current model with the new changes - * @param event - * @param pdp - */ - function pdpUpdatedSuccess(event, pdp){ - - edit.pdp = pdp; - - } - } - -})(); diff --git a/moon_gui/static/app/pdp/edit/pdp.edit.basic.dir.js b/moon_gui/static/app/pdp/edit/pdp.edit.basic.dir.js deleted file mode 100755 index 402422b6..00000000 --- a/moon_gui/static/app/pdp/edit/pdp.edit.basic.dir.js +++ /dev/null @@ -1,97 +0,0 @@ -(function() { - - 'use strict'; - - angular - .module('moon') - .directive('moonPDPEditBasic', moonPDPEditBasic); - - moonPDPEditBasic.$inject = []; - - function moonPDPEditBasic() { - - return { - templateUrl : 'html/pdp/edit/pdp-edit-basic.tpl.html', - bindToController : true, - controller : moonPDPEditBasicController, - controllerAs : 'edit', - scope : { - pdp : '=' - }, - restrict : 'E', - replace : true - }; - } - - angular - .module('moon') - .controller('moonPDPEditBasicController', moonPDPEditBasicController); - - moonPDPEditBasicController.$inject = ['$scope', 'pdpService', 'formService', 'alertService', '$translate', 'utilService']; - - function moonPDPEditBasicController($scope, pdpService, formService, alertService, $translate, utilService){ - - var edit = this; - - edit.editPdp = editPdp; - edit.init = init; - - edit.form = {}; - - activate(); - - function activate(){ - - edit.pdp = $scope.edit.pdp; - - edit.pdpToEdit = angular.copy(edit.pdp); - - } - - function editPdp(){ - - if(formService.isInvalid(edit.form)) { - - formService.checkFieldsValidity(edit.form); - - }else{ - - edit.loading = true; - - pdpService.update(edit.pdpToEdit, updateSuccess, updateError); - - } - - function updateSuccess(data) { - - var updatedPdp = utilService.transformOne(data, 'pdps'); - - $translate('moon.pdp.edit.basic.success', { pdpName: updatedPdp.name }).then( function(translatedValue) { - alertService.alertSuccess(translatedValue); - }); - - edit.loading = false; - - $scope.$emit('event:pdpUpdatedSuccess', updatedPdp); - - } - - function updateError(reason) { - - $translate('moon.pdp.edit.basic.error', { pdpName: edit.pdp.name }).then( function(translatedValue) { - alertService.alertError(translatedValue); - }); - - edit.loading = false; - - } - } - - function init(){ - - edit.pdpToEdit = angular.copy(edit.pdp); - - } - } - -})(); diff --git a/moon_gui/static/app/pdp/pdp-list.tpl.html b/moon_gui/static/app/pdp/pdp-list.tpl.html deleted file mode 100755 index 8aa4e653..00000000 --- a/moon_gui/static/app/pdp/pdp-list.tpl.html +++ /dev/null @@ -1,133 +0,0 @@ - -<div class="container"> - - <div> - <form class="form-inline pull-right"> - <div class="form-group"> - <div> - <input id="searchPDP" data-ng-model="list.search.query" type="text" class="form-control" placeholder="{{'moon.pdp.list.search.placeholder' | translate}}" /> - </div> - </div> - <div class="form-group"> - <div> - <button type="submit" class="btn btn-danger" data-ng-click="list.search.reset()" data-translate="moon.pdp.list.search.reset">Reset</button> - </div> - </div> - </form> - </div> - - <div> </div> - <div> </div> - <div> </div> - - <div class="row" > - - <div class="table-responsive" data-role="table"> - - <table class="table table-striped table-hover" ng-table="list.table"> - - <thead> - - <tr> - - <th class="customTables sortable" - ng-class="{ 'sort-asc': list.table.isSortBy('name', 'asc'), 'sort-desc': list.table.isSortBy('name', 'desc') }" - ng-click="list.table.sorting('name', list.table.isSortBy('name', 'asc') ? 'desc' : 'asc')"> - <div data-translate="moon.pdp.list.table.name">Name</div> - </th> - - <th class="customTables sortable" - ng-class="{ 'sort-asc': list.table.isSortBy('security_pipeline', 'asc'), 'sort-desc': list.table.isSortBy('security_pipeline', 'desc') }" - ng-click="list.table.sorting('security_pipeline', list.table.isSortBy('policy', 'asc') ? 'desc' : 'asc')"> - <div data-translate="moon.pdp.list.table.security_pipeline.number">Number of Securities</div> - </th> - - <th class="customTables" - ng-class="{ 'sort-asc': list.table.isSortBy('project', 'asc'), 'sort-desc': list.table.isSortBy('project', 'desc') }" - ng-click="list.table.sorting('project', list.table.isSortBy('project', 'asc') ? 'desc' : 'asc')"> - <div data-translate="moon.pdp.list.table.project">Project</div> - </th> - - <th class="customTables"> - <div data-translate="moon.pdp.list.action.title">Actions</div> - </th> - - </tr> - - </thead> - - <tbody ng-if="!list.hasPDPs()"> - <tr> - <td colspan="12"><span data-translate="moon.pdp.list.table.notFound">There is no PDP</span></td> - </tr> - </tbody> - - <tbody ng-if="list.hasPDPs()"> - - <tr ng-repeat="pdp in $data | filter:list.search.find | orderBy:sort:reverse"> - <td ng-bind="list.getPDPName(pdp)"></td> - <td ng-bind="list.getSecPipelineFromPdp(pdp).length"></td> - <td> - <div ng-if="list.isMapped(pdp)"> - - <div ng-if="!list.getProjectFromPDP(pdp)"> - <moon-loader ng-if="!list.getProjectFromPDP(pdp)" ></moon-loader> - <em data-translate="moon.pdp.list.table.loading.project">Loading Project</em> - </div> - - <div ng-if="list.getProjectFromPDP(pdp)"> - <span ng-bind="pdp.project.name"></span> - </div> - - </div> - - <div ng-if="!list.isMapped(pdp)"> - <span data-translate="moon.pdp.list.table.mapping.map">Is not mapped</span> - </div> - </td> - <td> - <div class="dropdown"> - <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown"> - <span data-translate="moon.pdp.list.action.title">Actions</span> - <span class="caret"></span> - </button> - <ul class="dropdown-menu"> - - <li> - <a href="" ui-sref="moon.pdp.edit({id: pdp.id})"> - <span class="glyphicon glyphicon-cog"></span> - <span class="control-label" data-translate="moon.pdp.list.action.edit">Edit</span> - </a> - </li> - - <li class="divider"></li> - - <li> - <a href="" ng-click="list.del.showModal(pdp)"> - <span class="glyphicon glyphicon-trash"></span> - <span class="control-label" data-translate="moon.pdp.list.action.delete">Delete</span> - </a> - </li> - </ul> - </div> - </td> - - </tr> - - </tbody> - - </table> - - </div> - - <div class="container"> - <div class="form-inline form-group"> - <a href="" ng-click="list.add.showModal()" class="btn btn-default"> - <span class="glyphicon glyphicon-plus-sign"></span> - <span data-translate="moon.pdp.list.action.add">Add PDP</span> - </a> - </div> - </div> - - </div> -</div>
\ No newline at end of file diff --git a/moon_gui/static/app/pdp/pdp.controller.list.js b/moon_gui/static/app/pdp/pdp.controller.list.js deleted file mode 100755 index a831cfe3..00000000 --- a/moon_gui/static/app/pdp/pdp.controller.list.js +++ /dev/null @@ -1,284 +0,0 @@ -/** - * @author arnaud marhin<arnaud.marhin@orange.com> - */ - -(function() { - - 'use strict'; - - angular - .module('moon') - .controller('PDPListController', PDPListController); - - PDPListController.$inject = [ - '$rootScope', - '$scope', - '$filter', - '$modal', - 'NgTableParams', - 'pdps', - 'projectService']; - - function PDPListController($rootScope, - $scope, - $filter, - $modal, - NgTableParams, - pdps, - projectService) { - - var list = this; - - list.pdps = pdps; - list.mappings = []; - - - list.getPDPs = getPDPs; - list.hasPDPs = hasPDPs; - list.getPDPName = getPDPName; - list.isMapped = isMapped; - list.getProjectFromPDP = getProjectFromPDP; - list.getidFromPDP = getidFromPDP; - - list.table = {}; - - list.addPDP = addPDP; - list.deletePDP = deletePDP; - list.refreshPDPs = refreshPDPs; - list.updatePDPs = updatePDPs; - - list.getMappedProjectName = getMappedProjectName; - list.getSecPipelineFromPdp = getSecPipelineFromPdp; - - list.search = { query: '', - find: searchPDP, - reset: searchReset }; - - list.add = { modal: $modal({ template: 'html/pdp/action/pdp-add.tpl.html', show: false }), - showModal: showAddModal }; - - list.del = { modal: $modal({ template: 'html/pdp/action/pdp-delete.tpl.html', show: false }), - showModal: showDeleteModal }; - - activate(); - - function activate(){ - newPDPsTable(); - } - - /* - * ---- events - */ - - var rootListeners = { - - 'event:pdpCreatedSuccess': $rootScope.$on('event:pdpCreatedSuccess', pdpCreatedSuccess), - 'event:pdpCreatedError': $rootScope.$on('event:pdpCreatedError', pdpCreatedError), - - 'event:pdpDeletedSuccess': $rootScope.$on('event:pdpDeletedSuccess', pdpDeletedSuccess), - 'event:pdpDeletedError': $rootScope.$on('event:pdpDeletedError', pdpDeletedError), - - }; - - _.each(rootListeners, function(unbind){ - $scope.$on('$destroy', rootListeners[unbind]); - }); - - /* - * - */ - - /** - * Function getting an array of PDP JSON - * @return An array of valid pdp. - */ - function getPDPs() { - return (list.pdps) ? list.pdps : []; - } - - function hasPDPs() { - return list.getPDPs().length > 0; - } - - function addPDP(pdp) { - list.pdps.push(pdp); - } - - function deletePDP(pdp) { - - list.pdps = _.chain(list.pdps).reject({id: pdp.id}).value(); - - } - - function refreshPDPs() { - - list.table.total(list.pdps.length); - list.table.reload(); - - } - - function updatePDPs(pdp) { - - _(_.values(list.getPDPs())).each(function(anPDP) { - if(anPDP.id === pdp.id) { - //@todo: Determine what this code should have been designed to do - anPDP = _.clone(pdp); - } - }); - - return list.pdps; - - } - - /** - * Get the id from an PDP - * @param pdp The inspected pdp - * @returns {*} Its UUID - */ - function getidFromPDP(pdp) { - return pdp.id; - } - - function getMappedProjectName(pdp) { - return pdp.tenant.name; - } - - /** - * Get the name of the PDP - * @param pdp The PDP to inspect - * @returns {*} Its name. - */ - function getPDPName(pdp) { - return (pdp) ? pdp.name : ''; - } - - function isMapped(pdp) { - return !_.isNull(pdp.keystone_project_id); - } - - /** - * Prerequisite : before calling this method, isMapped should return true before - * @param pdp - * @returns false or {*}, false if the project is currently loading - */ - function getProjectFromPDP(pdp) { - - if(_.has(pdp, 'project')){ - return pdp.project; - } - - // if the call has not been made - if(!_.has(pdp, 'callPdpInProgress')){ - - pdp.callPdpInProgress = true; - - projectService.findOne(pdp.keystone_project_id, function(project){ - pdp.callPdpInProgress = false; - pdp.project = project; - return pdp.project; - }); - } - - // if the call is in progress return false - return false; - } - - /** - * Generate a table item, directly usable by the rendering engine - * @returns {{}|*} the table - */ - function newPDPsTable() { - - list.table = new NgTableParams({ - - page: 1, // show first page - count: 10, // count per page - - }, { - - total: function () { return list.getPDPs().length; }, // length of data - getData: function($defer, params) { - - var orderedData = params.sorting() ? $filter('orderBy')(list.getPDPs(), params.orderBy()) : list.getPDPs(); - $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count())); - - }, - $scope: { $data: {} } - - }); - - return list.table; - - } - - - /* - * --- search - */ - - /** - * Indicate if an pdp having a specified name exists - * @param pdp Searched name - * @returns {boolean} True if a corresponding pdp is found, false otherwise - */ - function searchPDP(pdp){ - return list.getPDPName(pdp).indexOf(list.search.query) !== -1 || list.getSecPipelineFromPdp(pdp).indexOf(list.search.query) !== -1 ; - } - - function getSecPipelineFromPdp(pdp){ - return (pdp.security_pipeline) ? pdp.security_pipeline : []; - } - - /** - * Blank the search field - */ - function searchReset() { - list.search.query = ''; - } - - /* - * ---- add - */ - - function showAddModal() { - list.add.modal.$promise.then(list.add.modal.show); - } - - function pdpCreatedSuccess(event, pdp) { - - list.addPDP(pdp); - list.refreshPDPs(); - - list.add.modal.hide(); - - } - - function pdpCreatedError(event, pdp) { - list.add.modal.hide(); - } - - /* - * ---- delete - */ - - function showDeleteModal(pdp) { - list.del.modal.$scope.pdp = pdp; - list.del.modal.$promise.then(list.del.modal.show); - } - - function pdpDeletedSuccess(event, pdp) { - - list.deletePDP(pdp); - list.refreshPDPs(); - - list.del.modal.hide(); - - } - - function pdpDeletedError() { - list.del.modal.hide(); - } - - } - -})(); |