I don't think it's appropriate to request this change in practice in a reply on the patches list. I'm sure your request would be considered by all, but it should be raised in the devel list or at the next IRC meeting.
-- Owen On Dec 21, 2011, at 9:22 AM, Marc Balmer <[email protected]> wrote: > Please stop putting column names in backquotes, it is a MySQLism and hinders > my efforts to run Koha on PostgreSQL, > > > > Am 21.12.2011 um 04:28 schrieb Srdjan Jankovic <[email protected]>: > >> --- >> C4/Circulation.pm | 3 +- >> C4/Items.pm | 2 + >> C4/Reserves.pm | 72 ++++++++++++++++--- >> C4/VirtualShelves/Page.pm | 1 - >> admin/smart-rules.pl | 9 ++- >> admin/systempreferences.pl | 1 - >> .../mysql/it-IT/necessari/system_preferences.sql | 1 - >> installer/data/mysql/kohastructure.sql | 3 +- >> installer/data/mysql/sysprefs.sql | 1 - >> installer/data/mysql/updatedatabase.pl | 19 +++++ >> 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 | 2 +- >> .../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 | 2 - >> opac/opac-reserve.pl | 2 +- >> opac/opac-search.pl | 2 +- >> 26 files changed, 115 insertions(+), 91 deletions(-) >> >> diff --git a/C4/Circulation.pm b/C4/Circulation.pm >> index 9a6f4f2..df202e1 100644 >> --- a/C4/Circulation.pm >> +++ b/C4/Circulation.pm >> @@ -2200,7 +2200,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 8802a4c..7c3a26f 100644 >> --- a/C4/Items.pm >> +++ b/C4/Items.pm >> @@ -160,6 +160,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 359bbad..5a2d819 100644 >> --- a/C4/Reserves.pm >> +++ b/C4/Reserves.pm >> @@ -479,7 +479,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; >> @@ -1321,7 +1320,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 >> @@ -1331,12 +1330,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 >> @@ -1348,9 +1343,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 >> @@ -1383,14 +1378,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 523527e..ff55dc0 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..5bfdc7d 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 78d0768..6bd68ee 100755 >> --- a/admin/systempreferences.pl >> +++ b/admin/systempreferences.pl >> @@ -186,7 +186,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/it-IT/necessari/system_preferences.sql >> b/installer/data/mysql/it-IT/necessari/system_preferences.sql >> index b4ddfa0..7aaa066 100644 >> --- a/installer/data/mysql/it-IT/necessari/system_preferences.sql >> +++ b/installer/data/mysql/it-IT/necessari/system_preferences.sql >> @@ -17,7 +17,6 @@ >> -- 51 Franklin Street' WHERE variable = ' Fifth Floor' WHERE variable = ' >> Boston' WHERE variable = ' MA 02110-1301 USA. >> >> UPDATE systempreferences SET value = 'cataloguing' WHERE variable = >> 'AcqCreateItem'; >> -UPDATE systempreferences SET value = '1' WHERE variable = >> 'AllowOnShelfHolds'; >> UPDATE systempreferences SET value = '1' WHERE variable = >> 'AllowRenewalLimitOverride'; >> UPDATE systempreferences SET value = 'annual' WHERE variable = 'autoBarcode'; >> UPDATE systempreferences SET value = 'email' WHERE variable = >> 'AutoEmailPrimaryAddress'; >> diff --git a/installer/data/mysql/kohastructure.sql >> b/installer/data/mysql/kohastructure.sql >> index a03bd23..b6adbd6 100644 >> --- a/installer/data/mysql/kohastructure.sql >> +++ b/installer/data/mysql/kohastructure.sql >> @@ -970,6 +970,7 @@ CREATE TABLE `issues` ( -- information related to check >> outs or issues >> >> DROP TABLE IF EXISTS `issuingrules`; >> CREATE TABLE `issuingrules` ( >> + `branchcode` varchar(10) NOT NULL default '', >> `categorycode` varchar(10) NOT NULL default '', >> `itemtype` varchar(10) NOT NULL default '', >> `restrictedtype` tinyint(1) default NULL, >> @@ -987,7 +988,7 @@ CREATE TABLE `issuingrules` ( >> `hardduedatecompare` tinyint NOT NULL default "0", >> `renewalsallowed` smallint(6) NOT NULL default "0", >> `reservesallowed` smallint(6) NOT NULL default "0", >> - `branchcode` varchar(10) NOT NULL default '', >> + `onshelfholds` tinyint(1) NOT NULL default 0, >> PRIMARY KEY (`branchcode`,`categorycode`,`itemtype`), >> KEY `categorycode` (`categorycode`), >> KEY `itemtype` (`itemtype`) >> diff --git a/installer/data/mysql/sysprefs.sql >> b/installer/data/mysql/sysprefs.sql >> index 128c9b2..a1a913a 100755 >> --- a/installer/data/mysql/sysprefs.sql >> +++ b/installer/data/mysql/sysprefs.sql >> @@ -223,7 +223,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/updatedatabase.pl >> b/installer/data/mysql/updatedatabase.pl >> index 0063a75..e039407 100755 >> --- a/installer/data/mysql/updatedatabase.pl >> +++ b/installer/data/mysql/updatedatabase.pl >> @@ -4578,6 +4578,25 @@ if ( C4::Context->preference("Version") < >> TransformToNum($DBversion) ) { >> SetVersion($DBversion); >> } >> >> +$DBversion = '3.06.02.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 tinyint(1) default >> 0"); >> + # Now update the column >> + if (C4::Context->preference("AllowOnShelfHolds")){ >> + # Pref is on, set allow for all rules >> + $dbh->do("UPDATE issuingrules SET onshelfholds=1"); >> + } else { >> + # If the preference is not set, leave off >> + $dbh->do("UPDATE issuingrules SET onshelfholds=0"); >> + } >> + $dbh->do("ALTER TABLE issuingrules MODIFY onshelfholds tinyint(1) >> default 0 NOT NULL"); >> + # 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 f4946b5..4cb60ae 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 >> @@ -236,12 +236,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 d6ae2b2..0b076ca 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 >> @@ -319,12 +319,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 d2f314f..e38e446 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 3d7381b..a5a5cd0 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 >> @@ -72,4 +72,4 @@ >> >> <p><strong>See the full documentation for Holds in the <a >> href="http://manual.koha-community.org/3.6/en/holds.html">manual</a> >> (online).</strong></p> >> >> -[% INCLUDE 'help-bottom.inc' %] >> \ No newline at end of file >> +[% 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 d1b6570..fb367ca 100755 >> --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt >> +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt >> @@ -1016,16 +1016,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 9e1b855..e08f7f9 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 798e0d8..2256b3e 100755 >> --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt >> +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt >> @@ -510,13 +510,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 391037f..b9e2ed4 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 ffa0a6d..476fe50 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 f82dde2..8111e9d 100755 >> --- a/opac/opac-detail.pl >> +++ b/opac/opac-detail.pl >> @@ -347,8 +347,6 @@ if ($session->param('busc')) { >> } >> >> >> - >> -$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 b2144a9..3e573fc 100755 >> --- a/opac/opac-reserve.pl >> +++ b/opac/opac-reserve.pl >> @@ -471,7 +471,7 @@ foreach my $biblioNum (@biblionumbers) { >> $policy_holdallowed = 0; >> } >> >> - if (IsAvailableForItemLevelRequest($itemNum) and >> $policy_holdallowed and CanItemBeReserved($borrowernumber,$itemNum) and >> ($itemLoopIter->{already_reserved} ne 1)) { >> + if >> (IsAvailableForItemLevelRequest($itemNum,$borr->{'borrowernumber'},$itemInfo->{'homebranch'}) >> and $policy_holdallowed and CanItemBeReserved($borrowernumber,$itemNum) and >> !$itemLoopIter->{already_reserved}) { >> $itemLoopIter->{available} = 1; >> $numCopiesAvailable++; >> } >> diff --git a/opac/opac-search.pl b/opac/opac-search.pl >> index aba23a8..081bc81 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 >> >> _______________________________________________ >> Koha-patches mailing list >> [email protected] >> http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches >> website : http://www.koha-community.org/ >> git : http://git.koha-community.org/ >> bugs : http://bugs.koha-community.org/ > _______________________________________________ > Koha-patches mailing list > [email protected] > http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches > website : http://www.koha-community.org/ > git : http://git.koha-community.org/ > bugs : http://bugs.koha-community.org/ _______________________________________________ Koha-patches mailing list [email protected] http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches website : http://www.koha-community.org/ git : http://git.koha-community.org/ bugs : http://bugs.koha-community.org/
