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

(-)a/C4/Items.pm (-4 / +8 lines)
Lines 803-808 sub GetItemsForInventory { Link Here
803
    my ( $parameters ) = @_;
803
    my ( $parameters ) = @_;
804
    my $minlocation  = $parameters->{'minlocation'}  // '';
804
    my $minlocation  = $parameters->{'minlocation'}  // '';
805
    my $maxlocation  = $parameters->{'maxlocation'}  // '';
805
    my $maxlocation  = $parameters->{'maxlocation'}  // '';
806
    my $class_source = $parameters->{'class_source'}  // C4::Context->preference('DefaultClassificationSource');
806
    my $location     = $parameters->{'location'}     // '';
807
    my $location     = $parameters->{'location'}     // '';
807
    my $itemtype     = $parameters->{'itemtype'}     // '';
808
    my $itemtype     = $parameters->{'itemtype'}     // '';
808
    my $ignoreissued = $parameters->{'ignoreissued'} // '';
809
    my $ignoreissued = $parameters->{'ignoreissued'} // '';
Lines 817-822 sub GetItemsForInventory { Link Here
817
    my $dbh = C4::Context->dbh;
818
    my $dbh = C4::Context->dbh;
818
    my ( @bind_params, @where_strings );
819
    my ( @bind_params, @where_strings );
819
820
821
    my $min_cnsort = GetClassSort($class_source,undef,$minlocation);
822
    my $max_cnsort = GetClassSort($class_source,undef,$maxlocation);
823
820
    my $select_columns = q{
824
    my $select_columns = q{
821
        SELECT items.itemnumber, barcode, itemcallnumber, title, author, biblio.biblionumber, biblio.frameworkcode, datelastseen, homebranch, location, notforloan, damaged, itemlost, withdrawn, stocknumber
825
        SELECT items.itemnumber, barcode, itemcallnumber, title, author, biblio.biblionumber, biblio.frameworkcode, datelastseen, homebranch, location, notforloan, damaged, itemlost, withdrawn, stocknumber
822
    };
826
    };
Lines 836-848 sub GetItemsForInventory { Link Here
836
    }
840
    }
837
841
838
    if ($minlocation) {
842
    if ($minlocation) {
839
        push @where_strings, 'itemcallnumber >= ?';
843
        push @where_strings, 'items.cn_sort >= ?';
840
        push @bind_params, $minlocation;
844
        push @bind_params, $min_cnsort;
841
    }
845
    }
842
846
843
    if ($maxlocation) {
847
    if ($maxlocation) {
844
        push @where_strings, 'itemcallnumber <= ?';
848
        push @where_strings, 'items.cn_sort <= ?';
845
        push @bind_params, $maxlocation;
849
        push @bind_params, $max_cnsort;
846
    }
850
    }
847
851
848
    if ($datelastseen) {
852
    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