From 56688c5f13ea9a7a6420d49c8b6d3f5fa9d54ac6 Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Mon, 6 Feb 2017 16:42:35 -0500 Subject: [PATCH] improve linking out of acquisitions upload page - cat/catalog/vandelay route no longer drops query parameters, permitting direct linking to import queues (e.g., /eg/staff/cat/catalog/vandelay?qtype=bib&qid=367) - acq/legacy/:noun/:verb/:record now a valid acq route - purchase order MARC loading now generates usable links back to PO, selection list, and/or import queue Signed-off-by: Galen Charlton Signed-off-by: Kathy Lussier --- .../web/js/ui/default/acq/picklist/upload.js | 6 ++++- Open-ILS/web/js/ui/default/staff/acq/app.js | 27 ++++++++++++++++--- .../js/ui/default/staff/cat/catalog/app.js | 2 +- 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/Open-ILS/web/js/ui/default/acq/picklist/upload.js b/Open-ILS/web/js/ui/default/acq/picklist/upload.js index df11b0f84b..6abdc69226 100644 --- a/Open-ILS/web/js/ui/default/acq/picklist/upload.js +++ b/Open-ILS/web/js/ui/default/acq/picklist/upload.js @@ -177,7 +177,11 @@ function acqHandlePostUpload(key, plId) { link.setAttribute('href', url); } else { link.setAttribute('href', 'javascript:;'); // for linky-ness - link.onclick = function() { openils.XUL.newTabEasy(url, null, null, true) }; + if (window.IAMBROWSER) { + link.onclick = function() { xulG.relay_url(url) }; + } else { + link.onclick = function() { openils.XUL.newTabEasy(url, null, null, true) }; + } } } diff --git a/Open-ILS/web/js/ui/default/staff/acq/app.js b/Open-ILS/web/js/ui/default/staff/acq/app.js index b100c4fee3..b9e5b0f12d 100644 --- a/Open-ILS/web/js/ui/default/staff/acq/app.js +++ b/Open-ILS/web/js/ui/default/staff/acq/app.js @@ -17,6 +17,12 @@ angular.module('egAcquisitions', resolve : resolver }); + $routeProvider.when('/acq/legacy/:noun/:verb/:record', { + template: eframe_template, + controller: 'EmbedAcqCtl', + resolve : resolver + }); + // default page $routeProvider.otherwise({ templateUrl : './t_splash', @@ -25,15 +31,30 @@ angular.module('egAcquisitions', }]) .controller('EmbedAcqCtl', - ['$scope','$routeParams','$location','egCore', -function($scope , $routeParams , $location , egCore) { + ['$scope','$routeParams','$location','$window','$timeout','egCore', +function($scope , $routeParams , $location , $window , $timeout , egCore) { + + var relay_url = function(url) { + if (url.match(/\/eg\/acq/)) { + var munged_url = egCore.env.basePath + + url.replace(/^.*?\/eg\/acq\//, "acq/legacy/"); + $timeout(function() { $window.open(munged_url, '_blank') }); + } else if (url.match(/\/eg\/vandelay/)) { + var munged_url = egCore.env.basePath + + url.replace(/^.*?\/eg\/vandelay\/vandelay/, "cat/catalog/vandelay"); + $timeout(function() { $window.open(munged_url, '_blank') }); + } + } $scope.funcs = { ses : egCore.auth.token(), + relay_url : relay_url } var acq_path = '/eg/acq/' + - $routeParams.noun + '/' + $routeParams.verb + location.search; + $routeParams.noun + '/' + $routeParams.verb + + ((typeof $routeParams.record != 'undefined') ? '/' + $routeParams.record : '') + location.search; $scope.min_height = 2000; // give lots of space to start diff --git a/Open-ILS/web/js/ui/default/staff/cat/catalog/app.js b/Open-ILS/web/js/ui/default/staff/cat/catalog/app.js index 3b4846969e..0a1c01caba 100644 --- a/Open-ILS/web/js/ui/default/staff/cat/catalog/app.js +++ b/Open-ILS/web/js/ui/default/staff/cat/catalog/app.js @@ -1542,7 +1542,7 @@ function($scope , $location) { .controller('VandelayCtrl', ['$scope','$location', function($scope , $location) { - $scope.vandelay_url = $location.absUrl().replace(/\/staff.*/, '/vandelay/vandelay'); + $scope.vandelay_url = $location.absUrl().replace(/\/staff\/cat\/catalog\/vandelay/, '/vandelay/vandelay'); }]) .controller('ManageAuthoritiesCtrl', -- 2.43.2