]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/web/js/ui/default/staff/admin/local/app.js
webstaff: browser client local admin re-org 2
[Evergreen.git] / Open-ILS / web / js / ui / default / staff / admin / local / app.js
1 angular.module('egLocalAdmin',
2     ['ngRoute', 'ui.bootstrap', 'egCoreMod','egUiMod'])
3
4 .config(['$routeProvider','$locationProvider','$compileProvider', 
5  function($routeProvider , $locationProvider , $compileProvider) {
6
7     $locationProvider.html5Mode(true);
8     $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|blob):/); 
9     var resolver = {delay : function(egStartup) {return egStartup.go()}};
10
11     var eframe_template = 
12         '<eg-embed-frame url="local_admin_url" handlers="funcs"></eg-embed-frame>';
13
14     // non-conify routes come first
15     $routeProvider.when('/admin/local/money/cash_reports', {
16         template: eframe_template,
17         controller: 'CashReportsCtl', // non-conify
18         resolve : resolver
19     });
20
21     // Conify page handler
22     $routeProvider.when('/admin/local/:schema/:page', {
23         template: eframe_template,
24         controller: 'EmbedConifyCtl',
25         resolve : resolver
26     });
27
28     // default page 
29     $routeProvider.otherwise({
30         templateUrl : './admin/local/t_splash',
31         resolve : resolver
32     });
33 }])
34
35 .controller('EmbedConifyCtl', 
36        ['$scope','$routeParams','$location','egCore',
37 function($scope , $routeParams , $location , egCore) {
38
39     $scope.funcs = {
40         ses : egCore.auth.token(),
41     }
42
43     var conify_path = '/eg/conify/global/' + 
44         $routeParams.schema + '/' + $routeParams.page;
45
46     // embed URL must include protocol/domain or it will be loaded via
47     // push-state, resulting in an infinitely nested pages.
48     $scope.local_admin_url = 
49         $location.absUrl().replace(/\/eg\/staff.*/, conify_path);
50
51     console.log('Loading local admin URL: ' + $scope.local_admin_url);
52
53 }])
54
55 .controller('CashReportsCtl', 
56        ['$scope','$location','egCore',
57 function($scope , $location , egCore) {
58     $scope.local_admin_url = $location.absUrl().replace(
59         /\/.*/, '/xul/server/admin/cash_reports.xhtml');
60
61     // old-school XUL admin UI's only want CGI ses values.
62     $scope.local_admin_url += '?ses=' + egCore.auth.token();
63
64     console.log('Loading local admin URL: ' + $scope.local_admin_url);
65 }])
66