@@ -, +, @@ --- C4/VirtualShelves.pm | 1 + C4/VirtualShelves/Page.pm | 6 ++++-- koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/shelves.tt | 1 + koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt | 1 + koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt | 1 + 5 files changed, 8 insertions(+), 2 deletions(-) --- a/C4/VirtualShelves.pm +++ a/C4/VirtualShelves.pm @@ -331,6 +331,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; } --- a/C4/VirtualShelves/Page.pm +++ a/C4/VirtualShelves/Page.pm @@ -337,7 +337,7 @@ sub shelfpage { #Add a shelf if ( my $newshelf = $query->param('addshelf') ) { - # note: a user can always add a new shelf + # note: a user can always add a new shelf (except kohaadmin) my $shelfnumber = AddShelf( { shelfname => $newshelf, sortfield => $query->param('sortfield'), @@ -348,7 +348,9 @@ sub shelfpage { }, $query->param('owner') ); $stay = 1; - if ( $shelfnumber == -1 ) { #shelf already exists. + if( !$shelfnumber ) { + push @paramsloop, { addshelf_failed => 1 }; + } elsif ( $shelfnumber == -1 ) { #shelf already exists. $showadd = 1; push @paramsloop, { already => $newshelf }; $template->param( shelfnumber => $shelfnumber ); --- a/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/shelves.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/shelves.tt @@ -228,6 +228,7 @@ function placeHold () {