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

(-)a/C4/Items.pm (-4 / +8 lines)
Lines 817-822 sub GetItemsForInventory { Link Here
817
    my ( $parameters ) = @_;
817
    my ( $parameters ) = @_;
818
    my $minlocation  = $parameters->{'minlocation'}  // '';
818
    my $minlocation  = $parameters->{'minlocation'}  // '';
819
    my $maxlocation  = $parameters->{'maxlocation'}  // '';
819
    my $maxlocation  = $parameters->{'maxlocation'}  // '';
820
    my $class_source = $parameters->{'class_source'}  // C4::Context->preference('DefaultClassificationSource');
820
    my $location     = $parameters->{'location'}     // '';
821
    my $location     = $parameters->{'location'}     // '';
821
    my $itemtype     = $parameters->{'itemtype'}     // '';
822
    my $itemtype     = $parameters->{'itemtype'}     // '';
822
    my $ignoreissued = $parameters->{'ignoreissued'} // '';
823
    my $ignoreissued = $parameters->{'ignoreissued'} // '';
Lines 830-835 sub GetItemsForInventory { Link Here
830
    my $dbh = C4::Context->dbh;
831
    my $dbh = C4::Context->dbh;
831
    my ( @bind_params, @where_strings );
832
    my ( @bind_params, @where_strings );
832
833
834
    my $min_cnsort = GetClassSort($class_source,undef,$minlocation);
835
    my $max_cnsort = GetClassSort($class_source,undef,$maxlocation);
836
833
    my $select_columns = q{
837
    my $select_columns = q{
834
        SELECT items.itemnumber, barcode, itemcallnumber, title, author, biblio.biblionumber, biblio.frameworkcode, datelastseen, homebranch, location, notforloan, damaged, itemlost, withdrawn, stocknumber
838
        SELECT items.itemnumber, barcode, itemcallnumber, title, author, biblio.biblionumber, biblio.frameworkcode, datelastseen, homebranch, location, notforloan, damaged, itemlost, withdrawn, stocknumber
835
    };
839
    };
Lines 849-861 sub GetItemsForInventory { Link Here
849
    }
853
    }
850
854
851
    if ($minlocation) {
855
    if ($minlocation) {
852
        push @where_strings, 'itemcallnumber >= ?';
856
        push @where_strings, 'items.cn_sort >= ?';
853
        push @bind_params, $minlocation;
857
        push @bind_params, $min_cnsort;
854
    }
858
    }
855
859
856
    if ($maxlocation) {
860
    if ($maxlocation) {
857
        push @where_strings, 'itemcallnumber <= ?';
861
        push @where_strings, 'items.cn_sort <= ?';
858
        push @bind_params, $maxlocation;
862
        push @bind_params, $max_cnsort;
859
    }
863
    }
860
864
861
    if ($datelastseen) {
865
    if ($datelastseen) {
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/inventory.tt (-1 / +12 lines)
Lines 80-86 Link Here
80
                <input type="text" name="minlocation" id="minlocation" value="[% minlocation %]" /> (items.itemcallnumber)  </li>
80
                <input type="text" name="minlocation" id="minlocation" value="[% minlocation %]" /> (items.itemcallnumber)  </li>
81
           <li><label for="maxlocation">...and: </label>
81
           <li><label for="maxlocation">...and: </label>
82
                <input type="text" name="maxlocation" id="maxlocation" value="[% maxlocation %]" />
82
                <input type="text" name="maxlocation" id="maxlocation" value="[% maxlocation %]" />
83
        </li>
83
           <li>
84
            <label for="class_source">Callnumber classification scheme</label>
85
            <select name="class_source">
86
            [% FOREACH class_source IN class_sources %]
87
                [% IF class_source.cn_source == pref_class %]
88
                <option value="[% class_source.cn_source %]" selected="selected">[% class_source.description %] (default)</option>
89
                [% ELSE %]
90
                <option value="[% class_source.cn_source %]">[% class_source.description %]</option>
91
                [% END %]
92
            [% END %]
93
            </select>
94
          </li>
84
    </ol>
95
    </ol>
85
    </fieldset>
96
    </fieldset>
86
97
(-)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