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

(-)a/C4/Items.pm (-4 / +8 lines)
Lines 805-810 sub GetItemsForInventory { Link Here
805
    my ( $parameters ) = @_;
805
    my ( $parameters ) = @_;
806
    my $minlocation  = $parameters->{'minlocation'}  // '';
806
    my $minlocation  = $parameters->{'minlocation'}  // '';
807
    my $maxlocation  = $parameters->{'maxlocation'}  // '';
807
    my $maxlocation  = $parameters->{'maxlocation'}  // '';
808
    my $class_source = $parameters->{'class_source'}  // C4::Context->preference('DefaultClassificationSource');
808
    my $location     = $parameters->{'location'}     // '';
809
    my $location     = $parameters->{'location'}     // '';
809
    my $itemtype     = $parameters->{'itemtype'}     // '';
810
    my $itemtype     = $parameters->{'itemtype'}     // '';
810
    my $ignoreissued = $parameters->{'ignoreissued'} // '';
811
    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 81-87 Link Here
81
                <input type="text" name="minlocation" id="minlocation" value="[% minlocation | html %]" /> (items.itemcallnumber)  </li>
81
                <input type="text" name="minlocation" id="minlocation" value="[% minlocation | html %]" /> (items.itemcallnumber)  </li>
82
           <li><label for="maxlocation">...and: </label>
82
           <li><label for="maxlocation">...and: </label>
83
                <input type="text" name="maxlocation" id="maxlocation" value="[% maxlocation | html %]" />
83
                <input type="text" name="maxlocation" id="maxlocation" value="[% maxlocation | html %]" />
84
        </li>
84
           <li>
85
            <label for="class_source">Callnumber classification scheme</label>
86
            <select name="class_source">
87
            [% FOREACH class_source IN class_sources %]
88
                [% IF class_source.cn_source == pref_class %]
89
                <option value="[% class_source.cn_source | html %]" selected="selected">[% class_source.description | html %] (default)</option>
90
                [% ELSE %]
91
                <option value="[% class_source.cn_source | html %]">[% class_source.description | html %]</option>
92
                [% END %]
93
            [% END %]
94
            </select>
95
          </li>
85
    </ol>
96
    </ol>
86
    </fieldset>
97
    </fieldset>
87
98
(-)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 114-119 for my $authvfield (@$statuses) { Link Here
114
    }
116
    }
115
}
117
}
116
118
119
my @class_sources = Koha::ClassSources->search();
120
my $pref_class = C4::Context->preference("DefaultClassificationSource");
121
122
117
$template->param(
123
$template->param(
118
    authorised_values        => \@authorised_value_list,
124
    authorised_values        => \@authorised_value_list,
119
    today                    => dt_from_string,
125
    today                    => dt_from_string,
Lines 126-131 $template->param( Link Here
126
    datelastseen             => $datelastseen,
132
    datelastseen             => $datelastseen,
127
    compareinv2barcd         => $compareinv2barcd,
133
    compareinv2barcd         => $compareinv2barcd,
128
    uploadedbarcodesflag     => $uploadbarcodes ? 1 : 0,
134
    uploadedbarcodesflag     => $uploadbarcodes ? 1 : 0,
135
    class_sources            => \@class_sources,
136
    pref_class               => $pref_class
129
);
137
);
130
138
131
# Walk through uploaded barcodes, report errors, mark as seen, check in
139
# Walk through uploaded barcodes, report errors, mark as seen, check in
Lines 222-227 if ( $op && ( !$uploadbarcodes || $compareinv2barcd )) { Link Here
222
    ( $inventorylist ) = GetItemsForInventory({
230
    ( $inventorylist ) = GetItemsForInventory({
223
      minlocation  => $minlocation,
231
      minlocation  => $minlocation,
224
      maxlocation  => $maxlocation,
232
      maxlocation  => $maxlocation,
233
      class_source => $class_source,
225
      location     => $location,
234
      location     => $location,
226
      ignoreissued => $ignoreissued,
235
      ignoreissued => $ignoreissued,
227
      datelastseen => $datelastseen,
236
      datelastseen => $datelastseen,
Lines 236-241 if( @scanned_items ) { Link Here
236
    ( $rightplacelist ) = GetItemsForInventory({
245
    ( $rightplacelist ) = GetItemsForInventory({
237
      minlocation  => $minlocation,
246
      minlocation  => $minlocation,
238
      maxlocation  => $maxlocation,
247
      maxlocation  => $maxlocation,
248
      class_source => $class_source,
239
      location     => $location,
249
      location     => $location,
240
      ignoreissued => undef,
250
      ignoreissued => undef,
241
      datelastseen => undef,
251
      datelastseen => undef,
242
- 

Return to bug 19915