Bug 12495 - Include streetnumber in hold alert address
[koha_fer] / C4 / VirtualShelves.pm
index f5a6758..70dc965 100644 (file)
@@ -334,6 +334,7 @@ sub AddShelf {
         $hashref->{allow_add}//0,
         $hashref->{allow_delete_own}//1,
         $hashref->{allow_delete_other}//0 );
+    return if $sth->err;
     my $shelfnumber = $dbh->{'mysql_insertid'};
     return $shelfnumber;
 }
@@ -675,13 +676,9 @@ sub AddShare {
     my ($shelfnumber, $key)= @_;
     return if !$shelfnumber || !$key;
 
-    my $sql;
     my $dbh = C4::Context->dbh;
-    $sql="DELETE FROM virtualshelfshares WHERE sharedate<NOW() LIMIT 10";
-        #housekeeping: add one, remove max 10 expired ones
-    $dbh->do($sql);
-    $sql="INSERT INTO virtualshelfshares (shelfnumber, invitekey, sharedate) VALUES (?, ?, ADDDATE(NOW(),?))";
-    $dbh->do($sql, undef, ($shelfnumber, $key, SHARE_INVITATION_EXPIRY_DAYS));
+    my $sql = "INSERT INTO virtualshelfshares (shelfnumber, invitekey, sharedate) VALUES (?, ?, NOW())";
+    $dbh->do($sql, undef, ($shelfnumber, $key));
     return !$dbh->err;
 }
 
@@ -703,10 +700,10 @@ sub AcceptShare {
     my $dbh = C4::Context->dbh;
     $sql="
 UPDATE virtualshelfshares
-SET invitekey=NULL, sharedate=NULL, borrowernumber=?
-WHERE shelfnumber=? AND invitekey=? AND sharedate>NOW()
+SET invitekey=NULL, sharedate=NOW(), borrowernumber=?
+WHERE shelfnumber=? AND invitekey=? AND (sharedate + INTERVAL ? DAY) >NOW()
     ";
-    my $i= $dbh->do($sql, undef, ($borrowernumber, $shelfnumber, $key));
+    my $i= $dbh->do($sql, undef, ($borrowernumber, $shelfnumber, $key,  SHARE_INVITATION_EXPIRY_DAYS));
     return if !defined($i) || !$i || $i eq '0E0'; #not found
     return 1;
 }