[Koha-patches] [PATCH] Bug 5786 [QA Followup]
Srdjan
srdjan at catalyst.net.nz
Wed Jan 28 03:44:27 CET 2015
From: Kyle M Hall <kyle at bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle at bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize at ptfs-europe.com>
---
C4/Reserves.pm | 2 +-
Koha/Schema/Result/Issuingrule.pm | 21 +++++++++++++++--
admin/smart-rules.pl | 48 +++++++++++++++++++++++++++------------
opac/opac-detail.pl | 2 +-
4 files changed, 55 insertions(+), 18 deletions(-)
diff --git a/C4/Reserves.pm b/C4/Reserves.pm
index 71d4fc5..dc8a3a2 100644
--- a/C4/Reserves.pm
+++ b/C4/Reserves.pm
@@ -1551,7 +1551,7 @@ sub IsAvailableForItemLevelRequest {
$notforloan_per_itemtype ||
$item->{itemlost} ||
$item->{notforloan} > 0 ||
- $item->{wthdrawn} ||
+ $item->{withdrawn} ||
($item->{damaged} && !C4::Context->preference('AllowHoldsOnDamagedItems'));
diff --git a/Koha/Schema/Result/Issuingrule.pm b/Koha/Schema/Result/Issuingrule.pm
index a8cf014..438c23b 100644
--- a/Koha/Schema/Result/Issuingrule.pm
+++ b/Koha/Schema/Result/Issuingrule.pm
@@ -161,6 +161,19 @@ __PACKAGE__->table("issuingrules");
is_nullable: 1
size: [28,6]
+=head2 onshelfholds
+
+ data_type: 'tinyint'
+ default_value: 0
+ is_nullable: 0
+
+=head2 opacitemholds
+
+ data_type: 'char'
+ default_value: 'N'
+ is_nullable: 0
+ size: 1
+
=cut
__PACKAGE__->add_columns(
@@ -217,6 +230,10 @@ __PACKAGE__->add_columns(
{ data_type => "varchar", default_value => "", is_nullable => 0, size => 10 },
"overduefinescap",
{ data_type => "decimal", is_nullable => 1, size => [28, 6] },
+ "onshelfholds",
+ { data_type => "tinyint", default_value => 0, is_nullable => 0 },
+ "opacitemholds",
+ { data_type => "char", default_value => "N", is_nullable => 0, size => 1 },
);
=head1 PRIMARY KEY
@@ -236,8 +253,8 @@ __PACKAGE__->add_columns(
__PACKAGE__->set_primary_key("branchcode", "categorycode", "itemtype");
-# Created by DBIx::Class::Schema::Loader v0.07039 @ 2014-09-17 21:06:58
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:vmlv13CeQ99RO0VsviRABg
+# Created by DBIx::Class::Schema::Loader v0.07040 @ 2014-12-19 07:00:40
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:CE8yuYC5QgPHI2GOjiT28w
# You can replace this text with custom content, and it will be preserved on regeneration
diff --git a/admin/smart-rules.pl b/admin/smart-rules.pl
index eed932d..34efefb 100755
--- a/admin/smart-rules.pl
+++ b/admin/smart-rules.pl
@@ -27,6 +27,7 @@ use C4::Koha;
use C4::Debug;
use C4::Branch; # GetBranches
use C4::Dates qw/format_date format_date_in_iso/;
+use Koha::Database;
my $input = CGI->new;
my $dbh = C4::Context->dbh;
@@ -100,10 +101,6 @@ 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, norenewalbefore, auto_renew, reservesallowed, issuelength, lengthunit, hardduedate, hardduedatecompare, fine, finedays, maxsuspensiondays, firstremind, chargeperiod,rentaldiscount, onshelfholds, opacitemholds, overduefinescap) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)');
- my $sth_update=$dbh->prepare("UPDATE issuingrules SET fine=?, finedays=?, maxsuspensiondays=?, firstremind=?, chargeperiod=?, maxissueqty=?, renewalsallowed=?, renewalperiod=?, norenewalbefore=?, auto_renew=?, reservesallowed=?, issuelength=?, lengthunit=?, hardduedate=?, hardduedatecompare=?, rentaldiscount=?, onshelfholds=?, opacitemholds=?, overduefinescap=? WHERE branchcode=? AND categorycode=? AND itemtype=?");
-
my $br = $branch; # branch
my $bor = $input->param('categorycode'); # borrower category
my $itemtype = $input->param('itemtype'); # item type
@@ -133,14 +130,37 @@ elsif ($op eq 'add') {
my $overduefinescap = $input->param('overduefinescap') || undef;
$debug and warn "Adding $br, $bor, $itemtype, $fine, $maxissueqty";
- $sth_search->execute($br,$bor,$itemtype);
- my $res = $sth_search->fetchrow_hashref();
- if ($res->{total}) {
- $sth_update->execute($fine, $finedays, $maxsuspensiondays, $firstremind, $chargeperiod, $maxissueqty, $renewalsallowed, $renewalperiod, $norenewalbefore, $auto_renew, $reservesallowed, $issuelength,$lengthunit, $hardduedate,$hardduedatecompare,$rentaldiscount, $onshelfholds, $opacitemholds, $overduefinescap, $br,$bor,$itemtype);
- } else {
- $sth_insert->execute($br,$bor,$itemtype,$maxissueqty,$renewalsallowed, $renewalperiod, $norenewalbefore, $auto_renew, $reservesallowed,$issuelength,$lengthunit,$hardduedate,$hardduedatecompare,$fine,$finedays, $maxsuspensiondays, $firstremind,$chargeperiod,$rentaldiscount,$onshelfholds,$opacitemholds,$overduefinescap);
- }
-}
+ my $schema = Koha::Database->new()->schema();
+ my $rs = $schema->resultset('Issuingrule');
+
+ my $params = {
+ branchcode => $br,
+ categorycode => $bor,
+ itemtype => $itemtype,
+ fine => $fine,
+ finedays => $finedays,
+ maxsuspensiondays => $maxsuspensiondays,
+ firstremind => $firstremind,
+ chargeperiod => $chargeperiod,
+ maxissueqty => $maxissueqty,
+ renewalsallowed => $renewalsallowed,
+ renewalperiod => $renewalperiod,
+ norenewalbefore => $norenewalbefore,
+ auto_renew => $auto_renew,
+ reservesallowed => $reservesallowed,
+ issuelength => $issuelength,
+ lengthunit => $lengthunit,
+ hardduedate => $hardduedate,
+ hardduedatecompare => $hardduedatecompare,
+ rentaldiscount => $rentaldiscount,
+ onshelfholds => $onshelfholds,
+ opacitemholds => $opacitemholds,
+ overduefinescap => $overduefinescap,
+ };
+
+ $rs->update_or_create($params);
+
+}
elsif ($op eq "set-branch-defaults") {
my $categorycode = $input->param('categorycode');
my $maxissueqty = $input->param('maxissueqty');
@@ -413,7 +433,7 @@ if ($branch eq "*") {
SELECT default_borrower_circ_rules.*, categories.description AS humancategorycode
FROM default_borrower_circ_rules
JOIN categories USING (categorycode)
-
+
");
$sth_branch_cat->execute();
} else {
@@ -507,7 +527,7 @@ $template->param(categoryloop => \@category_loop,
branchloop => \@branchloop,
humanbranch => ($branch ne '*' ? $branches->{$branch}->{branchname} : ''),
current_branch => $branch,
- definedbranch => scalar(@sorted_row_loop)>0
+ definedbranch => scalar(@sorted_row_loop)>0
);
output_html_with_http_headers $input, $cookie, $template->output;
diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl
index e0824d8..c5f9a6f 100755
--- a/opac/opac-detail.pl
+++ b/opac/opac-detail.pl
@@ -635,7 +635,7 @@ if ( not $viewallitems and @items > $max_items_to_display ) {
&& !$itemtypes->{$itm->{'itype'}}->{notforloan}
&& $itm->{'itemnumber'};
- $allow_onshelf_holds = C4::Reserves::OnShelfHoldsAllowed($itm, $borrower)
+ $allow_onshelf_holds = C4::Reserves::OnShelfHoldsAllowed( $itm, $borrower )
unless $allow_onshelf_holds;
# get collection code description, too
--
1.9.1
More information about the Koha-patches
mailing list