Fix for Bug 5265, error message on lists is misleading
[koha_gimpoz] / C4 / VirtualShelves / Page.pm
index ee105f4..9d15847 100644 (file)
@@ -14,9 +14,9 @@ package C4::VirtualShelves::Page;
 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA  02111-1307 USA
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 # perldoc at the end of the file, per convention.
 
@@ -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 ) {