From: Jason Etheridge Date: Fri, 2 Dec 2016 21:24:26 +0000 (-0500) Subject: webstaff: Booking Admininstration X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=a32a6c44f03876db9f259cf7efaa37750795336c;p=working%2FEvergreen.git webstaff: Booking Admininstration * Resource Attribute Maps * Resource Attribute Values * Resource Attributes * Resource Types * Resources and a xulG load timing issue workaround Signed-off-by: Jason Etheridge Signed-off-by: Kathy Lussier --- diff --git a/Open-ILS/src/templates/conify/global/booking/resource.tt2 b/Open-ILS/src/templates/conify/global/booking/resource.tt2 index 946a39c0ef..66f92bf2ae 100644 --- a/Open-ILS/src/templates/conify/global/booking/resource.tt2 +++ b/Open-ILS/src/templates/conify/global/booking/resource.tt2 @@ -55,15 +55,19 @@ var search = {'owner':list}; - if (xulG && xulG.resultant_brsrc) - search = {id: xulG.resultant_brsrc}; + setTimeout( + function() { + if (xulG && xulG.resultant_brsrc) + search = {id: xulG.resultant_brsrc}; - brsrcGrid.overrideEditWidgets.type = - new openils.widget.PCrudAutocompleteBox({ - "fmclass": "brt", "searchAttr": "name" - }); - brsrcGrid.overrideEditWidgets.type.shove = {"create": ""}; - brsrcGrid.loadAll({order_by:{brsrc : 'barcode'}}, search); + brsrcGrid.overrideEditWidgets.type = + new openils.widget.PCrudAutocompleteBox({ + "fmclass": "brt", "searchAttr": "name" + }); + brsrcGrid.overrideEditWidgets.type.shove = {"create": ""}; + brsrcGrid.loadAll({order_by:{brsrc : 'barcode'}}, search); + }, 0 + ); } ); diff --git a/Open-ILS/src/templates/staff/admin/booking/index.tt2 b/Open-ILS/src/templates/staff/admin/booking/index.tt2 new file mode 100644 index 0000000000..4c8b5da78f --- /dev/null +++ b/Open-ILS/src/templates/staff/admin/booking/index.tt2 @@ -0,0 +1,15 @@ +[% + WRAPPER "staff/base.tt2"; + ctx.page_title = l("Booking Administration"); + ctx.page_app = "egBookingAdmin"; +%] + +[% BLOCK APP_JS %] + + + +[% END %] + +
+ +[% END %] diff --git a/Open-ILS/src/templates/staff/admin/booking/t_splash.tt2 b/Open-ILS/src/templates/staff/admin/booking/t_splash.tt2 new file mode 100644 index 0000000000..fcd79e809a --- /dev/null +++ b/Open-ILS/src/templates/staff/admin/booking/t_splash.tt2 @@ -0,0 +1,39 @@ + +
+
+ [% l('Booking Administration') %] +
+
+ +
+ +[% + interfaces = [ + [ l('Resource Attribute Maps'), "./admin/booking/conify/resource_attr_map" ] + ,[ l('Resource Attribute Values'), "./admin/booking/conify/resource_attr_value" ] + ,[ l('Resource Attributes'), "./admin/booking/conify/resource_attr" ] + ,[ l('Resource Types'), "./admin/booking/conify/resource_type" ] + ,[ l('Resources'), "./admin/booking/conify/resource" ] + ]; + + USE table(interfaces, cols=3); +%] + +
+[% FOREACH col = table.cols %] +
+ [% FOREACH item = col %][% IF item.1 %] +
+ +
+ [% END %][% END %] +
+[% END %] +
+ +
diff --git a/Open-ILS/src/templates/staff/navbar.tt2 b/Open-ILS/src/templates/staff/navbar.tt2 index 23db624a64..e989fcf096 100644 --- a/Open-ILS/src/templates/staff/navbar.tt2 +++ b/Open-ILS/src/templates/staff/navbar.tt2 @@ -413,6 +413,12 @@
  • + + + [% l('Booking Administration') %] + +
  • +
  • [% l('Reports') %] diff --git a/Open-ILS/web/js/ui/default/staff/admin/booking/app.js b/Open-ILS/web/js/ui/default/staff/admin/booking/app.js new file mode 100644 index 0000000000..6f12e09502 --- /dev/null +++ b/Open-ILS/web/js/ui/default/staff/admin/booking/app.js @@ -0,0 +1,60 @@ +angular.module('egBookingAdmin', + ['ngRoute', 'ui.bootstrap', 'egCoreMod','egUiMod']) + +.config(['$routeProvider','$locationProvider','$compileProvider', + function($routeProvider , $locationProvider , $compileProvider) { + + $locationProvider.html5Mode(true); + $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|blob):/); + var resolver = {delay : function(egStartup) {return egStartup.go()}}; + + var eframe_template = + ''; + + $routeProvider.when('/admin/booking/:noun/:verb/:extra?', { + template: eframe_template, + controller: 'EmbedBookingCtl', + resolve : resolver + }); + + // default page + $routeProvider.otherwise({ + templateUrl : './admin/booking/t_splash', + resolve : resolver + }); +}]) + +.controller('EmbedBookingCtl', + ['$scope','$routeParams','$location','egCore', +function($scope , $routeParams , $location , egCore) { + + $scope.funcs = { + ses : egCore.auth.token(), + } + + var booking_path = '/eg/'; + + if ($routeParams.noun == 'conify') { + booking_path += 'conify/global/booking/' + $routeParams.verb + + (typeof $routeParams.extra != 'undefined' + ? '/' + $routeParams.extra + : '') + + location.search; + } else { + booking_path += 'booking/' + + $routeParams.noun + '/' + $routeParams.verb + + (typeof $routeParams.extra != 'undefined' + ? '/' + $routeParams.extra + : '') + + location.search; + } + + // embed URL must include protocol/domain or it will be loaded via + // push-state, resulting in an infinitely nested pages. + $scope.booking_admin_url = + $location.absUrl().replace(/\/eg\/staff.*/, booking_path); + + console.log('Loading Admin Booking URL: ' + $scope.booking_admin_url); + +}]) +