diff options
Diffstat (limited to 'moon_gui/static/app/project')
12 files changed, 0 insertions, 1499 deletions
diff --git a/moon_gui/static/app/project/action/mapping/project-map.tpl.html b/moon_gui/static/app/project/action/mapping/project-map.tpl.html deleted file mode 100755 index 5ffd98e2..00000000 --- a/moon_gui/static/app/project/action/mapping/project-map.tpl.html +++ /dev/null @@ -1,62 +0,0 @@ -<div ng-controller="ProjectMapController as map" class="modal" tabindex="-1" data-role="modalMappingProject"> - - <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.project.map.title" data-translate-values="{projectName: map.project.name}"></h4> - </div> - - <div class="modal-body"> - - <form class="form-horizontal" role="form" name="map.form"> - - <div class="form-group" ng-class="{'has-error': map.form.pdp.$dirty && (map.form.pdp.$invalid || !map.selectedPDP)}"> - - <label class="col-sm-3 control-label" data-translate="moon.project.map.form.pdp">PDP</label> - - <div class="col-sm-6"> - - <ui-select ng-model="map.selectedPDP" name="pdp" required> - <ui-select-match placeholder="(None)" ng-bind="$select.selected.name"></ui-select-match> - <ui-select-choices repeat="pdp in map.pdps"> - <div ng-bind="pdp.name" ng-value="pdp"></div> - </ui-select-choices> - </ui-select> - - <img ng-if="map.pdpsLoading" src="assets/img/ajax-loader.gif" /> - - <div class="help-block" ng-show="map.form.pdp.$dirty && (map.form.pdp.$invalid || !map.selectedPDP)"> - <small class="error" ng-show="map.form.pdp.$error.required" data-translate="moon.project.map.check.pdp.required">PDP is required</small> - </div> - - </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.project.map.action.cancel">Cancel</span> - </a> - <a href="" ng-disabled="map.mappingLoading" ng-click="map.map()" class="btn btn-warning"> - <span class="glyphicon glyphicon-link"></span> - <span data-translate="moon.project.map.action.map">Map</span> - </a> - - <img ng-if="map.mappingLoading" src="assets/img/ajax-loader.gif" /> - - </div> - </div> - - </div> - - </div> - -</div> diff --git a/moon_gui/static/app/project/action/mapping/project-unmap.tpl.html b/moon_gui/static/app/project/action/mapping/project-unmap.tpl.html deleted file mode 100755 index 5cc5c6dd..00000000 --- a/moon_gui/static/app/project/action/mapping/project-unmap.tpl.html +++ /dev/null @@ -1,33 +0,0 @@ -<div ng-controller="ProjectUnMapController as unmap" class="modal" tabindex="-1" data-role="modalUnmapProject"> - - <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.project.unmap.title"></h4> - </div> - - <div class="modal-body"> - <span data-translate="moon.project.unmap.content" data-translate-values="{ projectName: unmap.project.name, pdpName: unmap.project.mapping.authz.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.project.unmap.action.cancel">Cancel</span> - </a> - <a href="" ng-disabled="unmap.unMappingLoading" ng-click="unmap.unmap()" class="btn btn-warning"> - <span class="glyphicon glyphicon-transfer"></span> - <span data-translate="moon.project.unmap.action.unmap">Unmap</span> - </a> - <img ng-if="unmap.unMappingLoading" src="assets/img/ajax-loader.gif" /> - </div> - </div> - - </div> - - </div> - -</div>
\ No newline at end of file diff --git a/moon_gui/static/app/project/action/mapping/project.controller.map.js b/moon_gui/static/app/project/action/mapping/project.controller.map.js deleted file mode 100755 index afa2bfc0..00000000 --- a/moon_gui/static/app/project/action/mapping/project.controller.map.js +++ /dev/null @@ -1,107 +0,0 @@ -/** - * @author arnaud marhin<arnaud.marhin@orange.com> - */ - -(function() { - - 'use strict'; - - angular - .module('moon') - .controller('ProjectMapController', ProjectMapController); - - ProjectMapController.$inject = ['$scope', '$translate', 'alertService', 'formService', 'pdpService']; - - function ProjectMapController($scope, $translate, alertService, formService, pdpService) { - - var map = this; - - /* - * - */ - - map.form = {}; - - map.project = $scope.project; - - map.pdps = []; - - map.pdpsLoading = true; - - map.selectedPDP = null; - - map.map = mapProject; - - activate(); - - function activate(){ - - resolvePDPs(); - - } - - /* - * - */ - - function resolvePDPs() { - - pdpService.findAllWithCallBack(resolveMappedProjects); - - } - - function resolveMappedProjects(pdps) { - - map.pdps = _.filter(pdps, function(pdp){ - return _.isNull(pdp.keystone_project_id); - }); - - map.pdpsLoading = false; - - } - - function mapProject() { - - if(formService.isInvalid(map.form)) { - - formService.checkFieldsValidity(map.form); - - } else { - - map.mappingLoading = true; - - pdpService.map( map.selectedPDP, map.project.id, mapSuccess, mapError); - - } - - function mapSuccess(data) { - - map.project.pdp = map.selectedPDP; - - $translate('moon.project.map.success', { projectName: map.project.name, pdpName: map.selectedPDP.name }).then(function (translatedValue) { - alertService.alertSuccess(translatedValue); - }); - - map.mappingLoading = false; - - $scope.$emit('event:projectMappedSuccess', map.project); - - } - - function mapError(response) { - - $translate('moon.project.map.error', { projectName: map.project.name, pdpName: map.selectedPDP.name }).then(function (translatedValue) { - alertService.alertError(translatedValue); - }); - - map.mappingLoading = false; - - $scope.$emit('event:projectMappedError', map.project); - - } - - } - - } - -})(); diff --git a/moon_gui/static/app/project/action/mapping/project.controller.unmap.js b/moon_gui/static/app/project/action/mapping/project.controller.unmap.js deleted file mode 100755 index 911b30ff..00000000 --- a/moon_gui/static/app/project/action/mapping/project.controller.unmap.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * @author arnaud marhin<arnaud.marhin@orange.com> - */ - -(function() { - - 'use strict'; - - angular - .module('moon') - .controller('ProjectUnMapController', ProjectUnMapController); - - ProjectUnMapController.$inject = ['$scope', '$translate', 'alertService', 'pdpService']; - - function ProjectUnMapController($scope, $translate, alertService, pdpService) { - - var unmap = this; - - /* - * - */ - - unmap.project = $scope.project; - unmap.unMappingLoading = false; - - unmap.unmap = unMapProject; - - /* - * - */ - - function unMapProject() { - - - unmap.unMappingLoading = true; - - var pdpName = unmap.project.pdp.name; - - pdpService.unMap(unmap.project.pdp, unMapSuccess, unMapError); - - function unMapSuccess(data) { - - $translate('moon.project.unmap.success', { projectName: unmap.project.name, pdpName: pdpName }) - .then(function (translatedValue) { - alertService.alertSuccess(translatedValue); - }); - - unmap.unMappingLoading = false; - - delete unmap.project.mapping; - delete unmap.project.pdp; - - $scope.$emit('event:projectUnmappedSuccess', unmap.project); - - } - - function unMapError(reason) { - - $translate('moon.project.unmap.error', { projectName: unmap.project.name, pdpName: pdpName }) - .then(function (translatedValue) { - alertService.alertError(translatedValue); - }); - - unmap.unMappingLoading = false; - - $scope.$emit('event:projectUnmappedError', unmap.project); - - } - - } - - } - -})(); diff --git a/moon_gui/static/app/project/action/project-add.tpl.html b/moon_gui/static/app/project/action/project-add.tpl.html deleted file mode 100755 index a90dcfa1..00000000 --- a/moon_gui/static/app/project/action/project-add.tpl.html +++ /dev/null @@ -1,89 +0,0 @@ -<div ng-controller="ProjectAddController as add" class="modal" tabindex="-1" data-role="modalAddProject"> - - <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.project.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.project.add.form.name">Name</label> - - <div class="col-sm-6"> - - <input name="name" id="name" class="form-control" type="text" data-ng-model="add.project.project.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.project.add.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.project.add.form.description">Description</label> - <div class="col-sm-6"> - <textarea id="description" name="description" class="form-control" data-ng-model="add.project.project.description"></textarea> - </div> - </div> - - <div class="form-group"> - <label for="enabled" class="col-sm-3 control-label" data-translate="moon.project.add.form.enabled">Enabled</label> - <div class="col-sm-6"> - <div class="radio"> - <input type="checkbox" id="enabled" name="enabled" class="js-switch" data-ng-model="add.project.project.enabled" ui-switch /> - </div> - </div> - </div> - - <div class="form-group" ng-class="{'has-error': add.form.domain.$invalid && add.form.domain.$dirty}"> - - <label for="domain" class="col-sm-3 control-label" data-translate="moon.project.add.form.domain">Domain</label> - - <div class="col-sm-6"> - - <input name="domain" id="domain" type="text" class="form-control" data-ng-model="add.project.project.domain" required /> - - <div class="help-block" ng-show="add.form.domain.$dirty && add.form.domain.$invalid"> - <small class="error" ng-show="add.form.domain.$error.required" data-translate="moon.project.add.check.domain.required">Domain is required</small> - </div> - - </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.project.add.action.cancel">Cancel</span> - </a> - - <a href="" ng-disabled="add.loading" ng-click="add.create()" class="btn btn-warning"> - <span class="glyphicon glyphicon-save"></span> - <span data-translate="moon.project.add.action.create">Create</span> - </a> - <img ng-if="add.loading" src="assets/img/ajax-loader.gif" /> - - </div> - - </div> - - </div> - - </div> - -</div> diff --git a/moon_gui/static/app/project/action/project-delete.tpl.html b/moon_gui/static/app/project/action/project-delete.tpl.html deleted file mode 100755 index 96b4f2e3..00000000 --- a/moon_gui/static/app/project/action/project-delete.tpl.html +++ /dev/null @@ -1,45 +0,0 @@ -<div ng-controller="ProjectDeleteController as del" class="modal" tabindex="-1" data-role="modalDeleteProject"> - - <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.project.remove.title"></h4> - </div> - - <div class="modal-body"> - <p><span data-translate="moon.project.remove.content.query" data-translate-values="{ projectName: del.project.name }"></span></p> - - <p ng-if="del.loadingPDP"><img src="assets/img/ajax-loader.gif" /></p> - - <div ng-if="!del.loadingPDP"> - <p ng-if="!del.isProjectMapped()"><span data-translate="moon.project.remove.content.isNotMapped">This Project is not map with any PDP</span></p> - <p ng-if="del.isProjectMapped()"> - <span data-translate="moon.project.remove.content.isMapped" data-translate-values="{ pdpName: del.project.pdp.name }"></span> - </p> - </div> - - </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.project.remove.action.cancel">Cancel</span> - </a> - <a href="" ng-disabled="del.loading || del.loadingPDP" ng-click="del.remove()" class="btn btn-warning"> - <span class="glyphicon glyphicon-trash"></span> - <span data-translate="moon.project.remove.action.delete">Delete</span> - </a> - <img ng-if="del.loading" src="assets/img/ajax-loader.gif" /> - - </div> - </div> - - </div> - - </div> - -</div>
\ No newline at end of file diff --git a/moon_gui/static/app/project/action/project-view.tpl.html b/moon_gui/static/app/project/action/project-view.tpl.html deleted file mode 100755 index 3228c915..00000000 --- a/moon_gui/static/app/project/action/project-view.tpl.html +++ /dev/null @@ -1,194 +0,0 @@ -<div ng-controller="ProjectViewController as view" class="modal" tabindex="-1" data-role="modalViewProject"> - - <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.project.view.title" data-translate-values="{projectName: view.project.name}"></h4> - </div> - <div class="modal-body"> - <dl class="dl-horizontal"> - <dt>Id</dt> - <dd ng-bind="view.project.id"></dd> - <dt>Name</dt> - <dd ng-bind="view.project.name"></dd> - <dt>Is_domain</dt> - <dd ng-bind="view.project.is_domain"></dd> - <dt>Link</dt> - <dd ng-bind="view.project.links.self"></dd> - <dt>enabled</dt> - <dd ng-bind="view.project.enabled"></dd> - <dt>Parent id</dt> - <dd ng-bind="view.project.parent_id"></dd> - <dt>Domain id</dt> - <dd ng-bind="view.project.domain_id"></dd> - <dt>Description</dt> - <dd ng-bind="view.project.description"></dd> - </dl> - </div> - - <!--<div class="modal-body">--> - <!----> - <!--<!– objects –>--> - <!----> - <!--<div class="row">--> - <!--<div class="col-md-12">--> - <!--<h1 class="pull-left" data-translate="moon.project.view.object.title">Objects</h1>--> - <!--</div>--> - <!--</div>--> - <!----> - <!--<div class="row top05">--> - <!--<div class="col-md-3"><label data-translate="moon.project.view.object.name">Name</label></div>--> - <!--<div class="col-md-7"><label data-translate="moon.project.view.object.description">Description</label></div>--> - <!--<div class="col-md-2"><label data-translate="moon.project.view.object.enabled">Enabled</label></div>--> - <!--</div>--> - <!----> - <!--<div class="row" ng-if="view.objectsLoading">--> - <!--<div class="col-md-12"><img src="assets/img/ajax-loader.gif" /> <em data-translate="moon.project.view.object.loading">Loading Objects</em></div>--> - <!--</div>--> - <!----> - <!--<div class="row" ng-if="!view.objectsLoading && !view.hasObjects()">--> - <!--<div class="col-md-12" data-translate="moon.project.view.object.notFound">Objects not found</div>--> - <!--</div>--> - <!----> - <!--<div class="row" ng-if="!view.objectsLoading && view.hasObjects()" ng-repeat="object in view.objects">--> - <!--<div class="col-md-3">{{object.name}}</div> --> - <!--<div class="col-md-7">{{object.description}}</div>--> - <!--<div class="col-md-2">--> - <!--<span ng-if="object.enabled" class="glyphicon glyphicon-ok"></span>--> - <!--</div>--> - <!--</div>--> - <!----> - <!--<!– subjects –>--> - <!----> - <!--<div class="row top10">--> - <!--<div class="col-md-12">--> - <!--<h1 class="pull-left" data-translate="moon.project.view.subject.title">Subjects</h1>--> - <!--</div>--> - <!--</div>--> - <!----> - <!--<div class="row top05">--> - <!--<div class="col-md-3"><label data-translate="moon.project.view.subject.name">Name</label></div>--> - <!--<div class="col-md-3"><label data-translate="moon.project.view.subject.domain">Domain</label></div>--> - <!--<div class="col-md-4"><label data-translate="moon.project.view.subject.mail">Mail</label></div>--> - <!--<div class="col-md-2"><label data-translate="moon.project.view.subject.enabled">Enabled</label></div>--> - <!--</div>--> - <!----> - <!--<div class="row">--> - <!--<div class="col-md-3">--> - <!--<ui-select ng-model="view.selectedSubject" on-select="view.resolveRoles($item); view.resolveGroups($item)">--> - <!--<ui-select-match placeholder="(None)">{{$select.selected.name}}</ui-select-match>--> - <!--<ui-select-choices repeat="subject in view.subjects">--> - <!--<div ng-value="subject">{{subject.name}}</div>--> - <!--</ui-select-choices>--> - <!--</ui-select>--> - <!--<img ng-if="view.subjectsLoading" src="assets/img/ajax-loader.gif" />--> - <!--</div> --> - <!--<div class="col-md-3">{{view.selectedSubject.domain}}</div>--> - <!--<div class="col-md-4">{{view.selectedSubject.mail}}</div>--> - <!--<div class="col-md-2">--> - <!--<div ng-if="view.selectedSubject != null">--> - <!--<span ng-if="view.selectedSubject.enabled" class="glyphicon glyphicon-ok"></span>--> - <!--</div>--> - <!--</div>--> - <!--</div>--> - <!----> - <!--<!– roles –>--> - <!----> - <!--<div ng-if="view.hasSelectedSubject()">--> - <!----> - <!--<div class="row top10">--> - <!--<div class="col-md-12">--> - <!--<h1 class="pull-left" data-translate="moon.project.view.role.title">Roles</h1>--> - <!--</div>--> - <!--</div>--> - <!----> - <!--<div class="row top05">--> - <!----> - <!--<div class="col-md-3"><label data-translate="moon.project.view.role.value">Value</label></div>--> - <!--<div class="col-md-5"><label data-translate="moon.project.view.role.description">Description</label></div>--> - <!--<div class="col-md-2"><label data-translate="moon.project.view.role.assigned">Assigned</label></div>--> - <!--<div class="col-md-2"><label data-translate="moon.project.view.role.enabled">Enabled</label></div>--> - <!----> - <!--</div>--> - <!----> - <!--<div class="row" ng-if="view.rolesLoading">--> - <!--<div class="col-md-12"><img src="assets/img/ajax-loader.gif" /> <em data-translate="moon.project.view.role.loading">Loading Roles</em></div>--> - <!--</div>--> - <!----> - <!--<div class="row" ng-if="!view.rolesLoading && !view.hasRoles()">--> - <!--<div class="col-md-12" data-translate="moon.project.view.role.notFound">Roles not found</div>--> - <!--</div>--> - <!----> - <!--<div class="row" ng-if="!view.rolesLoading && view.hasRoles()" ng-repeat="role in view.roles">--> - <!----> - <!--<div class="col-md-3" ng-bind="role.value"></div>--> - <!--<div class="col-md-5" ng-bind="role.description"></div>--> - <!--<div class="col-md-2">--> - <!--<span ng-if="view.isRoleAssigned(role)" class="glyphicon glyphicon-ok"></span>--> - <!--</div>--> - <!--<div class="col-md-2">--> - <!--<span ng-if="role.enabled" class="glyphicon glyphicon-ok"></span>--> - <!--</div>--> - <!----> - <!--</div>--> - <!----> - <!--</div>--> - <!----> - <!--<!– groups –>--> - <!----> - <!--<div ng-if="view.hasSelectedSubject()">--> - <!----> - <!--<div class="row top10">--> - <!--<div class="col-md-12">--> - <!--<h1 class="pull-left" data-translate="moon.project.view.group.title">Groups</h1>--> - <!--</div>--> - <!--</div>--> - <!----> - <!--<div class="row top05">--> - <!----> - <!--<div class="col-md-3"><label data-translate="moon.project.view.group.value">Value</label></div>--> - <!--<div class="col-md-5"><label data-translate="moon.project.view.group.description">Description</label></div>--> - <!--<div class="col-md-2"><label data-translate="moon.project.view.group.assigned">Assigned</label></div>--> - <!--<div class="col-md-2"><label data-translate="moon.project.view.group.enabled">Enabled</label></div>--> - <!----> - <!--</div>--> - <!----> - <!--<div class="row" ng-if="view.groupsLoading">--> - <!--<div class="col-md-12"><img src="assets/img/ajax-loader.gif" /> <em data-translate="moon.project.view.group.loading">Loading Groups</em></div>--> - <!--</div>--> - <!----> - <!--<div class="row" ng-if="!view.groupsLoading && !view.hasGroups()">--> - <!--<div class="col-md-12" data-translate="moon.project.view.group.notFound">Groups not found</div>--> - <!--</div>--> - <!----> - <!--<div class="row" ng-if="!view.groupsLoading && view.hasGroups()" ng-repeat="group in view.groups">--> - <!----> - <!--<div class="col-md-3">{{group.value}}</div>--> - <!--<div class="col-md-5">{{group.description}}</div>--> - <!--<div class="col-md-2">--> - <!--<span ng-if="view.isGroupAssigned(group)" class="glyphicon glyphicon-ok"></span>--> - <!--</div>--> - <!--<div class="col-md-2">--> - <!--<span ng-if="group.enabled" class="glyphicon glyphicon-ok"></span>--> - <!--</div>--> - <!----> - <!--</div>--> - <!----> - <!--</div>--> - <!----> - <!--</div>--> - <!----> - <div class="modal-footer top10"> - <div class="btn-toolbar" style="float: right;"> - <button ng-click="$hide()" class="btn btn-default" data-translate="moon.project.view.action.close">Close</button> - </div> - </div> - - </div> - - </div> - -</div> diff --git a/moon_gui/static/app/project/action/project.controller.add.js b/moon_gui/static/app/project/action/project.controller.add.js deleted file mode 100755 index 4d12b75d..00000000 --- a/moon_gui/static/app/project/action/project.controller.add.js +++ /dev/null @@ -1,78 +0,0 @@ -/** - * @author arnaud marhin<arnaud.marhin@orange.com> - */ - -(function() { - - 'use strict'; - - angular - .module('moon') - .controller('ProjectAddController', ProjectAddController); - - ProjectAddController.$inject = ['$scope', '$translate', 'alertService', 'formService', 'projectService', 'DEFAULT_CST']; - - function ProjectAddController($scope, $translate, alertService, formService, projectService, DEFAULT_CST) { - - var add = this; - - /* - * - */ - - add.form = {}; - - add.loading = false; - - //@todo: verify if enable argument is understood serrver-side - add.project = { project: {name: null, description: null, enabled: true, domain: DEFAULT_CST.DOMAIN.DEFAULT} }; - add.create= createProject; - - /* - * ---- create - */ - - function createProject() { - - if(formService.isInvalid(add.form)) { - - formService.checkFieldsValidity(add.form); - - } else { - - add.loading = true; - - projectService.data.projects.create({}, add.project, createSuccess, createError); - - } - - function createSuccess(data) { - - var created = data.project; - $translate('moon.project.add.success', { projectName: created.name }).then(function (translatedValue) { - alertService.alertSuccess(translatedValue); - }); - - add.loading = false; - - $scope.$emit('event:projectCreatedSuccess', created); - - } - - function createError(reason) { - - $translate('moon.project.add.error', { projectName: add.project.project.name }).then(function (translatedValue) { - alertService.alertError(translatedValue); - }); - - add.loading = false; - - $scope.$emit('event:projectCreatedError', add.project); - - } - - } - - } - -})(); diff --git a/moon_gui/static/app/project/action/project.controller.delete.js b/moon_gui/static/app/project/action/project.controller.delete.js deleted file mode 100755 index 4f18f8e6..00000000 --- a/moon_gui/static/app/project/action/project.controller.delete.js +++ /dev/null @@ -1,134 +0,0 @@ -/** - * @author arnaud marhin<arnaud.marhin@orange.com> - */ - -(function() { - - 'use strict'; - - angular - .module('moon') - .controller('ProjectDeleteController', ProjectDeleteController); - - ProjectDeleteController.$inject = ['$scope', '$translate', 'alertService', 'projectService', 'pdpService']; - - function ProjectDeleteController($scope, $translate, alertService, projectService, pdpService) { - - var del = this; - - /* - * - */ - - del.project = $scope.project; - del.loading = false; - del.loadingPDP = true; - del.remove = deleteProjectAndMapping; - del.isProjectMapped = isProjectMapped; - del.pdps = []; - - activate(); - - /** - * - */ - - function activate(){ - - resolvePDPs(); - - } - - function resolvePDPs() { - - pdpService.findAllWithCallBack(function(data){ - - del.pdps = data; - - pdpService.mapPdpsToProject(del.project, del.pdps); - - del.loadingPDP = false; - - }); - - } - - function isProjectMapped(){ - return _.has(del.project, 'pdp'); - } - - /* - * ---- delete - */ - - - function deleteProjectAndMapping() { - - del.loading = true; - - - if(isProjectMapped() ) { - - removeMapping(deleteProject); - - }else{ - deleteProject(); - } - - } - - function removeMapping(callbackSuccess){ - - - var pdpName = unmap.project.pdp.name; - - pdpService.unMap(unmap.project, callbackSuccess, deleteMappingError); - - - function deleteMappingError(reason) { - - $translate('moon.project.remove.mapping.remove.error', { pdpName: pdpName} ).then(function (translatedValue) { - alertService.alertError(translatedValue); - }); - - del.loading = false; - - $scope.$emit('event:projectDeletedError', del.project); - - } - - - } - - function deleteProject(){ - - projectService.data.projects.remove({project_id: del.project.id}, deleteSuccess, deleteError); - - function deleteSuccess(data) { - - $translate('moon.project.remove.success', { projectName: del.project.name }).then(function (translatedValue) { - alertService.alertSuccess(translatedValue); - }); - - del.loading = false; - - $scope.$emit('event:projectDeletedSuccess', del.project); - - } - - function deleteError(reason) { - - $translate('moon.project.remove.error', { projectName: del.project.name, errorCode: reason.data.error.code, message : reason.data.error.message } ).then(function (translatedValue) { - alertService.alertError(translatedValue); - }); - - del.loading = false; - - $scope.$emit('event:projectDeletedError', del.project); - - } - - } - } - -})(); diff --git a/moon_gui/static/app/project/action/project.controller.view.js b/moon_gui/static/app/project/action/project.controller.view.js deleted file mode 100755 index fe98a507..00000000 --- a/moon_gui/static/app/project/action/project.controller.view.js +++ /dev/null @@ -1,216 +0,0 @@ -/** - * @author arnaud marhin<arnaud.marhin@orange.com> - */ - -(function() { - - 'use strict'; - - angular - .module('moon') - .controller('ProjectViewController', ProjectViewController); - - ProjectViewController.$inject = ['$q', '$scope', '$translate', 'alertService', 'projectService']; - - function ProjectViewController($q, $scope, $translate, alertService, projectService) { - - var view = this; - - /* - * - */ - - view.project = $scope.project; - - // view.subjects = []; - // view.subjectsLoading = true; - // view.selectedSubject = null; - // view.hasSubjects = hasSubjects; - // view.hasSelectedSubject = hasSelectedSubject; - // - // view.objects = []; - // view.objectsLoading = true; - // view.hasObjects = hasObjects; - // - // view.roles = []; - // view.groups = []; - // view.roleAssignments = []; - // view.groupAssignments = []; - // - // view.hasRoles = hasRoles; - // view.hasGroups = hasGroups; - // - // view.isRoleAssigned = isRoleAssigned; - // view.isGroupAssigned = isGroupAssigned; - // - // view.resolveRoles = resolveRoles; - // view.resolveGroups = resolveGroups; - // - // //resolveObjects(); - // //resolveSubjects(); - // - // /* - // * ---- objects - // */ - // - // function resolveObjects() { - // - // projectService.data.object.query({project_uuid: view.project.id}).$promise.then(resolveSuccess, resolveError); - // - // function resolveSuccess(data) { - // - // view.objectsLoading = false; - // view.objects = data.objects; - // - // } - // - // function resolveError(reason) { - // - // view.objectsLoading = false; - // - // $translate('moon.project.view.object.error').then(function (translatedValue) { - // alertService.alertError(translatedValue); - // }); - // - // } - // - // } - // - // function hasObjects() { - // return view.objects.length > 0; - // } - // - // /* - // * ---- subjects - // */ - // - // function resolveSubjects() { - // - // projectService.data.subject.query({project_uuid: view.project.uuid}).$promise.then(resolveSuccess, resolveError); - // - // function resolveSuccess(data) { - // - // view.subjectsLoading = false; - // view.subjects = data.users; - // - // } - // - // function resolveError(reason) { - // - // view.subjectsLoading = false; - // - // $translate('moon.project.view.subject.error').then(function (translatedValue) { - // alertService.alertError(translatedValue); - // }); - // - // } - // - // } - // - // function hasSubjects() { - // return view.subjects.lenght > 0; - // } - // - // function hasSelectedSubject() { - // return view.selectedSubject != null; - // } - // - // /* - // * ---- role - // */ - // - // function isRoleAssigned(role) { - // - // return _(view.roleAssignment.attributes).find(function(role_uuid) { - // return role.uuid === role_uuid; - // }).length !== 0; - // - // } - // - // function hasRoles() { - // return view.roles.length > 0; - // } - // - // function resolveRoles(subject) { - // - // view.rolesLoading = true; - // - // view.roles = []; - // view.roleAssignment = null; - // - // var promises = { roles: projectService.data.subjectRole.get({project_uuid: view.project.uuid, user_uuid: subject.uuid}).$promise, - // roleAssigment: projectService.data.roleAssigment.get({project_uuid: view.project.uuid, user_uuid: subject.uuid}).$promise }; - // - // $q.all(promises).then(resolveSuccess, resolveError); - // - // function resolveSuccess(data) { - // - // view.rolesLoading = false; - // view.roles = data.roles.roles; - // view.roleAssignment = _.first(data.roleAssigment.role_assignments); - // - // } - // - // function resolveError(reason) { - // - // view.rolesLoading = false; - // - // $translate('moon.project.view.role.error').then(function (translatedValue) { - // alertService.alertError(translatedValue); - // }); - // - // } - // - // } - // - // /* - // * ---- group - // */ - // - // function isGroupAssigned(group) { - // - // return _($scope.view.groupAssignment.attributes).find(function(group_uuid) { - // return group.uuid === group_uuid; - // }).length !== 0; - // - // } - // - // function hasGroups() { - // return view.groups.length > 0; - // } - // - // function resolveGroups(subject) { - // - // view.groupsLoading = true; - // - // view.groups = []; - // view.groupAssignment = null; - // - // var promises = { groups: projectService.data.subjectGroup.get({project_uuid: view.project.uuid, user_uuid: subject.uuid}).$promise, - // groupAssignment: projectService.data.groupAssigment.get({project_uuid: view.project.uuid, user_uuid: subject.uuid}).$promise }; - // - // $q.all(promises).then(resolveSuccess, resolveError); - // - // function resolveSuccess(data) { - // - // view.groupsLoading = false; - // view.groups = data.groups.groups; - // view.groupAssignment = _.first(data.groupAssignment.group_assignments); - // - // } - // - // function resolveError(reason) { - // - // view.groupsLoading = false; - // - // $translate('moon.project.view.group.error').then(function (translatedValue) { - // alertService.alertError(translatedValue); - // }); - // - // } - // - // } - // - } - -})(); diff --git a/moon_gui/static/app/project/project-list.tpl.html b/moon_gui/static/app/project/project-list.tpl.html deleted file mode 100755 index 82a3745e..00000000 --- a/moon_gui/static/app/project/project-list.tpl.html +++ /dev/null @@ -1,157 +0,0 @@ - -<div class="container"> - - <div> - <form class="form-inline pull-right"> - <div class="form-group"> - <div> - <input id="searchProject" data-ng-model="list.search.query" type="text" class="form-control" placeholder="{{'moon.project.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.project.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"> - - <colgroup> - <col class="col-md-2" /> - <col class="col-md-2" /> - <col class="col-md-1" /> - <col class="col-md-1" /> - <col class="col-md-2" /> - <col class="col-md-1" /> - </colgroup> - - <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.project.list.table.name">Name</div> - </th> - - <th class="customTables sortable" - ng-class="{ 'sort-asc': list.table.isSortBy('domain', 'asc'), 'sort-desc': list.table.isSortBy('domain', 'desc') }" - ng-click="list.table.sorting('domain', list.table.isSortBy('domain', 'asc') ? 'desc' : 'asc')"> - <div data-translate="moon.project.list.table.domain">Domain</div> - </th> - - <th class="customTables sortable" - ng-class="{ 'sort-asc': list.table.isSortBy('enabled', 'asc'), 'sort-desc': list.table.isSortBy('enabled', 'desc') }" - ng-click="list.table.sorting('enabled', list.table.isSortBy('enabled', 'asc') ? 'desc' : 'asc')"> - <div data-translate="moon.project.list.table.enabled">Enabled</div> - </th> - - <th class="customTables sortable" - ng-class="{ 'sort-asc': list.table.isSortBy('description', 'asc'), 'sort-desc': list.table.isSortBy('description', 'desc') }" - ng-click="list.table.sorting('description', list.table.isSortBy('description', 'asc') ? 'desc' : 'asc')"> - <div data-translate="moon.project.list.table.description">Description</div> - </th> - - <th class="customTables"> - <div data-translate="moon.project.list.table.mapping">Mapping</div> - </th> - - <th class="customTables"> - <div data-translate="moon.project.list.action.title">Actions</div> - </th> - - </tr> - - </thead> - - <tbody ng-if="!list.hasProjects()"> - <tr> - <td colspan="2"><span data-translate="moon.project.list.table.notFound">There is no Projects</span></td> - </tr> - </tbody> - - <tbody ng-if="list.hasProjects()"> - - <tr ng-repeat="aProject in $data | filter:list.search.find | orderBy:sort:reverse"> - <td ng-bind="aProject.name"></td> - <td ng-bind="aProject.domain_id"></td> - <td> - <span ng-if="aProject.enabled" class="glyphicon glyphicon-ok"></span> - </td> - <td ng-bind="aProject.description"></td> - <td> - - <div ng-if="list.loadingPDPs"> - <img src="assets/img/ajax-loader.gif" /> <em data-translate="moon.project.list.table.loading.pdp">Loading PDP</em> - </div> - - <div ng-if="!list.loadingPDPs"> - <a href="" ng-if="!list.isProjectMapped(aProject)" ng-click="list.map.showModal(aProject)"> - <span class="glyphicon glyphicon-link"></span> <em data-translate="moon.project.list.action.map">Map to a PDP</em> - </a> - - <div ng-if="list.isProjectMapped(aProject)"> - - <span ng-bind="list.getMappedPDPName(aProject)"></span> - (<a href="" ng-click="list.unmap.showModal(aProject)"> - <span class="glyphicon glyphicon-transfer"></span> <em data-translate="moon.project.list.action.unmap">Unmap to a PDP</em> - </a>) - - </div> - </div> - - </td> - <td> - <div class="dropdown"> - <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown"> - <span data-translate="moon.project.list.action.title">Actions</span> - <span class="caret"></span> - </button> - <ul class="dropdown-menu"> - <li> - <a href="" ng-click="list.view.showModal(aProject)"> - <span class="glyphicon glyphicon-eye-open"></span> - <span class="control-label" data-translate="moon.project.list.action.detail">Detail</span> - </a> - </li> - <li> - <a href="" ng-click="list.del.showModal(aProject)"> - <span class="glyphicon glyphicon-trash"></span> - <span class="control-label" data-translate="moon.project.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.project.list.action.add">Add Project</span> - </a> - </div> - </div> - - </div> - -</div>
\ No newline at end of file diff --git a/moon_gui/static/app/project/project.controller.list.js b/moon_gui/static/app/project/project.controller.list.js deleted file mode 100755 index b1cb2056..00000000 --- a/moon_gui/static/app/project/project.controller.list.js +++ /dev/null @@ -1,310 +0,0 @@ -/** - * @author arnaud marhin<arnaud.marhin@orange.com> - */ - -(function() { - - 'use strict'; - - angular - .module('moon') - .controller('ProjectListController', ProjectListController); - - ProjectListController.$inject = ['$rootScope', '$scope', '$filter', '$modal', 'ngTableParams', 'pdpService', 'projects']; - - function ProjectListController($rootScope, $scope, $filter, $modal, ngTableParams, pdpService, projects) { - - var list = this; - - /* - * - */ - - list.projects = projects; - list.pdps = []; - - list.getProjects = getProjects; - list.hasProjects = hasProjects; - list.isProjectMapped = isProjectMapped; - - list.table = {}; - - list.addProject = addProject; - list.deleteProject = deleteProject; - list.refreshProjects = refreshProjects; - - list.getMappedPDPName = getMappedPDPName; - list.getPdpFromProject = getPdpFromProject; - - list.search = { query: '', - find: searchProject, - reset: searchReset }; - - list.add = { modal: $modal({ template: 'html/project/action/project-add.tpl.html', show: false }), - showModal: showAddModal }; - - list.del = { modal: $modal({ template: 'html/project/action/project-delete.tpl.html', show: false }), - showModal: showDeleteModal }; - - list.map = { modal: $modal({ template: 'html/project/action/mapping/project-map.tpl.html', show: false }), - showModal: showMapModal }; - - list.unmap = { modal: $modal({ template: 'html/project/action/mapping/project-unmap.tpl.html', show: false }), - showModal: showUnmapModal }; - - list.view = { modal: $modal({ template: 'html/project/action/project-view.tpl.html', show: false }), - showModal: showViewModal }; - - activate(); - - - function activate(){ - - list.loadingPDPs = true; - - newProjectsTable(); - - pdpService.findAllWithCallBack(function(data){ - - list.pdps = data; - - pdpService.mapPdpsToProjects(list.projects, list.pdps); - - list.loadingPDPs = false; - - }); - } - - - /* - * ---- events - */ - - var rootListeners = { - - 'event:projectCreatedSuccess': $rootScope.$on('event:projectCreatedSuccess', projectCreatedSuccess), - 'event:projectCreatedError': $rootScope.$on('event:projectCreatedError', projectCreatedError), - - 'event:projectDeletedSuccess': $rootScope.$on('event:projectDeletedSuccess', projectDeletedSuccess), - 'event:projectDeletedError': $rootScope.$on('event:projectDeletedError', projectDeletedError), - - 'event:projectMappedSuccess': $rootScope.$on('event:projectMappedSuccess', projectMappedSuccess), - 'event:projectMappedError': $rootScope.$on('event:projectMappedError', projectMappedError), - - 'event:projectUnmappedSuccess': $rootScope.$on('event:projectUnmappedSuccess', projectUnmappedSuccess), - 'event:projectUnmappedError': $rootScope.$on('event:projectUnmappedError', projectUnmappedError) - - }; - - for (var unbind in rootListeners) { - $scope.$on('$destroy', rootListeners[unbind]); - } - - /* - * ---- table - */ - - /** - * Get projects array from the Keystone Moon. - * @return an array containing projects JSON - */ - function getProjects() { - return (list.projects) ? list.projects : []; - } - - function hasProjects() { - return list.getProjects().length > 0; - } - - function isProjectMapped(project){ - return _.has(project, 'pdp'); - } - - /** - * Prerequisite, isProjectMapped should return true - * @param project - * @returns {*} - */ - function getPdpFromProject(project){ - return project.pdp; - } - - function addProject(project) { - list.projects.push(project); - } - - function deleteProject(project) { - list.projects = _.chain(list.projects).reject({id: project.id}).value(); - } - - function refreshProjects() { - - list.table.total(list.projects.length); - list.table.reload(); - - } - - function newProjectsTable() { - - list.table = new ngTableParams({ - - page: 1, // show first page - count: 10, // count per page - sorting: { - name: 'asc' // initial sorting - } - - }, { - - total: function () { return list.getProjects().length; }, // length of data - getData: function($defer, params) { - - var orderedData = params.sorting() ? $filter('orderBy')(list.getProjects(), params.orderBy()) : list.getProjects(); - $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count())); - - }, - $scope: { $data: {} } - - }); - - return list.table; - - } - - /** - * - * @param project should have project.mapping.authz.pdp.name attribute - */ - function getMappedPDPName(project) { - return _.has(project, 'pdp') ? project.pdp.name : 'error'; - } - - /* - * ---- search - */ - - function searchProject(project){ - return (project.name.indexOf(list.search.query) !== -1 || project.description.indexOf(list.search.query) !== -1); - } - - function searchReset() { - list.search.query = ''; - } - - /* - * ---- add - */ - - function showAddModal() { - list.add.modal.$promise.then(list.add.modal.show); - } - - function projectCreatedSuccess(event, project) { - - list.addProject(project); - list.refreshProjects(); - - list.add.modal.hide(); - - } - - function projectCreatedError(event, project) { - list.add.modal.hide(); - } - - /* - * ---- delete - */ - - function showDeleteModal(project) { - - list.del.modal.$scope.project = project; - list.del.modal.$promise.then(list.del.modal.show); - - } - - function projectDeletedSuccess(event, project) { - - list.deleteProject(project); - list.refreshProjects(); - - list.del.modal.hide(); - - } - - function projectDeletedError(event, project) { - list.del.modal.hide(); - } - - /* - * ---- map - */ - - function showMapModal(project) { - - list.map.modal.$scope.project = project; - list.map.modal.$promise.then(list.map.modal.show); - - } - - function projectMappedSuccess(event, project) { - - activate(); - list.map.modal.hide(); - - } - - function projectMappedError(event, project) { - list.map.modal.hide(); - } - - /* - * ---- unmap - */ - - function showUnmapModal(project) { - - list.unmap.modal.$scope.project = project; - list.unmap.modal.$promise.then(list.unmap.modal.show); - - } - - function projectUnmappedSuccess(event, project) { - - - var index = _.findIndex(list.projects, function(aProject){ - return project.id === aProject.id; - }); - - if(index === -1){ - list.unmap.modal.hide(); - return false; - } - - list.projects[index] = project; - - list.refreshProjects(); - - list.unmap.modal.hide(); - - } - - function projectUnmappedError(event, project) { - list.unmap.modal.hide(); - } - - - /* - * ---- view - */ - - function showViewModal(project) { - - list.view.modal.$scope.project = project; - list.view.modal.$promise.then(list.view.modal.show); - - } - - } - -})(); |