aboutsummaryrefslogtreecommitdiffstats
path: root/moon_gui/static/app/pdp
diff options
context:
space:
mode:
authorThomas Duval <thomas.duval@orange.com>2020-06-03 10:06:52 +0200
committerThomas Duval <thomas.duval@orange.com>2020-06-03 10:06:52 +0200
commit7bb53c64da2dcf88894bfd31503accdd81498f3d (patch)
tree4310e12366818af27947b5e2c80cb162da93a4b5 /moon_gui/static/app/pdp
parentcbea4e360e9bfaa9698cf7c61c83c96a1ba89b8c (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-xmoon_gui/static/app/pdp/action/pdp-add.tpl.html88
-rwxr-xr-xmoon_gui/static/app/pdp/action/pdp-delete.tpl.html35
-rwxr-xr-xmoon_gui/static/app/pdp/action/pdp.controller.add.js108
-rwxr-xr-xmoon_gui/static/app/pdp/action/pdp.controller.delete.js66
-rwxr-xr-xmoon_gui/static/app/pdp/edit/pdp-edit-basic.tpl.html65
-rwxr-xr-xmoon_gui/static/app/pdp/edit/pdp-edit.tpl.html64
-rwxr-xr-xmoon_gui/static/app/pdp/edit/pdp.controller.edit.js50
-rwxr-xr-xmoon_gui/static/app/pdp/edit/pdp.edit.basic.dir.js97
-rwxr-xr-xmoon_gui/static/app/pdp/pdp-list.tpl.html133
-rwxr-xr-xmoon_gui/static/app/pdp/pdp.controller.list.js284
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()">&times;</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()">&times;</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>&nbsp;</div>
- <div>&nbsp;</div>
- <div>&nbsp;</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();
- }
-
- }
-
-})();