View | Details | Raw Unified | Return to bug 19915
Collapse All | Expand All

(-)a/C4/Items.pm (-4 / +8 lines)
Lines 804-809 sub GetItemsForInventory { Link Here
804
    my ( $parameters ) = @_;
804
    my ( $parameters ) = @_;
805
    my $minlocation  = $parameters->{'minlocation'}  // '';
805
    my $minlocation  = $parameters->{'minlocation'}  // '';
806
    my $maxlocation  = $parameters->{'maxlocation'}  // '';
806
    my $maxlocation  = $parameters->{'maxlocation'}  // '';
807
    my $class_source = $parameters->{'class_source'}  // C4::Context->preference('DefaultClassificationSource');
807
    my $location     = $parameters->{'location'}     // '';
808
    my $location     = $parameters->{'location'}     // '';
808
    my $itemtype     = $parameters->{'itemtype'}     // '';
809
    my $itemtype     = $parameters->{'itemtype'}     // '';
809
    my $ignoreissued = $parameters->{'ignoreissued'} // '';
810
    my $ignoreissued = $parameters->{'ignoreissued'} // '';
Lines 818-823 sub GetItemsForInventory { Link Here
818
    my $dbh = C4::Context->dbh;
819
    my $dbh = C4::Context->dbh;
819
    my ( @bind_params, @where_strings );
820
    my ( @bind_params, @where_strings );
820
821
822
    my $min_cnsort = GetClassSort($class_source,undef,$minlocation);
823
    my $max_cnsort = GetClassSort($class_source,undef,$maxlocation);
824
821
    my $select_columns = q{
825
    my $select_columns = q{
822
        SELECT items.itemnumber, barcode, itemcallnumber, title, author, biblio.biblionumber, biblio.frameworkcode, datelastseen, homebranch, location, notforloan, damaged, itemlost, withdrawn, stocknumber
826
        SELECT items.itemnumber, barcode, itemcallnumber, title, author, biblio.biblionumber, biblio.frameworkcode, datelastseen, homebranch, location, notforloan, damaged, itemlost, withdrawn, stocknumber
823
    };
827
    };
Lines 837-849 sub GetItemsForInventory { Link Here
837
    }
841
    }
838
842
839
    if ($minlocation) {
843
    if ($minlocation) {
840
        push @where_strings, 'itemcallnumber >= ?';
844
        push @where_strings, 'items.cn_sort >= ?';
841
        push @bind_params, $minlocation;
845
        push @bind_params, $min_cnsort;
842
    }
846
    }
843
847
844
    if ($maxlocation) {
848
    if ($maxlocation) {
845
        push @where_strings, 'itemcallnumber <= ?';
849
        push @where_strings, 'items.cn_sort <= ?';
846
        push @bind_params, $maxlocation;
850
        push @bind_params, $max_cnsort;
847
    }
851
    }
848
852
849
    if ($datelastseen) {
853
    if ($datelastseen) {
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/inventory.tt (-1 / +12 lines)
Lines 82-88 Link Here
82
                <input type="text" name="minlocation" id="minlocation" value="[% minlocation | html %]" /> (items.itemcallnumber)  </li>
82
                <input type="text" name="minlocation" id="minlocation" value="[% minlocation | html %]" /> (items.itemcallnumber)  </li>
83
           <li><label for="maxlocation">...and: </label>
83
           <li><label for="maxlocation">...and: </label>
84
                <input type="text" name="maxlocation" id="maxlocation" value="[% maxlocation | html %]" />
84
                <input type="text" name="maxlocation" id="maxlocation" value="[% maxlocation | html %]" />
85
        </li>
85
           <li>
86
            <label for="class_source">Callnumber classification scheme</label>
87
            <select name="class_source">
88
            [% FOREACH class_source IN class_sources %]
89
                [% IF class_source.cn_source == pref_class %]
90
                <option value="[% class_source.cn_source | html %]" selected="selected">[% class_source.description | html %] (default)</option>
91
                [% ELSE %]
92
                <option value="[% class_source.cn_source | html %]">[% class_source.description | html %]</option>
93
                [% END %]
94
            [% END %]
95
            </select>
96
          </li>
86
    </ol>
97
    </ol>
87
    </fieldset>
98
    </fieldset>
88
99
(-)a/tools/inventory.pl (-1 / +10 lines)
Lines 39-48 use Koha::Biblios; Link Here
39
use Koha::DateUtils;
39
use Koha::DateUtils;
40
use Koha::AuthorisedValues;
40
use Koha::AuthorisedValues;
41
use Koha::BiblioFrameworks;
41
use Koha::BiblioFrameworks;
42
use Koha::ClassSources;
42
use List::MoreUtils qw( none );
43
use List::MoreUtils qw( none );
43
44
44
my $minlocation=$input->param('minlocation') || '';
45
my $minlocation=$input->param('minlocation') || '';
45
my $maxlocation=$input->param('maxlocation');
46
my $maxlocation=$input->param('maxlocation');
47
my $class_source=$input->param('class_source');
46
$maxlocation=$minlocation.'Z' unless ( $maxlocation || ! $minlocation );
48
$maxlocation=$minlocation.'Z' unless ( $maxlocation || ! $minlocation );
47
my $location=$input->param('location') || '';
49
my $location=$input->param('location') || '';
48
my $ignoreissued=$input->param('ignoreissued');
50
my $ignoreissued=$input->param('ignoreissued');
Lines 116-121 for my $authvfield (@$statuses) { Link Here
116
    }
118
    }
117
}
119
}
118
120
121
my @class_sources = Koha::ClassSources->search();
122
my $pref_class = C4::Context->preference("DefaultClassificationSource");
123
124
119
$template->param(
125
$template->param(
120
    authorised_values        => \@authorised_value_list,
126
    authorised_values        => \@authorised_value_list,
121
    today                    => dt_from_string,
127
    today                    => dt_from_string,
Lines 129-134 $template->param( Link Here
129
    compareinv2barcd         => $compareinv2barcd,
135
    compareinv2barcd         => $compareinv2barcd,
130
    uploadedbarcodesflag     => $uploadbarcodes ? 1 : 0,
136
    uploadedbarcodesflag     => $uploadbarcodes ? 1 : 0,
131
    ignore_waiting_holds     => $ignore_waiting_holds,
137
    ignore_waiting_holds     => $ignore_waiting_holds,
138
    class_sources            => \@class_sources,
139
    pref_class               => $pref_class
132
);
140
);
133
141
134
# Walk through uploaded barcodes, report errors, mark as seen, check in
142
# Walk through uploaded barcodes, report errors, mark as seen, check in
Lines 225-230 if ( $op && ( !$uploadbarcodes || $compareinv2barcd )) { Link Here
225
    ( $inventorylist ) = GetItemsForInventory({
233
    ( $inventorylist ) = GetItemsForInventory({
226
      minlocation  => $minlocation,
234
      minlocation  => $minlocation,
227
      maxlocation  => $maxlocation,
235
      maxlocation  => $maxlocation,
236
      class_source => $class_source,
228
      location     => $location,
237
      location     => $location,
229
      ignoreissued => $ignoreissued,
238
      ignoreissued => $ignoreissued,
230
      datelastseen => $datelastseen,
239
      datelastseen => $datelastseen,
Lines 240-245 if( @scanned_items ) { Link Here
240
    ( $rightplacelist ) = GetItemsForInventory({
249
    ( $rightplacelist ) = GetItemsForInventory({
241
      minlocation  => $minlocation,
250
      minlocation  => $minlocation,
242
      maxlocation  => $maxlocation,
251
      maxlocation  => $maxlocation,
252
      class_source => $class_source,
243
      location     => $location,
253
      location     => $location,
244
      ignoreissued => undef,
254
      ignoreissued => undef,
245
      datelastseen => undef,
255
      datelastseen => undef,
246
- 

Return to bug 19915