$self->load_search_filter_groups($ctx->{search_ou});
$self->load_org_util_funcs;
$self->load_perm_funcs;
+ $self->_get_pref_lib;
return Apache2::Const::OK;
}
use OpenILS::Utils::Fieldmapper;
use OpenILS::Application::AppUtils;
use OpenSRF::MultiSession;
+use CGI qw/:standard/;
+use CGI::Cookie;
my $U = 'OpenILS::Application::AppUtils';
my $self = shift;
my $ctx = $self->ctx;
+ if( $ctx->{is_staff}) {
# plib param takes precedence
- my $plib = $self->cgi->param('plib');
+ # my $plib = $self->cgi->param('plib'); #replaced url 'plib' with cookie 'pplib'
+ my $plib = $self->cgi->cookie('pplib');
+ my $pref_clump = $plib;
+ my ($org, $grp) = split(/:/, $pref_clump);
+ $ctx->{pref_lib_org} = $self->_resolve_org_id_or_shortname($org);
+ $ctx->{pref_ou} = $ctx->{pref_lib_org};
return $plib if $plib;
+ }
if ($self->apache->headers_in->get('OILS-Pref-Lib')) {
return $self->apache->headers_in->get('OILS-Pref-Lib');
class='hidden'[% END %]>
<strong><label for="[% adv_chunk.id %]">
[% adv_chunk.adv_label %] </label></strong><br />
+
+ <meta http-equiv="Set-Cookie" content="pplib=[%CGI.param('plib')%];
+ path=/">
[%
IF adv_chunk.adv_special;
SWITCH adv_chunk.adv_special;
-[%- IF ctx.pref_ou && ctx.pref_ou != ctx.search_ou; %]
-<span class="preflib">[%
- l('Preferred library: [_1]', '<span class="bold">' _ ctx.get_aou(ctx.pref_ou).name _ '</span>');
+[%- IF ctx.pref_ou && ctx.pref_ou != ctx.search_ou; ctx.pref_ou = CGI.cookie('pplib')%]
+<span class="preflib"> [%
+ l('Preferred library: [_1]','<span class="bold">' _ ctx.get_aou(ctx.pref_ou).name _ '</span>');
IF NOT ctx.is_staff %]<a href="[% mkurl(ctx.opac_root _ '/myopac/prefs_settings')
%]" class="preflib_change" title="[% l("Change preferred library"); %]">[% l('?') %]</a>[% END; %]
</span>
'[% l('Delete content for key "[_1]"?', '{{deleteKey}}') %]';
s.DEFAULT_WS_LABEL = '[% l('[_1] (Default)', '{{ws}}') %]';
s.DEFAULT_ORG_LABEL = '[% l( '[_1] {{org}}') %]';
+ s.DEFAULT_PREF_ORG_LABEL = '[% l( '[_1] {{org}}') %]';
s.WS_EXISTS = '[% l("Workstation name already exists. Use it anyway?") %]';
}]);
</script>
</div><!-- /btn-group -->
</div><!-- /input-group -->
</div><!-- col -->
-
- <button class="btn btn-default" ng-click="setDefaultSearchLib()">
+ <button class="btn btn-default" ng-click="setDefaultLibs() ">
[% l('Save') %]
</button>
copies show up first in search results.</p>
<div class="input-group">
<div class="input-group-btn" dropdown>
- <select class="btn btn-default dropdown-toggle">
- <option>[% l('Select Library') %]</option>
- <option ng-repeat="org in orgList">
- {{org.shortname}}
+ <select class="btn btn-default dropdown-toggle" ng-model="selectedPrefOrg">
+ <option ng-repeat="org in orgList" value="{{org}}"
+ ng-selected="org.shortname == selectedPrefOrg">
+ {{getPrefOrgLabel(org.shortname)}}
</option>
</select>
</div><!-- /btn-group -->
</div><!-- /btn-group -->
</div><!-- /input-group -->
</div><!-- col -->
-
</div><!-- row -->
</div><!-- container -->
<div class="panel-title text-center">[% l('Item Search and Cataloging') %]</div>
</div>
<div class="panel-body">
+ <div>
+ <form action="/eg/opac/results" method="get">
+ <input type="search" alt="Catalog Search" name="query"
+ placeholder="Search catalog for..."/>
+ <input id="none" type="submit" value="Search">
+ </form>
+ </div>
<div>
<img src="/xul/server/skin/media/images/portal/bucket.png"/>
<a target="_self" href="./cat/bucket/record/">[% l('Record Buckets') %]</a>
}
});
+ egCore.hatch.getItem('eg.pref.lib.default')
+ .then(function(def) {
+ if (def == undefined) {
+ egCore.hatch.setItem(
+ 'eg.pref.lib.default', $scope.orgList[0]);
+ def = $scope.orgList[0].shortname;
+ }
+ //This lets our dropdown auto-select our default preferred lib.
+ $scope.selectedPrefOrg = def;
+ angular.forEach($scope.orgList, function(val, key) {
+ if(JSON.stringify(def.shortname) == JSON.stringify(val.shortname)){
+ $scope.selectedPrefOrg = val.shortname;
+ }
+ });
+ });
+
egCore.hatch.getItem('eg.search.lib.default')
.then(function(def) {
if (def == undefined) {
egCore.strings.$replace(egCore.strings.DEFAULT_ORG_LABEL, {org:org}) :org;
}
- $scope.setDefaultSearchLib = function() {
+ $scope.getPrefOrgLabel = function(org) {
+ return org == $scope.defaultPrefLib?
+ egCore.strings.$replace(egCore.strings.DEFAULT_PREF_ORG_LABEL, {pref:org}) :org;
+ }
+
+ $scope.setDefaultLibs = function() {
+ setDefaultSearchLib();
+ setDefaultPrefLib();
+ }
+
+ function setDefaultSearchLib() {
egCore.hatch.setItem(
'eg.search.lib.default', JSON.parse($scope.selectedOrg))
.then(function() { $scope.defaultSearchLib = $scope.selectedOrg });
}
+ function setDefaultPrefLib() {
+ egCore.hatch.setItem(
+ 'eg.pref.lib.default', JSON.parse($scope.selectedPrefOrg))
+ .then(function() { $scope.defaultPrefLib = $scope.selectedPrefOrg });
+ }
+
// ---------------------
// Hatch Configs
$scope.hatchURL = egCore.hatch.hatchURL();
'eg.hatch.url', $scope.hatchURL);
}
-
}])
.controller('PrintConfigCtrl',
var default_search_library = egCore.hatch.getLocalItem('eg.search.lib.default');
var url = $location.absUrl().replace(/\/staff.*/, '/opac/advanced');
+ var preferred_search_library = egCore.hatch.getLocalItem('eg.pref.lib.default');
if (default_search_library.id) {
url += '?locg=' + default_search_library.id;
}
+
+ if (preferred_search_library.id) {
+ url += '&plib=' + preferred_search_library.id;
+ }
+
// A record ID in the path indicates a request for the record-
// specific page.
if ($routeParams.record_id) {