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 |
- |
|
|