From ab5fcb15d7ef895b0e9059a00568f658fc8a7ef2 Mon Sep 17 00:00:00 2001 From: Thomas Berezansky Date: Tue, 14 Aug 2012 10:50:11 -0400 Subject: [PATCH] Physical Location Fixes/Enhancements Teach the physical location retrieval function about using an ENV var. This allows a subdomain to force a specific physical location, say by adding to their apache config: SetEnv physical_loc 4 Rewriterules could also be used for more dynamic configuration. Also, as a fix: Have preferred library use the stored physical location instead of assuming that CGI has the setting all the time. Signed-off-by: Thomas Berezansky --- Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm | 3 +++ Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm index 218e2d266f..8d577dae7c 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm @@ -315,9 +315,12 @@ sub staff_saved_searches_set_expansion_state { # physical_loc (i.e. "original location") passed in as a URL # param will replace any existing physical_loc stored as a cookie. +# If specified via ENV that rules over all and we don't set cookies. sub get_physical_loc { my $self = shift; + return $ENV{physical_loc} if($ENV{physical_loc}); + if(my $physical_loc = $self->cgi->param('physical_loc')) { $self->apache->headers_out->add( "Set-Cookie" => $self->cgi->cookie( diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm index f94d60b369..eb0c703c55 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm @@ -389,8 +389,8 @@ sub _get_pref_lib { return $ctx->{user}->home_ou; } - if ($self->cgi->param('physical_loc')) { - return $self->cgi->param('physical_loc'); + if ($ctx->{physical_loc}) { + return $ctx->{physical_loc}; } } -- 2.11.0