use vars qw($debug @EXPORT @ISA $VERSION);
BEGIN {
- $VERSION = 1.01;
+ $VERSION = 3.07.00.049;
@ISA = qw(Exporter);
@EXPORT = qw(&shelfpage);
$debug = $ENV{DEBUG} || 0;
last SWITCH;
}
my $shelf = {
- 'shelfname' => $query->param('shelfname'),
- 'sortfield' => $query->param('sortfield'),
+ shelfname => $query->param('shelfname'),
+ sortfield => $query->param('sortfield'),
+ allow_add => $query->param('allow_add'),
+ allow_delete_own => $query->param('allow_delete_own'),
+ allow_delete_other => $query->param('allow_delete_other'),
};
if($query->param('category')) { #optional
$shelf->{category}= $query->param('category');
}
#Editing a shelf
elsif ( $op eq 'modif' ) {
- my ( $shelfnumber2, $shelfname, $owner, $category, $sortfield ) = GetShelf($shelfnumber);
+ my ( $shelfnumber2, $shelfname, $owner, $category, $sortfield, $allow_add, $allow_delete_own, $allow_delete_other) = GetShelf($shelfnumber);
my $member = GetMember( 'borrowernumber' => $owner );
my $ownername = defined($member) ? $member->{firstname} . " " . $member->{surname} : '';
$edit = 1;
"category$category" => 1,
category => $category,
"sort_$sortfield" => 1,
+ allow_add => $allow_add,
+ allow_delete_own => $allow_delete_own,
+ allow_delete_other => $allow_delete_other,
);
}
last SWITCH;
my $authorsort;
my $yearsort;
my $tag_quantity;
- my $sortfield = ( $query->param('sortfield') ? $query->param('sortfield') : 'title' );
+ my $sortfield = ( $sorton ? $sorton : 'title' );
if ( $sortfield eq 'author' ) {
$authorsort = 'author';
}
if ( $sortfield eq 'year' ) {
$yearsort = 'year';
}
- ( $items, $totitems ) = GetShelfContents( $shelfnumber, $shelflimit, $shelfoffset );
+ ( $items, $totitems ) = GetShelfContents( $shelfnumber, $shelflimit, $shelfoffset, $sortfield eq 'year' ? 'copyrightdate' : $sortfield );
for my $this_item (@$items) {
my $biblionumber = $this_item->{'biblionumber'};
my $record = GetMarcBiblio($biblionumber);
my $shelfnumber = AddShelf( {
shelfname => $newshelf,
sortfield => $query->param('sortfield'),
- category => $query->param('category') },
+ category => $query->param('category'),
+ allow_add => $query->param('allow_add'),
+ allow_delete_own => $query->param('allow_delete_own'),
+ allow_delete_other => $query->param('allow_delete_other'),
+ },
$query->param('owner') );
$stay = 1;
if ( $shelfnumber == -1 ) { #shelf already exists.
$edit
) {
$template->param( seflag => 1 );
+ #This hack is just another argument for refactoring this script one day
+ #At this point you are adding or editing a list; if you add, then you add a private list (by default) with permissions as below; if you edit, do not pass these permissions, they must come from the database
+ $template->param( allow_add => 0, allow_delete_own => 1, allow_delete_other => 0) unless $shelfnumber;
}
#Next call updates the shelves for the Lists button.