Fix for Bug 5265, error message on lists is misleading
[koha_gimpoz] / C4 / VirtualShelves / Page.pm
index f76047d..9d15847 100644 (file)
@@ -89,7 +89,8 @@ sub shelfpage ($$$$$) {
         if ( $shelfnumber = $query->param('viewshelf') ) {
             if ( ShelfPossibleAction( $loggedinuser, $shelfnumber, 'manage' ) ) {
                 if ( $barcode = $query->param('addbarcode') ) {
-                    if ( $item = GetItem( 0, $barcode ) ) {
+                    $item = GetItem( 0, $barcode );
+                    if (defined $item && $item->{'itemnumber'}){
                         $biblio = GetBiblioFromItemNumber( $item->{'itemnumber'} );
                         AddToShelf( $biblio->{'biblionumber'}, $shelfnumber )
                           or push @paramsloop, { duplicatebiblio => $barcode };
@@ -302,6 +303,13 @@ sub shelfpage ($$$$$) {
         my $category  = $shelflist->{$element}->{'category'};
         my $owner     = $shelflist->{$element}->{'owner'};
         my $canmanage = ShelfPossibleAction( $loggedinuser, $element, 'manage' );
+        my $sortfield = $shelflist->{$element}->{'sortfield'};
+        if ( $sortfield eq 'author' ) {
+            $shelflist->{$element}->{"authorsort"} = 'author';
+        }
+        if ( $sortfield eq 'year' ) {
+            $shelflist->{$element}->{"yearsort"} = 'year';
+        }
         $shelflist->{$element}->{"viewcategory$category"} = 1;
         $shelflist->{$element}->{manageshelf} = $canmanage;
         if ( $owner eq $loggedinuser or $canmanage ) {