|
Lines 50-57
BEGIN {
Link Here
|
| 50 |
} |
50 |
} |
| 51 |
|
51 |
|
| 52 |
|
52 |
|
| 53 |
my $dbh = C4::Context->dbh; |
|
|
| 54 |
|
| 55 |
=head1 NAME |
53 |
=head1 NAME |
| 56 |
|
54 |
|
| 57 |
C4::VirtualShelves - Functions for manipulating Koha virtual shelves |
55 |
C4::VirtualShelves - Functions for manipulating Koha virtual shelves |
|
Lines 101-106
sub GetShelves {
Link Here
|
| 101 |
my ($category, $row_count, $offset, $owner) = @_; |
99 |
my ($category, $row_count, $offset, $owner) = @_; |
| 102 |
my @params; |
100 |
my @params; |
| 103 |
my $total = _shelf_count($owner, $category); |
101 |
my $total = _shelf_count($owner, $category); |
|
|
102 |
my $dbh = C4::Context->dbh; |
| 104 |
my $query = qq{ |
103 |
my $query = qq{ |
| 105 |
SELECT vs.shelfnumber, vs.shelfname,vs.owner, |
104 |
SELECT vs.shelfnumber, vs.shelfname,vs.owner, |
| 106 |
bo.surname,bo.firstname,vs.category,vs.sortfield, |
105 |
bo.surname,bo.firstname,vs.category,vs.sortfield, |
|
Lines 155-160
the submitted parameters.
Link Here
|
| 155 |
sub GetAllShelves { |
154 |
sub GetAllShelves { |
| 156 |
my ($category,$owner,$adding_allowed) = @_; |
155 |
my ($category,$owner,$adding_allowed) = @_; |
| 157 |
my @params; |
156 |
my @params; |
|
|
157 |
my $dbh = C4::Context->dbh; |
| 158 |
my $query = 'SELECT vs.* FROM virtualshelves vs '; |
158 |
my $query = 'SELECT vs.* FROM virtualshelves vs '; |
| 159 |
if($category==1) { |
159 |
if($category==1) { |
| 160 |
$query.= qq{ |
160 |
$query.= qq{ |
|
Lines 184-189
Returns shelf names and numbers for Add to combo of search results and Lists but
Link Here
|
| 184 |
sub GetSomeShelfNames { |
184 |
sub GetSomeShelfNames { |
| 185 |
my ($owner, $purpose, $adding_allowed)= @_; |
185 |
my ($owner, $purpose, $adding_allowed)= @_; |
| 186 |
my ($bar, $pub, @params); |
186 |
my ($bar, $pub, @params); |
|
|
187 |
my $dbh = C4::Context->dbh; |
| 187 |
|
188 |
|
| 188 |
my $bquery = 'SELECT vs.shelfnumber, vs.shelfname FROM virtualshelves vs '; |
189 |
my $bquery = 'SELECT vs.shelfnumber, vs.shelfname FROM virtualshelves vs '; |
| 189 |
my $limit= ShelvesMax($purpose); |
190 |
my $limit= ShelvesMax($purpose); |
|
Lines 223-228
Returns the above-mentioned fields for passed virtual shelf number.
Link Here
|
| 223 |
|
224 |
|
| 224 |
sub GetShelf { |
225 |
sub GetShelf { |
| 225 |
my ($shelfnumber) = @_; |
226 |
my ($shelfnumber) = @_; |
|
|
227 |
my $dbh = C4::Context->dbh; |
| 226 |
my $query = qq( |
228 |
my $query = qq( |
| 227 |
SELECT shelfnumber, shelfname, owner, category, sortfield, |
229 |
SELECT shelfnumber, shelfname, owner, category, sortfield, |
| 228 |
allow_add, allow_delete_own, allow_delete_other |
230 |
allow_add, allow_delete_own, allow_delete_other |
|
Lines 306-311
Returns a code to know what's happen.
Link Here
|
| 306 |
|
308 |
|
| 307 |
sub AddShelf { |
309 |
sub AddShelf { |
| 308 |
my ($hashref, $owner)= @_; |
310 |
my ($hashref, $owner)= @_; |
|
|
311 |
my $dbh = C4::Context->dbh; |
| 309 |
|
312 |
|
| 310 |
#initialize missing hash values to silence warnings |
313 |
#initialize missing hash values to silence warnings |
| 311 |
foreach('shelfname','category', 'sortfield', 'allow_add', 'allow_delete_own', 'allow_delete_other' ) { |
314 |
foreach('shelfname','category', 'sortfield', 'allow_add', 'allow_delete_own', 'allow_delete_other' ) { |
|
Lines 343-348
C<$shelfnumber>, unless that bib is already on that shelf.
Link Here
|
| 343 |
sub AddToShelf { |
346 |
sub AddToShelf { |
| 344 |
my ($biblionumber, $shelfnumber, $borrowernumber) = @_; |
347 |
my ($biblionumber, $shelfnumber, $borrowernumber) = @_; |
| 345 |
return unless $biblionumber; |
348 |
return unless $biblionumber; |
|
|
349 |
my $dbh = C4::Context->dbh; |
| 346 |
my $query = qq( |
350 |
my $query = qq( |
| 347 |
SELECT * |
351 |
SELECT * |
| 348 |
FROM virtualshelfcontents |
352 |
FROM virtualshelfcontents |
|
Lines 382-387
Returns 1 if the action seemed to be successful.
Link Here
|
| 382 |
|
386 |
|
| 383 |
sub ModShelf { |
387 |
sub ModShelf { |
| 384 |
my ($shelfnumber,$hashref) = @_; |
388 |
my ($shelfnumber,$hashref) = @_; |
|
|
389 |
my $dbh = C4::Context->dbh; |
| 385 |
|
390 |
|
| 386 |
my $query= "SELECT * FROM virtualshelves WHERE shelfnumber=?"; |
391 |
my $query= "SELECT * FROM virtualshelves WHERE shelfnumber=?"; |
| 387 |
my $sth = $dbh->prepare($query); |
392 |
my $sth = $dbh->prepare($query); |
|
Lines 453-458
sub ShelfPossibleAction {
Link Here
|
| 453 |
|
458 |
|
| 454 |
return 0 unless defined($shelfnumber); |
459 |
return 0 unless defined($shelfnumber); |
| 455 |
|
460 |
|
|
|
461 |
my $dbh = C4::Context->dbh; |
| 456 |
my $query = qq/ |
462 |
my $query = qq/ |
| 457 |
SELECT IFNULL(owner,0) AS owner, category, allow_add, allow_delete_own, allow_delete_other, IFNULL(sh.borrowernumber,0) AS borrowernumber |
463 |
SELECT IFNULL(owner,0) AS owner, category, allow_add, allow_delete_own, allow_delete_other, IFNULL(sh.borrowernumber,0) AS borrowernumber |
| 458 |
FROM virtualshelves vs |
464 |
FROM virtualshelves vs |
|
Lines 500-505
Returns 0 if no items have been deleted.
Link Here
|
| 500 |
|
506 |
|
| 501 |
sub DelFromShelf { |
507 |
sub DelFromShelf { |
| 502 |
my ($bibref, $shelfnumber, $user) = @_; |
508 |
my ($bibref, $shelfnumber, $user) = @_; |
|
|
509 |
my $dbh = C4::Context->dbh; |
| 503 |
my $query = qq(SELECT allow_delete_own, allow_delete_other FROM virtualshelves WHERE shelfnumber=?); |
510 |
my $query = qq(SELECT allow_delete_own, allow_delete_other FROM virtualshelves WHERE shelfnumber=?); |
| 504 |
my $sth= $dbh->prepare($query); |
511 |
my $sth= $dbh->prepare($query); |
| 505 |
$sth->execute($shelfnumber); |
512 |
$sth->execute($shelfnumber); |
|
Lines 544-549
ShelfPossibleAction with manage parameter.
Link Here
|
| 544 |
sub DelShelf { |
551 |
sub DelShelf { |
| 545 |
my ($shelfnumber)= @_; |
552 |
my ($shelfnumber)= @_; |
| 546 |
return unless $shelfnumber && $shelfnumber =~ /^\d+$/; |
553 |
return unless $shelfnumber && $shelfnumber =~ /^\d+$/; |
|
|
554 |
my $dbh = C4::Context->dbh; |
| 547 |
my $sth = $dbh->prepare("DELETE FROM virtualshelves WHERE shelfnumber=?"); |
555 |
my $sth = $dbh->prepare("DELETE FROM virtualshelves WHERE shelfnumber=?"); |
| 548 |
return $sth->execute($shelfnumber); |
556 |
return $sth->execute($shelfnumber); |
| 549 |
} |
557 |
} |
|
Lines 629-634
sub _shelf_count {
Link Here
|
| 629 |
my @params; |
637 |
my @params; |
| 630 |
# Find out how many shelves total meet the submitted criteria... |
638 |
# Find out how many shelves total meet the submitted criteria... |
| 631 |
|
639 |
|
|
|
640 |
my $dbh = C4::Context->dbh; |
| 632 |
my $query = "SELECT count(*) FROM virtualshelves vs "; |
641 |
my $query = "SELECT count(*) FROM virtualshelves vs "; |
| 633 |
if($category==1) { |
642 |
if($category==1) { |
| 634 |
$query.= qq{ |
643 |
$query.= qq{ |
|
Lines 661-666
sub _biblionumber_sth { #only used in obsolete sub below
Link Here
|
| 661 |
sub _CheckShelfName { |
670 |
sub _CheckShelfName { |
| 662 |
my ($name, $cat, $owner, $number)= @_; |
671 |
my ($name, $cat, $owner, $number)= @_; |
| 663 |
|
672 |
|
|
|
673 |
my $dbh = C4::Context->dbh; |
| 664 |
my $query = qq( |
674 |
my $query = qq( |
| 665 |
SELECT DISTINCT shelfnumber |
675 |
SELECT DISTINCT shelfnumber |
| 666 |
FROM virtualshelves |
676 |
FROM virtualshelves |
| 667 |
- |
|
|