| Lines 58-63
          my $op         = $input->param('op');
      
      
        Link Here | 
        
          | 58 | my $compareinv2barcd = $input->param('compareinv2barcd'); | 58 | my $compareinv2barcd = $input->param('compareinv2barcd'); | 
        
          | 59 | my $dont_checkin = $input->param('dont_checkin'); | 59 | my $dont_checkin = $input->param('dont_checkin'); | 
        
          | 60 | my $out_of_order = $input->param('out_of_order'); | 60 | my $out_of_order = $input->param('out_of_order'); | 
            
              |  |  | 61 | my $ccode = $input->param('ccode'); | 
        
          | 61 |  | 62 |  | 
        
          | 62 | my ( $template, $borrowernumber, $cookie ) = get_template_and_user( | 63 | my ( $template, $borrowernumber, $cookie ) = get_template_and_user( | 
        
          | 63 |     {   template_name   => "tools/inventory.tt", | 64 |     {   template_name   => "tools/inventory.tt", | 
  
    | Lines 73-78
          my $authorisedvalue_categories = '';
      
      
        Link Here | 
        
          | 73 | my $frameworks = Koha::BiblioFrameworks->search({}, { order_by => ['frameworktext'] })->unblessed; | 74 | my $frameworks = Koha::BiblioFrameworks->search({}, { order_by => ['frameworktext'] })->unblessed; | 
        
          | 74 | unshift @$frameworks, { frameworkcode => '' }; | 75 | unshift @$frameworks, { frameworkcode => '' }; | 
        
          | 75 |  | 76 |  | 
            
              |  |  | 77 | my @collections = (); | 
            
              | 78 | my @collection_codes = (); | 
            
              | 79 |  | 
        
          | 76 | for my $fwk ( @$frameworks ){ | 80 | for my $fwk ( @$frameworks ){ | 
        
          | 77 |   my $fwkcode = $fwk->{frameworkcode}; | 81 |   my $fwkcode = $fwk->{frameworkcode}; | 
        
          | 78 |   my $mss = Koha::MarcSubfieldStructures->search({ frameworkcode => $fwkcode, kohafield => 'items.location', authorised_value => [ -and => {'!=' => undef }, {'!=' => ''}] }); | 82 |   my $mss = Koha::MarcSubfieldStructures->search({ frameworkcode => $fwkcode, kohafield => 'items.location', authorised_value => [ -and => {'!=' => undef }, {'!=' => ''}] }); | 
  
    | Lines 149-154
          $template->param(
      
      
        Link Here | 
        
          | 149 |     class_sources            => \@class_sources, | 153 |     class_sources            => \@class_sources, | 
        
          | 150 |     pref_class               => $pref_class, | 154 |     pref_class               => $pref_class, | 
        
          | 151 |     itemtypes                => \@itemtypes, | 155 |     itemtypes                => \@itemtypes, | 
            
              |  |  | 156 |     ccode                    => $ccode, | 
        
          | 152 | ); | 157 | ); | 
        
          | 153 |  | 158 |  | 
        
          | 154 | # Walk through uploaded barcodes, report errors, mark as seen, check in | 159 | # Walk through uploaded barcodes, report errors, mark as seen, check in | 
  
    | Lines 260-271
          if ( $op && ( !$uploadbarcodes || $compareinv2barcd )) {
      
      
        Link Here | 
        
          | 260 |       branch       => $branch, | 265 |       branch       => $branch, | 
        
          | 261 |       offset       => 0, | 266 |       offset       => 0, | 
        
          | 262 |       statushash   => $staton, | 267 |       statushash   => $staton, | 
            
              |  |  | 268 |       ccode        => $ccode, | 
        
          | 263 |       ignore_waiting_holds => $ignore_waiting_holds, | 269 |       ignore_waiting_holds => $ignore_waiting_holds, | 
        
          | 264 |       itemtypes    => \@selected_itemtypes, | 270 |       itemtypes    => \@selected_itemtypes, | 
        
          | 265 |     }); | 271 |     }); | 
        
          | 266 | } | 272 | } | 
        
          | 267 | # Build rightplacelist used to check if a scanned item is in the right place. | 273 | # Build rightplacelist used to check if a scanned item is in the right place. | 
        
          | 268 | if( @scanned_items ) { | 274 | if( @scanned_items ) { | 
            
              |  |  | 275 |     # For the items that may be marked as "wrong place", we only check the location (callnumbers, location, ccode and branch) | 
        
          | 269 |     ( $rightplacelist ) = GetItemsForInventory({ | 276 |     ( $rightplacelist ) = GetItemsForInventory({ | 
        
          | 270 |       minlocation  => $minlocation, | 277 |       minlocation  => $minlocation, | 
        
          | 271 |       maxlocation  => $maxlocation, | 278 |       maxlocation  => $maxlocation, | 
  
    | Lines 279-289
          if( @scanned_items ) {
      
      
        Link Here | 
        
          | 279 |       statushash   => undef, | 286 |       statushash   => undef, | 
        
          | 280 |       ignore_waiting_holds => $ignore_waiting_holds, | 287 |       ignore_waiting_holds => $ignore_waiting_holds, | 
        
          | 281 |       itemtypes    => \@selected_itemtypes, | 288 |       itemtypes    => \@selected_itemtypes, | 
            
              |  |  | 289 |       ccode        => $ccode, | 
        
          | 282 |     }); | 290 |     }); | 
        
          | 283 |     # Convert the structure to a hash on barcode | 291 |     # Convert the structure to a hash on barcode | 
        
          | 284 |     $rightplacelist = { | 292 |     $rightplacelist = { | 
        
          | 285 |         map { $_->{barcode} ? ( $_->{barcode}, $_ ) : (); } @$rightplacelist | 293 |         map { $_->{barcode} ? ( $_->{barcode}, $_ ) : (); } @$rightplacelist | 
        
          | 286 |     }; | 294 |     }; | 
            
              |  |  | 295 |  | 
        
          | 287 | } | 296 | } | 
        
          | 288 |  | 297 |  | 
        
          | 289 | # Report scanned items that are on the wrong place, or have a wrong notforloan | 298 | # Report scanned items that are on the wrong place, or have a wrong notforloan | 
  
    | Lines 394-400
          if (defined $input->param('CSVexport') && $input->param('CSVexport') eq 'on'){
      
      
        Link Here | 
        
          | 394 |     my @translated_keys; | 403 |     my @translated_keys; | 
        
          | 395 |     for my $key (qw / biblioitems.title    biblio.author | 404 |     for my $key (qw / biblioitems.title    biblio.author | 
        
          | 396 |                       items.barcode        items.itemnumber | 405 |                       items.barcode        items.itemnumber | 
          
            
              | 397 |                       items.homebranch     items.location | 406 |                       items.homebranch     items.location   items.ccode | 
        
          | 398 |                       items.itemcallnumber items.notforloan | 407 |                       items.itemcallnumber items.notforloan | 
        
          | 399 |                       items.itemlost       items.damaged | 408 |                       items.itemlost       items.damaged | 
        
          | 400 |                       items.withdrawn      items.stocknumber | 409 |                       items.withdrawn      items.stocknumber | 
  
    | Lines 406-412
          if (defined $input->param('CSVexport') && $input->param('CSVexport') eq 'on'){
      
      
        Link Here | 
        
          | 406 |     $csv->combine(@translated_keys); | 415 |     $csv->combine(@translated_keys); | 
        
          | 407 |     print $csv->string, "\n"; | 416 |     print $csv->string, "\n"; | 
        
          | 408 |  | 417 |  | 
          
            
              | 409 |     my @keys = qw/ title author barcode itemnumber homebranch location itemcallnumber notforloan itemlost damaged withdrawn stocknumber /; | 418 |     my @keys = qw/ title author barcode itemnumber homebranch location ccode itemcallnumber notforloan itemlost damaged withdrawn stocknumber /; | 
        
          | 410 |     for my $item ( @$loop ) { | 419 |     for my $item ( @$loop ) { | 
        
          | 411 |         my @line; | 420 |         my @line; | 
        
          | 412 |         for my $key (@keys) { | 421 |         for my $key (@keys) { | 
            
              | 413 | -  |  |  |