Bugzilla – Attachment 4706 Details for
Bug 5786
Move AllowOnShelfHolds and OpacItemHolds system preferences to the Circulation Matrix
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
0001-Bug-5786-moved-AllowOnShelfHolds-to-circ-matrix.patch (text/plain), 41.88 KB, created by
Srdjan Jankovic
on 2011-07-22 03:25:20 UTC
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Srdjan Jankovic
Created:
2011-07-22 03:25:20 UTC
Size:
41.88 KB
patch
obsolete
>From c58516ad822a26a1585806beebb2e4e0c44440c0 Mon Sep 17 00:00:00 2001 >From: Srdjan Jankovic <srdjan@catalyst.net.nz> >Date: Fri, 22 Jul 2011 15:22:10 +1200 >Subject: [PATCH 1/1] Bug 5786: moved AllowOnShelfHolds to circ matrix > >--- > C4/Circulation.pm | 3 +- > C4/Items.pm | 2 + > C4/Reserves.pm | 73 ++++++++++++++++--- > C4/VirtualShelves/Page.pm | 1 - > admin/smart-rules.pl | 9 ++- > admin/systempreferences.pl | 1 - > installer/data/mysql/de-DE/mandatory/sysprefs.sql | 1 - > installer/data/mysql/en/mandatory/sysprefs.sql | 1 - > .../1-Obligatoire/unimarc_standard_systemprefs.sql | 1 - > installer/data/mysql/it-IT/necessari/sysprefs.sql | 1 - > .../data/mysql/nb-NO/1-Obligatorisk/sysprefs.sql | 1 - > installer/data/mysql/pl-PL/mandatory/sysprefs.sql | 1 - > ...m_preferences_full_optimal_for_install_only.sql | 1 - > ...m_preferences_full_optimal_for_install_only.sql | 1 - > installer/data/mysql/updatedatabase.pl | 16 ++++ > installer/html-template-to-template-toolkit.pl | 2 +- > .../en/modules/admin/preferences/circulation.pref | 6 -- > .../prog/en/modules/admin/preferences/opac.pref | 6 -- > .../prog/en/modules/admin/smart-rules.tt | 25 +++++-- > .../prog/en/modules/help/reserve/request.tt | 4 +- > .../opac-tmpl/prog/en/modules/opac-ISBDdetail.tt | 6 -- > .../opac-tmpl/prog/en/modules/opac-MARCdetail.tt | 6 -- > koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt | 12 +--- > .../prog/en/modules/opac-results-grouped.tt | 6 -- > .../opac-tmpl/prog/en/modules/opac-results.tt | 8 +-- > .../opac-tmpl/prog/en/modules/opac-shelves.tt | 6 -- > opac/opac-ISBDdetail.pl | 2 - > opac/opac-MARCdetail.pl | 1 - > opac/opac-detail.pl | 1 - > opac/opac-reserve.pl | 2 +- > opac/opac-search.pl | 2 +- > 31 files changed, 112 insertions(+), 96 deletions(-) > >diff --git a/C4/Circulation.pm b/C4/Circulation.pm >index 179fe70..637f551 100644 >--- a/C4/Circulation.pm >+++ b/C4/Circulation.pm >@@ -2167,7 +2167,8 @@ sub CanBookBeRenewed { > LEFT JOIN biblioitems USING (biblioitemnumber) > > WHERE >- (issuingrules.categorycode = borrowers.categorycode OR issuingrules.categorycode = '*') >+ (issuingrules.categorycode = borrowers.categorycode >+ OR issuingrules.categorycode = '*') > AND > (issuingrules.itemtype = $itype OR issuingrules.itemtype = '*') > AND >diff --git a/C4/Items.pm b/C4/Items.pm >index 9342564..9ba46d3 100644 >--- a/C4/Items.pm >+++ b/C4/Items.pm >@@ -156,6 +156,8 @@ sub GetItem { > ($data->{'serialseq'} , $data->{'publisheddate'}) = $ssth->fetchrow_array(); > } > #if we don't have an items.itype, use biblioitems.itemtype. >+ # FIXME this should respect the itypes systempreference >+ # if (C4::Context->preference('item-level_itypes')) { > if( ! $data->{'itype'} ) { > my $sth = $dbh->prepare("SELECT itemtype FROM biblioitems WHERE biblionumber = ?"); > $sth->execute($data->{'biblionumber'}); >diff --git a/C4/Reserves.pm b/C4/Reserves.pm >index 8373840..9a8e608 100644 >--- a/C4/Reserves.pm >+++ b/C4/Reserves.pm >@@ -3,6 +3,7 @@ package C4::Reserves; > # Copyright 2000-2002 Katipo Communications > # 2006 SAN Ouest Provence > # 2007-2010 BibLibre Paul POULAIN >+# 2011 Catalyst IT > # > # This file is part of Koha. > # >@@ -471,7 +472,6 @@ sub CanItemBeReserved{ > if(my $rowcount = $sthcount->fetchrow_hashref()){ > $reservecount = $rowcount->{count}; > } >- > # we check if it's ok or not > if( $reservecount < $allowedreserves ){ > return 1; >@@ -1299,7 +1299,7 @@ sub GetReserveInfo { > > =head2 IsAvailableForItemLevelRequest > >- my $is_available = IsAvailableForItemLevelRequest($itemnumber); >+ my $is_available = IsAvailableForItemLevelRequest($itemnumber,$borrowernumber,$branchcode); > > Checks whether a given item record is available for an > item-level hold request. An item is available if >@@ -1309,12 +1309,8 @@ item-level hold request. An item is available if > * it is not withdrawn AND > * does not have a not for loan value > 0 > >-Whether or not the item is currently on loan is >-also checked - if the AllowOnShelfHolds system preference >-is ON, an item can be requested even if it is currently >-on loan to somebody else. If the system preference >-is OFF, an item that is currently checked out cannot >-be the target of an item-level hold request. >+Need to check the issuingrules onshelfholds column, >+if this is set items on the shelf can be placed on hold > > Note that IsAvailableForItemLevelRequest() does not > check if the staff operator is authorized to place >@@ -1326,9 +1322,9 @@ and canreservefromotherbranches. > > sub IsAvailableForItemLevelRequest { > my $itemnumber = shift; >- >+ my $borrowernumber = shift; >+ my $branchcode = shift; > my $item = GetItem($itemnumber); >- > # must check the notforloan setting of the itemtype > # FIXME - a lot of places in the code do this > # or something similar - need to be >@@ -1361,14 +1357,67 @@ sub IsAvailableForItemLevelRequest { > $item->{wthdrawn} or > $notforloan_per_itemtype; > >- >- if (C4::Context->preference('AllowOnShelfHolds')) { >+ # check issuingrules >+ >+ if (OnShelfHoldsAllowed($itemnumber,$borrowernumber,$branchcode)) { > return $available_per_item; > } else { > return ($available_per_item and ($item->{onloan} or GetReserveStatus($itemnumber) eq "W")); > } > } > >+=head2 OnShelfHoldsAllowed >+ >+ OnShelfHoldsAllowed($itemnumber,$borrowernumber,$branchcode); >+ >+Checks issuingrules, using the borrowers categorycode, the itemtype, and branchcode to see if onshelf >+holds are allowed, returns true if so. >+ >+=cut >+ >+sub OnShelfHoldsAllowed { >+ my ($itemnumber,$borrowernumber,$branchcode) = @_; >+ my $item = GetItem($itemnumber); >+ my $borrower = C4::Members::GetMember(borrowernumber => $borrowernumber); >+ my $itype; >+ my $dbh = C4::Context->dbh; >+ if (C4::Context->preference('item-level_itypes')) { >+ # We cant trust GetItem to honour the syspref, so safest to do it ourselves >+ # When GetItem is fixed, we can remove this >+ $itype = $item->{itype}; >+ } >+ else { >+ my $query = "SELECT itemtype FROM biblioitems WHERE biblioitemnumber = ? "; >+ my $sth = $dbh->prepare($query); >+ $sth->execute($item->{biblioitemnumber}); >+ if (my $data = $sth->fetchrow_hashref()){ >+ $itype = $data->{itemtype}; >+ } >+ } >+ >+ my $query = "SELECT onshelfholds,categorycode,itemtype,branchcode FROM issuingrules WHERE >+ (issuingrules.categorycode = ? OR issuingrules.categorycode = '*') >+ AND >+ (issuingrules.itemtype = ? OR issuingrules.itemtype = '*') >+ AND >+ (issuingrules.branchcode = ? OR issuingrules.branchcode = '*') >+ ORDER BY >+ issuingrules.categorycode desc, >+ issuingrules.itemtype desc, >+ issuingrules.branchcode desc >+ LIMIT 1"; >+ my $dbh = C4::Context->dbh; >+ my $sth = $dbh->prepare($query); >+ $sth->execute($borrower->{categorycode},$itype,$branchcode); >+ my $data = $sth->fetchrow_hashref; >+ if ($data->{onshelfholds}){ >+ return 1; >+ } >+ else { >+ return 0; >+ } >+} >+ > =head2 AlterPriority > > AlterPriority( $where, $borrowernumber, $biblionumber, $reservedate ); >diff --git a/C4/VirtualShelves/Page.pm b/C4/VirtualShelves/Page.pm >index 9e5ec3a..022eb98 100644 >--- a/C4/VirtualShelves/Page.pm >+++ b/C4/VirtualShelves/Page.pm >@@ -183,7 +183,6 @@ sub shelfpage ($$$$$) { > # explicitly fetch this shelf > my ($shelfnumber2,$shelfname,$owner,$category,$sorton) = GetShelf($shelfnumber); > >- $template->param( 'AllowOnShelfHolds' => C4::Context->preference('AllowOnShelfHolds') ); > if (C4::Context->preference('TagsEnabled')) { > $template->param(TagsEnabled => 1); > foreach (qw(TagsShowOnList TagsInputOnList)) { >diff --git a/admin/smart-rules.pl b/admin/smart-rules.pl >index f290934..9dbd0e6 100755 >--- a/admin/smart-rules.pl >+++ b/admin/smart-rules.pl >@@ -101,8 +101,8 @@ elsif ($op eq 'delete-branch-item') { > # save the values entered > elsif ($op eq 'add') { > my $sth_search = $dbh->prepare("SELECT COUNT(*) AS total FROM issuingrules WHERE branchcode=? AND categorycode=? AND itemtype=?"); >- my $sth_insert = $dbh->prepare("INSERT INTO issuingrules (branchcode, categorycode, itemtype, maxissueqty, renewalsallowed, reservesallowed, issuelength, hardduedate, hardduedatecompare, fine, finedays, firstremind, chargeperiod,rentaldiscount) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); >- my $sth_update=$dbh->prepare("UPDATE issuingrules SET fine=?, finedays=?, firstremind=?, chargeperiod=?, maxissueqty=?, renewalsallowed=?, reservesallowed=?, issuelength=?, hardduedate=?, hardduedatecompare=?, rentaldiscount=? WHERE branchcode=? AND categorycode=? AND itemtype=?"); >+ my $sth_insert = $dbh->prepare("INSERT INTO issuingrules (branchcode, categorycode, itemtype, maxissueqty, renewalsallowed, reservesallowed, issuelength, hardduedate, hardduedatecompare, fine, finedays, firstremind, chargeperiod, rentaldiscount, onshelfholds) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); >+ my $sth_update=$dbh->prepare("UPDATE issuingrules SET fine=?, finedays=?, firstremind=?, chargeperiod=?, maxissueqty=?, renewalsallowed=?, reservesallowed=?, issuelength=?, hardduedate=?, hardduedatecompare=?, rentaldiscount=? onshelfholds=? WHERE branchcode=? AND categorycode=? AND itemtype=?"); > > my $br = $branch; # branch > my $bor = $input->param('categorycode'); # borrower category >@@ -114,6 +114,7 @@ elsif ($op eq 'add') { > my $maxissueqty = $input->param('maxissueqty'); > my $renewalsallowed = $input->param('renewalsallowed'); > my $reservesallowed = $input->param('reservesallowed'); >+ my $onshelfholds = $input->param('onshelfholds'); > $maxissueqty =~ s/\s//g; > $maxissueqty = undef if $maxissueqty !~ /^\d+/; > my $issuelength = $input->param('issuelength'); >@@ -126,9 +127,9 @@ elsif ($op eq 'add') { > $sth_search->execute($br,$bor,$cat); > my $res = $sth_search->fetchrow_hashref(); > if ($res->{total}) { >- $sth_update->execute($fine, $finedays,$firstremind, $chargeperiod, $maxissueqty, $renewalsallowed,$reservesallowed, $issuelength,$hardduedate,$hardduedatecompare,$rentaldiscount, $br,$bor,$cat); >+ $sth_update->execute($fine, $finedays,$firstremind, $chargeperiod, $maxissueqty, $renewalsallowed,$reservesallowed, $issuelength,$hardduedate,$hardduedatecompare,$rentaldiscount, $onshelfholds, $br,$bor,$cat); > } else { >- $sth_insert->execute($br,$bor,$cat,$maxissueqty,$renewalsallowed,$reservesallowed,$issuelength,$hardduedate,$hardduedatecompare,$fine,$finedays,$firstremind,$chargeperiod,$rentaldiscount); >+ $sth_insert->execute($br,$bor,$cat,$maxissueqty,$renewalsallowed,$reservesallowed,$issuelength,$hardduedate,$hardduedatecompare,$fine,$finedays,$firstremind,$chargeperiod,$rentaldiscount,$onshelfholds); > } > } > elsif ($op eq "set-branch-defaults") { >diff --git a/admin/systempreferences.pl b/admin/systempreferences.pl >index 87ecac4..d285a5b 100755 >--- a/admin/systempreferences.pl >+++ b/admin/systempreferences.pl >@@ -185,7 +185,6 @@ $tabsysprefs{HomeOrHoldingBranch} = "Circulation"; > $tabsysprefs{HomeOrHoldingBranchReturn} = "Circulation"; > $tabsysprefs{RandomizeHoldsQueueWeight} = "Circulation"; > $tabsysprefs{StaticHoldsQueueWeight} = "Circulation"; >-$tabsysprefs{AllowOnShelfHolds} = "Circulation"; > $tabsysprefs{AllowHoldsOnDamagedItems} = "Circulation"; > $tabsysprefs{UseBranchTransferLimits} = "Circulation"; > $tabsysprefs{AllowHoldPolicyOverride} = "Circulation"; >diff --git a/installer/data/mysql/de-DE/mandatory/sysprefs.sql b/installer/data/mysql/de-DE/mandatory/sysprefs.sql >index 6eb67a3..67f7613 100755 >--- a/installer/data/mysql/de-DE/mandatory/sysprefs.sql >+++ b/installer/data/mysql/de-DE/mandatory/sysprefs.sql >@@ -217,7 +217,6 @@ INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES > ('XSLTDetailsDisplay','0','','Enable XSL stylesheet control over details page display on intranet','YesNo'), > ('XSLTResultsDisplay','0','','Enable XSL stylesheet control over results page display on intranet','YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AdvancedSearchTypes','itemtypes','itemtypes|ccode','Select which set of fields comprise the Type limit in the advanced search','Choice'); >-INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AllowOnShelfHolds', '0', '', 'Allow hold requests to be placed on items that are not on loan', 'YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AllowHoldsOnDamagedItems', '1', '', 'Allow hold requests to be placed on damaged items', 'YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('OpacSuppression', '0', '', 'Turn ON the OPAC Suppression feature, requires further setup, ask your system administrator for details', 'YesNo'); > -- FIXME: add FrameworksLoaded, noOPACUserLogin? >diff --git a/installer/data/mysql/en/mandatory/sysprefs.sql b/installer/data/mysql/en/mandatory/sysprefs.sql >index 0abf9d8..69ef3ac 100755 >--- a/installer/data/mysql/en/mandatory/sysprefs.sql >+++ b/installer/data/mysql/en/mandatory/sysprefs.sql >@@ -219,7 +219,6 @@ INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES > ('XSLTDetailsDisplay','0','','Enable XSL stylesheet control over details page display on intranet','YesNo'), > ('XSLTResultsDisplay','0','','Enable XSL stylesheet control over results page display on intranet','YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AdvancedSearchTypes','itemtypes','itemtypes|ccode','Select which set of fields comprise the Type limit in the advanced search','Choice'); >-INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AllowOnShelfHolds', '0', '', 'Allow hold requests to be placed on items that are not on loan', 'YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AllowHoldsOnDamagedItems', '1', '', 'Allow hold requests to be placed on damaged items', 'YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('OpacSuppression', '0', '', 'Turn ON the OPAC Suppression feature, requires further setup, ask your system administrator for details', 'YesNo'); > -- FIXME: add FrameworksLoaded, noOPACUserLogin? >diff --git a/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql b/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql >index 59a258f..cc249bc 100755 >--- a/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql >+++ b/installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql >@@ -214,7 +214,6 @@ INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('XSLTDetailsDisplay','0','','Activer la feuille XSL pour l''affichage des notices détaillées dans la partie pro','YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('XSLTResultsDisplay','0','','Activer la feuille XSL pour l''affichage des listes de résultat dans la partie pro','YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AdvancedSearchTypes','itemtypes','itemtypes|ccode','Définit quel champ est utilisé pour la limitation par type de document dans la recherche avancée','Choice'); >-INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AllowOnShelfHolds', '0', '', 'Autorise les réservations de documents en rayon.', 'YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AllowHoldsOnDamagedItems', '1', '', 'Autorise les réservations de documents déclarés endommagés', 'YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('OpacSuppression', '0', '', 'Active la fonction de suppression à l''OPAC. Elle demande plus de paramétrage, demandez à votre administrateur', 'YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES ('SMSSendDriver','','','Détermine le pilote utilisé par SMS::Send pour envoyer des SMS.','free'); >diff --git a/installer/data/mysql/it-IT/necessari/sysprefs.sql b/installer/data/mysql/it-IT/necessari/sysprefs.sql >index dcdf0ee..3cf7fed 100755 >--- a/installer/data/mysql/it-IT/necessari/sysprefs.sql >+++ b/installer/data/mysql/it-IT/necessari/sysprefs.sql >@@ -9,7 +9,6 @@ insert into `systempreferences` (`variable`, `value`, `options`, `explanation`, > insert into `systempreferences` (`variable`, `value`, `options`, `explanation`, `type`) values('advancedMARCeditor','0','','Se su ON, nel MARC editor non verranno visualizzati i campi/sottocampi delle descrizioni.','YesNo'); > insert into `systempreferences` (`variable`, `value`, `options`, `explanation`, `type`) values('AdvancedSearchTypes','itemtypes','itemtypes|ccode','Selezionare quale set di campi comprenderà la ricerca avanzata per tipo.','Choice'); > insert into `systempreferences` (`variable`, `value`, `options`, `explanation`, `type`) values('AllowHoldsOnDamagedItems','1','','Permette l\'inserimento di richieste di prenotazione su copie danneggiate','YesNo'); >-insert into `systempreferences` (`variable`, `value`, `options`, `explanation`, `type`) values('AllowOnShelfHolds','1','','Permette di inserire prenotazioni su documenti non in prestito.','YesNo'); > insert into `systempreferences` (`variable`, `value`, `options`, `explanation`, `type`) values('AllowRenewalLimitOverride','1','','Se On, permette che i limiti ai rinnovi possano essere superati dal bibliotecario nel modulo della circolazione','YesNo'); > insert into `systempreferences` (`variable`, `value`, `options`, `explanation`, `type`) values('AmazonAssocTag','','','See: http://aws.amazon.com','free'); > insert into `systempreferences` (`variable`, `value`, `options`, `explanation`, `type`) values('AmazonCoverImages','0','','Se ON, visualizza nellâinterfaccia del bibliotecario lâimmagine della copertina presa dal Web Service di Amazon','YesNo'); >diff --git a/installer/data/mysql/nb-NO/1-Obligatorisk/sysprefs.sql b/installer/data/mysql/nb-NO/1-Obligatorisk/sysprefs.sql >index ca71769..f15aad4 100644 >--- a/installer/data/mysql/nb-NO/1-Obligatorisk/sysprefs.sql >+++ b/installer/data/mysql/nb-NO/1-Obligatorisk/sysprefs.sql >@@ -235,7 +235,6 @@ INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES > ('XSLTDetailsDisplay','0','','Enable XSL stylesheet control over details page display on intranet','YesNo'), > ('XSLTResultsDisplay','0','','Enable XSL stylesheet control over results page display on intranet','YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AdvancedSearchTypes','itemtypes','itemtypes|ccode','Select which set of fields comprise the Type limit in the advanced search','Choice'); >-INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AllowOnShelfHolds', '0', '', 'Allow hold requests to be placed on items that are not on loan', 'YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AllowHoldsOnDamagedItems', '1', '', 'Allow hold requests to be placed on damaged items', 'YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('OpacSuppression', '0', '', 'Turn ON the OPAC Suppression feature, requires further setup, ask your system administrator for details', 'YesNo'); > -- FIXME: add FrameworksLoaded, noOPACUserLogin? >diff --git a/installer/data/mysql/pl-PL/mandatory/sysprefs.sql b/installer/data/mysql/pl-PL/mandatory/sysprefs.sql >index 58ba035..0aaa9de 100755 >--- a/installer/data/mysql/pl-PL/mandatory/sysprefs.sql >+++ b/installer/data/mysql/pl-PL/mandatory/sysprefs.sql >@@ -214,7 +214,6 @@ INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES > ('XSLTDetailsDisplay','0','','Enable XSL stylesheet control over details page display on OPAC WARNING: MARC21 Only','YesNo'), > ('XSLTResultsDisplay','0','','Enable XSL stylesheet control over results page display on OPAC WARNING: MARC21 Only','YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AdvancedSearchTypes','itemtypes','itemtypes|ccode','Select which set of fields comprise the Type limit in the advanced search','Choice'); >-INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AllowOnShelfHolds', '0', '', 'Allow hold requests to be placed on items that are not on loan', 'YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AllowHoldsOnDamagedItems', '1', '', 'Allow hold requests to be placed on damaged items', 'YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('OpacSuppression', '0', '', 'Turn ON the OPAC Suppression feature, requires further setup, ask your system administrator for details', 'YesNo'); > -- FIXME: add FrameworksLoaded, noOPACUserLogin? >diff --git a/installer/data/mysql/ru-RU/mandatory/system_preferences_full_optimal_for_install_only.sql b/installer/data/mysql/ru-RU/mandatory/system_preferences_full_optimal_for_install_only.sql >index 54c533c..c6cb253 100755 >--- a/installer/data/mysql/ru-RU/mandatory/system_preferences_full_optimal_for_install_only.sql >+++ b/installer/data/mysql/ru-RU/mandatory/system_preferences_full_optimal_for_install_only.sql >@@ -241,7 +241,6 @@ INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES > ('XSLTDetailsDisplay','0','','Enable XSL stylesheet control over details page display on OPAC exemple : ../koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl','Textarea'), > ('XSLTResultsDisplay','0','','Enable XSL stylesheet control over results page display on OPAC exemple : ../koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl','Textarea'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AdvancedSearchTypes','itemtypes','itemtypes|ccode','Select which set of fields comprise the Type limit in the advanced search','Choice'); >-INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AllowOnShelfHolds', '0', '', 'Allow hold requests to be placed on items that are not on loan', 'YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AllowHoldsOnDamagedItems', '1', '', 'Allow hold requests to be placed on damaged items', 'YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('OpacSuppression', '0', '', 'Turn ON the OPAC Suppression feature, requires further setup, ask your system administrator for details', 'YesNo'); > -- FIXME: add FrameworksLoaded, noOPACUserLogin? >diff --git a/installer/data/mysql/uk-UA/mandatory/system_preferences_full_optimal_for_install_only.sql b/installer/data/mysql/uk-UA/mandatory/system_preferences_full_optimal_for_install_only.sql >index 9f095ab..6023b3d 100755 >--- a/installer/data/mysql/uk-UA/mandatory/system_preferences_full_optimal_for_install_only.sql >+++ b/installer/data/mysql/uk-UA/mandatory/system_preferences_full_optimal_for_install_only.sql >@@ -266,7 +266,6 @@ INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES > ('XSLTDetailsDisplay','0','','Enable XSL stylesheet control over details page display on OPAC exemple : ../koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl','Textarea'), > ('XSLTResultsDisplay','0','','Enable XSL stylesheet control over results page display on OPAC exemple : ../koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl','Textarea'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AdvancedSearchTypes','itemtypes','itemtypes|ccode','Select which set of fields comprise the Type limit in the advanced search','Choice'); >-INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AllowOnShelfHolds', '0', '', 'Allow hold requests to be placed on items that are not on loan', 'YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('AllowHoldsOnDamagedItems', '1', '', 'Allow hold requests to be placed on damaged items', 'YesNo'); > INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES('OpacSuppression', '0', '', 'Turn ON the OPAC Suppression feature, requires further setup, ask your system administrator for details', 'YesNo'); > -- FIXME: add FrameworksLoaded, noOPACUserLogin? >diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl >index 9cbc8db..61b7892 100755 >--- a/installer/data/mysql/updatedatabase.pl >+++ b/installer/data/mysql/updatedatabase.pl >@@ -4370,6 +4370,22 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { > SetVersion($DBversion); > } > >+$DBversion = '3.05.00.XXX'; >+if (C4::Context->preference("Version") < TransformToNum($DBversion)) { >+ print "Upgrade to $DBversion done (Bug 5786 move AllowOnShelfHolds to circulation matrix)\n"; >+ # First create the column >+ $dbh->do("ALTER TABLE issuingrules ADD onshelfholds BOOLEAN"); >+ # Now update the column >+ if (C4::Context->preference("AllowOnShelfHolds")){ >+ # Pref is on, set allow for all rules >+ $dbh->do("UPDATE issuingrules SET onshelfholds=1"); >+ } >+ # If the preference is not set, leave off >+ # Remove from the systempreferences table >+ $dbh->do("DELETE FROM systempreferences WHERE variable = 'AllowOnShelfHolds'"); >+ SetVersion ($DBversion); >+} >+ > =head1 FUNCTIONS > > =head2 DropAllForeignKeys($table) >diff --git a/installer/html-template-to-template-toolkit.pl b/installer/html-template-to-template-toolkit.pl >index e99b195..5f0e0ac 100755 >--- a/installer/html-template-to-template-toolkit.pl >+++ b/installer/html-template-to-template-toolkit.pl >@@ -32,7 +32,7 @@ my @globals = ("themelang","JacketImages","OPACAmazonCoverImages","GoogleJackets > "SyndeticsEnabled", "OpacRenewalAllowed", "item_level_itypes","noItemTypeImages", > "virtualshelves", "RequestOnOpac", "COinSinOPACResults", "OPACXSLTResultsDisplay", > "OPACItemsResultsDisplay", "LibraryThingForLibrariesID", "opacuserlogin", "TagsEnabled", >-"TagsShowOnList", "TagsInputOnList","loggedinusername","AllowOnShelfHolds","opacbookbag", >+"TagsShowOnList", "TagsInputOnList","loggedinusername","opacbookbag", > "OPACAmazonEnabled", "SyndeticsCoverImages","using_https"); > > # Arguments: >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref >index dc821a8..5f17c23 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref >@@ -229,12 +229,6 @@ Circulation: > no: "Don't allow" > - hold requests to be placed on damaged items. > - >- - pref: AllowOnShelfHolds >- choices: >- yes: Allow >- no: "Don't allow" >- - hold requests to be placed on items that are not checked out. >- - > - pref: AllowHoldDateInFuture > choices: > yes: Allow >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref >index f4be568..fa0ab77 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref >@@ -295,12 +295,6 @@ OPAC: > # choices: > # - If ON, enables subject cloud on OPAC > - >- - pref: OPACItemHolds >- choices: >- yes: Allow >- no: "Don't allow" >- - patrons to place holds on specific items in the OPAC. If this is disabled, users can only put a hold on the next available item. >- - > - pref: OpacRenewalAllowed > choices: > yes: Allow >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt >index 0edcece..2ee7f3f 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt >@@ -80,7 +80,8 @@ for="tobranch"><strong>Clone these rules to:</strong></label> <input type="hidde > <th>Suspension in Days (day)</th> > <th>Renewals Allowed (count)</th> > <th>Holds Allowed (count)</th> >- <th>Rental Discount (%)</th> >+ <th>On Shelf Holds Allowed</th> >+ <th>Rental Discount (%)</th> > <th> </th> > </tr> > [% FOREACH rule IN rules %] >@@ -108,19 +109,26 @@ for="tobranch"><strong>Clone these rules to:</strong></label> <input type="hidde > [% END %] > </td> > <td>[% rule.issuelength %]</td> >- <td>[% IF ( rule.hardduedate ) %] >- [% IF ( rule.hardduedatebefore ) %]before [% rule.hardduedate %]</td> >- [% ELSE %][% IF ( rule.hardduedateexact ) %]on [% rule.hardduedate %]</td> >- [% ELSE %][% IF ( rule.hardduedateafter ) %]after [% rule.hardduedate %]</td>[% END %] >- [% END %] >- [% END %] >- [% ELSE %]None defined[% END %] >+ <td>[% IF ( rule.hardduedate ) %] >+ [% IF ( rule.hardduedatebefore ) %] >+ before >+ [% ELSIF ( rule.hardduedateexact ) %] >+ on >+ [% ELSIF ( rule.hardduedateafter ) %] >+ after >+ [% END %] >+ [% rule.hardduedate %] >+ [% ELSE %] >+ None defined >+ [% END %] >+ </td> > <td>[% rule.fine %]</td> > <td>[% rule.chargeperiod %]</td> > <td>[% rule.firstremind %]</td> > <td>[% rule.finedays %]</td> > <td>[% rule.renewalsallowed %]</td> > <td>[% rule.reservesallowed %]</td> >+ <td>[% IF rule.onshelfholds %]Yes[% ELSE %]No[% END %]</td> > <td>[% rule.rentaldiscount %]</td> > <td> > <a class="button" href="/cgi-bin/koha/admin/smart-rules.pl?op=delete&itemtype=[% rule.itemtype %]&categorycode=[% rule.categorycode %]&branch=[% rule.current_branch %]">Delete</a> >@@ -175,6 +183,7 @@ for="tobranch"><strong>Clone these rules to:</strong></label> <input type="hidde > <td><input name="finedays" size="3" /> </td> > <td><input name="renewalsallowed" size="2" /></td> > <td><input name="reservesallowed" size="2" /></td> >+ <td><input type="radio" name="onshelfholds" value="1">Yes <input type="radio" name="onshelfholds" value="0">No</td> > <td><input name="rentaldiscount" size="2" /></td> > <td><input type="hidden" name="branch" value="[% current_branch %]"/><input type="submit" value="Add" class="submit" /></td> > </tr> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/help/reserve/request.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/help/reserve/request.tt >index a6cc1ff..855992e 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/help/reserve/request.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/help/reserve/request.tt >@@ -17,7 +17,7 @@ TIP: Note that in this case an error message appears notifying the circulation l > <li>it is not marked not for loan AND,</li> > <li>it is not withdrawn AND,</li> > <li>it is not damaged (unless the AllowHoldsOnDamagedItems system preference is ON), AND</li> >- <li>it is not on loan (unless the AllowOnShelfHolds system preference is ON)</li> >+ <li>it is not on loan (unless the On Shelf Holds Allowed issue rule is ON)</li> > </ul></li> > <li> > <span style="background-color: #ffe599"> >@@ -34,4 +34,4 @@ TIP: If independent branches is on and the canreservefromotherbranches system p > <li>Hold priority can be altered by viewing the holds for the title</li> > <li>To view holds on a title, click the 'Holds' tab on the left</li> > <li>By changing the priority number a patron can be moved up or down on the list of holds</li> >- </ul>[% INCLUDE 'help-bottom.inc' %] >\ No newline at end of file >+ </ul>[% INCLUDE 'help-bottom.inc' %] >diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-ISBDdetail.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-ISBDdetail.tt >index f9984a7..d04e7b1 100644 >--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-ISBDdetail.tt >+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-ISBDdetail.tt >@@ -51,13 +51,7 @@ > [% UNLESS ( norequests ) %] > [% IF ( opacuserlogin ) %] > [% IF ( RequestOnOpac ) %] >- [% IF ( AllowOnShelfHolds ) %] > <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% biblionumber %]">Place Hold</a></li> >- [% ELSE %] >- [% IF ( ItemsIssued ) %] >- <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% biblionumber %]">Place Hold</a></li> >- [% END %] >- [% END %] > > [% END %] > [% END %] >diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-MARCdetail.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-MARCdetail.tt >index 284154e..200c0ed 100644 >--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-MARCdetail.tt >+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-MARCdetail.tt >@@ -206,13 +206,7 @@ $(document).ready(function(){ > [% UNLESS ( norequests ) %] > [% IF ( opacuserlogin ) %] > [% IF ( RequestOnOpac ) %] >- [% IF ( AllowOnShelfHolds ) %] > <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% biblionumber %]">Place Hold</a></li> >- [% ELSE %] >- [% IF ( ItemsIssued ) %] >- <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% biblionumber %]">Place Hold</a></li> >- [% END %] >- [% END %] > > [% END %] > [% END %] >diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt >index 3430cbb..9f4e4c9 100644 >--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt >+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt >@@ -802,16 +802,10 @@ YAHOO.util.Event.onContentReady("furtherm", function () { > <ul id="action"> > > [% UNLESS ( norequests ) %] >- [% IF ( opacuserlogin ) %] >+ [% IF ( opacuserlogin ) %] > [% IF ( RequestOnOpac ) %] >- [% IF ( AllowOnShelfHolds ) %] >- <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% biblionumber %]">Place Hold</a></li> >- [% ELSE %] >- [% IF ( ItemsIssued ) %] >- <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% biblionumber %]">Place Hold</a></li> >- [% END %] >- [% END %] >- [% END %] >+ <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% biblionumber %]">Place Hold</a></li> >+ [% END %] > [% END %] > [% END %] > <li><a class="print" href="#" onclick="window.print();">Print</a></li> >diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results-grouped.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-results-grouped.tt >index baf7676..2e248cc 100644 >--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results-grouped.tt >+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-results-grouped.tt >@@ -260,13 +260,7 @@ function highlightOn() { > [% IF ( RequestOnOpac ) %] > [% UNLESS ( GROUP_RESULT.norequests ) %] > [% IF ( opacuserlogin ) %] >- [% IF ( AllowOnShelfHolds ) %] > <a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% GROUP_RESULT.biblionumber %]">Place Hold</a><!-- add back when available 0 holds in queue--> >- [% ELSE %] >- [% IF ( GROUP_RESULT.itemsissued ) %] >- <a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% GROUP_RESULT.biblionumber %]">Place Hold</a><!-- add back when available 0 holds in queue--> >- [% END %] >- [% END %] > [% END %] > [% END %] > [% END %] >diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt >index 2047a1b..bc9827b 100644 >--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt >+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt >@@ -509,13 +509,7 @@ $(document).ready(function(){ > [% IF ( RequestOnOpac ) %] > [% UNLESS ( SEARCH_RESULT.norequests ) %] > [% IF ( opacuserlogin ) %] >- [% IF ( AllowOnShelfHolds ) %] >- <a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]">Place Hold</a><!-- add back when available 0 holds in queue--> >- [% ELSE %] >- [% IF ( SEARCH_RESULT.itemsissued ) %] >- <a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]">Place Hold</a><!-- add back when available 0 holds in queue--> >- [% END %] >- [% END %] >+ <a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]">Place Hold</a><!-- add back when available 0 holds in queue--> > [% END %] > [% END %] > [% END %] >diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt >index 9220367..57cde66 100644 >--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt >+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt >@@ -308,13 +308,7 @@ $(function() { > [% IF ( RequestOnOpac ) %] > [% UNLESS ( itemsloo.norequests ) %] > [% IF ( opacuserlogin ) %] >- [% IF ( AllowOnShelfHolds ) %] > <a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% itemsloo.biblionumber %]">Place Hold</a><!-- add back when available 0 holds in queue--> >- [% ELSE %] >- [% IF ( itemsloo.itemsissued ) %] >- <a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% itemsloo.biblionumber %]">Place Hold</a><!-- add back when available 0 holds in queue--> >- [% END %] >- [% END %] > [% END %] > [% END %] > [% END %] >diff --git a/opac/opac-ISBDdetail.pl b/opac/opac-ISBDdetail.pl >index c80d41c..d978357 100755 >--- a/opac/opac-ISBDdetail.pl >+++ b/opac/opac-ISBDdetail.pl >@@ -69,7 +69,6 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( > > my $biblionumber = $query->param('biblionumber'); > >-$template->param( 'AllowOnShelfHolds' => C4::Context->preference('AllowOnShelfHolds') ); > $template->param( 'ItemsIssued' => CountItemsIssued( $biblionumber ) ); > > my $marcflavour = C4::Context->preference("marcflavour"); >@@ -152,7 +151,6 @@ foreach ( @$reviews ) { > > $template->param( > RequestOnOpac => C4::Context->preference("RequestOnOpac"), >- AllowOnShelfHolds => C4::Context->preference('AllowOnShelfHolds'), > norequests => $norequests, > ISBD => $res, > biblionumber => $biblionumber, >diff --git a/opac/opac-MARCdetail.pl b/opac/opac-MARCdetail.pl >index 7544902..70653d9 100755 >--- a/opac/opac-MARCdetail.pl >+++ b/opac/opac-MARCdetail.pl >@@ -81,7 +81,6 @@ $template->param( > bibliotitle => $biblio->{title}, > ); > >-$template->param( 'AllowOnShelfHolds' => C4::Context->preference('AllowOnShelfHolds') ); > $template->param( 'ItemsIssued' => CountItemsIssued( $biblionumber ) ); > > # adding the $RequestOnOpac param >diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl >index e18e046..35b3750 100755 >--- a/opac/opac-detail.pl >+++ b/opac/opac-detail.pl >@@ -66,7 +66,6 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user( > > my $biblionumber = $query->param('biblionumber') || $query->param('bib'); > >-$template->param( 'AllowOnShelfHolds' => C4::Context->preference('AllowOnShelfHolds') ); > $template->param( 'ItemsIssued' => CountItemsIssued( $biblionumber ) ); > > my $record = GetMarcBiblio($biblionumber); >diff --git a/opac/opac-reserve.pl b/opac/opac-reserve.pl >index a92a976..21d40aa 100755 >--- a/opac/opac-reserve.pl >+++ b/opac/opac-reserve.pl >@@ -432,7 +432,7 @@ foreach my $biblioNum (@biblionumbers) { > $policy_holdallowed = 0; > } > >- if (IsAvailableForItemLevelRequest($itemNum) and $policy_holdallowed and CanItemBeReserved($borrowernumber,$itemNum)) { >+ if (IsAvailableForItemLevelRequest($itemNum,$borr->{'borrowernumber'},$itemInfo->{'homebranch'}) and $policy_holdallowed and CanItemBeReserved($borrowernumber,$itemNum)) { > $itemLoopIter->{available} = 1; > $numCopiesAvailable++; > } >diff --git a/opac/opac-search.pl b/opac/opac-search.pl >index cd34610..3db8487 100755 >--- a/opac/opac-search.pl >+++ b/opac/opac-search.pl >@@ -100,7 +100,7 @@ if (C4::Context->preference("marcflavour") eq "UNIMARC" ) { > elsif (C4::Context->preference("marcflavour") eq "MARC21" ) { > $template->param('usmarc' => 1); > } >-$template->param( 'AllowOnShelfHolds' => C4::Context->preference('AllowOnShelfHolds') ); >+ > $template->param( 'OPACNoResultsFound' => C4::Context->preference('OPACNoResultsFound') ); > > if (C4::Context->preference('BakerTaylorEnabled')) { >-- >1.6.5 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 5786
:
4706
|
4751
|
4755
|
6898
|
7018
|
7034
|
7044
|
11116
|
11137
|
11184
|
11185
|
11190
|
11903
|
11992
|
12323
|
12440
|
12441
|
15648
|
34080
|
34534
|
34535
|
34536
|
35545
|
35546
|
35547
|
35548
|
35550
|
35567
|
35568
|
35596
|
35597
|
35598
|
35599
|
36383
|
36384
|
36405
|
36617
|
36618
|
36619
|
37253
|
37263
|
37292
|
37373