1 angular.module('egOrgUnitApp',
2 ['ngRoute', 'ui.bootstrap', 'treeControl', 'egCoreMod', 'egUiMod', 'ngToast'])
4 .config(['ngToastProvider', function(ngToastProvider) {
5 ngToastProvider.configure({
6 verticalPosition: 'bottom',
11 .config(function($routeProvider, $locationProvider, $compileProvider) {
12 $locationProvider.html5Mode(true);
13 $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|blob):/); // grid export
15 var resolver = {delay :
16 ['egStartup', function(egStartup) {return egStartup.go()}]}
18 $routeProvider.when('/admin/actor/org_unit/:org_id', {
19 templateUrl: './admin/actor/org_unit/t_index',
20 controller: 'OrgUnitCtrl',
24 $routeProvider.when('/admin/actor/org_unit/', {
25 templateUrl: './admin/actor/org_unit/t_index',
26 controller: 'OrgUnitCtrl',
30 $routeProvider.otherwise({redirectTo : '/admin/actor/org_unit/'});
33 .controller('OrgUnitCtrl',
34 ['$scope','$q','$routeParams','$window','egCore','egOrg','ngToast',
35 function($scope , $q , $routeParams , $window , egCore , egOrg , ngToast ) {
37 $scope.reset = function() {
38 $scope.org = angular.copy($scope.selectedNode);
46 $scope.treedata = [ egCore.idl.toHash( egOrg.tree() ) ];
47 function find_org(tree,id) {
51 for (var i in tree.children) {
52 var child = tree.children[i];
53 ou = find_org( child, id );
54 if (ou) { return ou; }
58 $scope.selected = find_org($scope.treedata,id) || $scope.treedata[0]; // FIXME -- why no work?
59 $scope.expandedNodes = [ $scope.treedata[0], $scope.selected ];
69 $scope.showSelected = function(sel) {
70 $scope.selectedNode = sel;
71 $scope.org = angular.copy($scope.selectedNode);
75 $scope.org_tab = 'main';
76 $scope.set_org_tab = function(tab) {
94 $scope.update = function() {
95 var new_org = egOrg.get($scope.org.id);
96 new_org.name( $scope.org.name );
97 new_org.shortname( $scope.org.shortname );
98 new_org.email( $scope.org.email );
99 new_org.phone( $scope.org.phone );
100 egCore.pcrud.update(new_org).then(
101 function(res) { // success
102 window.sessionStorage.removeItem('eg.env.aou.tree');
105 ngToast.create(egCore.strings.ORG_UPDATE_SUCCESS);
107 function(res) { // failure
108 ngToast.create(egCore.strings.ORG_UPDATE_FAILURE);
110 function(res) { // progress
115 $scope.remove = function() {
116 var new_org = egOrg.get($scope.org.id);
117 egCore.pcrud.remove(new_org).then(
118 function(res) { // success
119 window.sessionStorage.removeItem('eg.env.aou.tree');
122 ngToast.create(egCore.strings.ORG_DELETE_SUCCESS);
124 function(res) { // failure
125 ngToast.create(egCore.strings.ORG_DELETE_FAILURE);
127 function(res) { // progress