@@ -, +, @@ --- Koha/Illrequest/Config.pm | 9 +++++++-- .../atomicupdate/bug_20639-add_ILLOpacbackends_syspref.perl | 11 +++++++++++ installer/data/mysql/sysprefs.sql | 1 + .../prog/en/modules/admin/preferences/circulation.pref | 5 +++++ opac/opac-illrequests.pl | 3 ++- 5 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug_20639-add_ILLOpacbackends_syspref.perl --- a/Koha/Illrequest/Config.pm +++ a/Koha/Illrequest/Config.pm @@ -104,16 +104,21 @@ sub backend_dir { =head3 available_backends -Return a list of available backends. + $backends = $config->available_backends; + $backends = $config->abailable_backends($reduced); + +Return a list of available backends, if passed a | delimited list it +will filter those backends down to only those present in the list. =cut sub available_backends { - my ( $self ) = @_; + my ( $self, $reduce ) = @_; my $backend_dir = $self->backend_dir; my @backends = (); @backends = glob "$backend_dir/*" if ( $backend_dir ); @backends = map { basename($_) } @backends; + @backends = grep { $_ =~ /$reduce/ } @backends if $reduce; return \@backends; } --- a/installer/data/mysql/atomicupdate/bug_20639-add_ILLOpacbackends_syspref.perl +++ a/installer/data/mysql/atomicupdate/bug_20639-add_ILLOpacbackends_syspref.perl @@ -0,0 +1,11 @@ +$DBversion = 'XXX'; # will be replaced by the RM +if( CheckVersion( $DBversion ) ) { + $dbh->do(q| + INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) + VALUES ('ILLOpacbackends',NULL,NULL,'ILL backends to enabled for OPAC initiated requests','multiple'); + |); + + # Always end with this (adjust the bug info) + SetVersion( $DBversion ); + print "Upgrade to $DBversion done (Bug 20639 - Add ILLOpacbackends syspref)\n"; +} --- a/installer/data/mysql/sysprefs.sql +++ a/installer/data/mysql/sysprefs.sql @@ -218,6 +218,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('IdRef','0','','Disable/enable the IdRef webservice from the OPAC detail page.','YesNo'), ('ILLModule','0','If ON, enables the interlibrary loans module.','','YesNo'), ('ILLModuleCopyrightClearance','','70|10','Enter text to enable the copyright clearance stage of request creation. Text will be displayed','Textarea'), +('ILLOpacbackends',NULL,NULL,'ILL backends to enabled for OPAC initiated requests','multiple'), ('ILS-DI','0','','Enables ILS-DI services at OPAC.','YesNo'), ('ILS-DI:AuthorizedIPs','','Restricts usage of ILS-DI to some IPs','.','Free'), ('ImageLimit','5','','Limit images stored in the database by the Patron Card image manager to this number.','Integer'), --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref @@ -796,6 +796,11 @@ Circulation: - pref: ILLModuleCopyrightClearance type: textarea class: long + - + - "ILL backends to enabled for OPAC initiated requests:" + - pref: ILLOpacbackends + class: multi + - (separated with |). Fines Policy: - - Calculate fines based on days overdue --- a/opac/opac-illrequests.pl +++ a/opac/opac-illrequests.pl @@ -50,7 +50,8 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user({ }); # Are we able to actually work? -my $backends = Koha::Illrequest::Config->new->available_backends; +my $reduced = C4::Context->preference('ILLOpacbackends'); +my $backends = Koha::Illrequest::Config->new->available_backends($reduced); my $backends_available = ( scalar @{$backends} > 0 ); $template->param( backends_available => $backends_available ); --