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

(-)a/cataloguing/additem.pl (+14 lines)
Lines 32-37 use C4::Context; Link Here
32
use C4::Members;
32
use C4::Members;
33
use C4::Output qw( output_and_exit_if_error output_and_exit output_html_with_http_headers );
33
use C4::Output qw( output_and_exit_if_error output_and_exit output_html_with_http_headers );
34
use C4::Search qw( enabled_staff_search_views );
34
use C4::Search qw( enabled_staff_search_views );
35
use C4::Acquisition qw( GetOrderFromItemnumber );
35
use Koha::Biblios;
36
use Koha::Biblios;
36
use Koha::Item::Templates;
37
use Koha::Item::Templates;
37
use Koha::ItemTypes;
38
use Koha::ItemTypes;
Lines 42-47 use Koha::Patrons; Link Here
42
use Koha::SearchEngine::Indexer;
43
use Koha::SearchEngine::Indexer;
43
use Koha::UI::Form::Builder::Item;
44
use Koha::UI::Form::Builder::Item;
44
use Koha::Result::Boolean;
45
use Koha::Result::Boolean;
46
use Koha::Serial::Items;
47
use Koha::Subscriptions;
45
48
46
use Encode          qw( encode_utf8 );
49
use Encode          qw( encode_utf8 );
47
use List::MoreUtils qw( any uniq );
50
use List::MoreUtils qw( any uniq );
Lines 695-702 if ($op) { Link Here
695
# now, build existiing item list
698
# now, build existiing item list
696
699
697
my @items;
700
my @items;
701
my %warning_messages;
698
for my $item ( $biblio->items->as_list, $biblio->host_items->as_list ) {
702
for my $item ( $biblio->items->as_list, $biblio->host_items->as_list ) {
699
    my $i = $item->columns_to_str;
703
    my $i = $item->columns_to_str;
704
    my $i_order    = GetOrderFromItemnumber( $i->{itemnumber} );
705
    my $i_serialid = Koha::Serial::Items->find( { itemnumber => $i->{itemnumber} }, { prefetch => 'serialid' } );
706
    if ($i_order) {
707
        $warning_messages{ $i->{itemnumber} } =
708
            sprintf( 'There is an order (ordernumber %s) on this item', $i_order->{ordernumber} );
709
    }
710
    if ($i_serialid) {
711
        $warning_messages{ $i->{itemnumber} } = 'A subscription is linked to this item';
712
    }
700
    $i->{nomod} = 1 unless $patron->can_edit_items_from( $item->homebranch );
713
    $i->{nomod} = 1 unless $patron->can_edit_items_from( $item->homebranch );
701
    push @items, $i;
714
    push @items, $i;
702
}
715
}
Lines 822-827 $template->param( Link Here
822
    barcode          => $current_item->{barcode},
835
    barcode          => $current_item->{barcode},
823
    op               => $nextop,
836
    op               => $nextop,
824
    popup            => scalar $input->param('popup') ? 1 : 0,
837
    popup            => scalar $input->param('popup') ? 1 : 0,
838
    warning_messages => \%warning_messages,
825
    C4::Search::enabled_staff_search_views,
839
    C4::Search::enabled_staff_search_views,
826
);
840
);
827
$template->{'VARS'}->{'searchid'} = $searchid;
841
$template->{'VARS'}->{'searchid'} = $searchid;
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers.inc (-1 / +9 lines)
Lines 336-342 Link Here
336
            <tbody>
336
            <tbody>
337
                [% FOREACH item IN items %]
337
                [% FOREACH item IN items %]
338
                    [% SET can_be_edited = !item.nomod && !( Koha.Preference('IndependentBranches') && ! logged_in_user && item.homebranch != Branches.GetLoggedInBranchname() ) %]
338
                    [% SET can_be_edited = !item.nomod && !( Koha.Preference('IndependentBranches') && ! logged_in_user && item.homebranch != Branches.GetLoggedInBranchname() ) %]
339
339
                    [% SET current_itemnumber = item.itemnumber %]
340
                    [% SET linked_order = linked_orders_subscriptions.$current_itemnumber %]
341
                    [% SET linked_subscription = linked_orders_subscriptions.$current_itemnumber.subscription %]
340
                    <tr>
342
                    <tr>
341
                        <td>[% item.index + 1 | html %]</td>
343
                        <td>[% item.index + 1 | html %]</td>
342
                        [% IF checkboxes_edit %]
344
                        [% IF checkboxes_edit %]
Lines 357-362 Link Here
357
                            [% ELSE %]
359
                            [% ELSE %]
358
                                [% IF item.safe_to_delete %]
360
                                [% IF item.safe_to_delete %]
359
                                    <td><input type="checkbox" name="itemnumber" value="[% item.itemnumber | html %]" id="row[% item.itemnumber | html %]" checked="checked" /></td>
361
                                    <td><input type="checkbox" name="itemnumber" value="[% item.itemnumber | html %]" id="row[% item.itemnumber | html %]" checked="checked" /></td>
362
                                    [% IF linked_order.ordernumber %]
363
                                        <i class="fa fa-warning warn" Title="There is an order (ordernumber [% linked_order.ordernumber | html %]) on this item"></i>
364
                                    [% END %]
365
                                    [% IF linked_subscription %]
366
                                        <i class="fa fa-warning warn" Title="There is a subscription linked (subscription id [% linked_subscription | html %])"></i>
367
                                    [% END %]
360
                                [% ELSE %]
368
                                [% ELSE %]
361
                                    [% SET messages = item.safe_to_delete.messages %]
369
                                    [% SET messages = item.safe_to_delete.messages %]
362
                                    [% FOR m IN messages %]
370
                                    [% FOR m IN messages %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt (-1 / +8 lines)
Lines 118-123 Link Here
118
                    <tbody>
118
                    <tbody>
119
                        [% FOREACH item IN items %]
119
                        [% FOREACH item IN items %]
120
                            [% SET can_be_edited = ! ( Koha.Preference('IndependentBranches') && ! logged_in_user.is_superlibrarian && item.homebranch != Branches.GetLoggedInBranchname() ) %]
120
                            [% SET can_be_edited = ! ( Koha.Preference('IndependentBranches') && ! logged_in_user.is_superlibrarian && item.homebranch != Branches.GetLoggedInBranchname() ) %]
121
                            [% SET current_itemnumber = item.itemnumber %]
122
                            [% SET warn_message = warning_messages.$current_itemnumber %]
121
                            [% SET tr_class = '' %]
123
                            [% SET tr_class = '' %]
122
                            [% IF item.itemnumber == itemnumber AND op == 'cud-saveitem' %]
124
                            [% IF item.itemnumber == itemnumber AND op == 'cud-saveitem' %]
123
                                [% UNLESS can_be_edited %]
125
                                [% UNLESS can_be_edited %]
Lines 187-193 Link Here
187
                                                                <input type="hidden" name="searchid" value="[% searchid | html %]" />
189
                                                                <input type="hidden" name="searchid" value="[% searchid | html %]" />
188
                                                                <input type="hidden" name="delete-serial-issues" id="[% item.itemnumber | html %]-delete-serial-issues" value="" />
190
                                                                <input type="hidden" name="delete-serial-issues" id="[% item.itemnumber | html %]-delete-serial-issues" value="" />
189
                                                            </form>
191
                                                            </form>
190
                                                            <a class="dropdown-item delete" data-itemnumber="[% item.itemnumber | html %]" data-has-serial-item="[% Item.HasSerialItem(item.itemnumber) | html %]" href="#">Delete</a>
192
                                                            <a class="dropdown-item delete" data-itemnumber="[% item.itemnumber | html %]" data-has-serial-item="[% Item.HasSerialItem(item.itemnumber) | html %]" href="#">
193
                                                                Delete
194
                                                                [% IF warn_message %]
195
                                                                    <i class="fa fa-warning warn" Title="[% warn_message | html %]"></i>
196
                                                                [% END %]
197
                                                            </a>
191
                                                        </li>
198
                                                        </li>
192
                                                    [% END %]
199
                                                    [% END %]
193
                                                [% END %]
200
                                                [% END %]
(-)a/tools/batchMod.pl (-5 / +24 lines)
Lines 25-30 use C4::Auth qw( get_template_and_user haspermission ); Link Here
25
use C4::Output      qw( output_html_with_http_headers );
25
use C4::Output      qw( output_html_with_http_headers );
26
use C4::Circulation qw( barcodedecode );
26
use C4::Circulation qw( barcodedecode );
27
use C4::Context;
27
use C4::Context;
28
use C4::Acquisition qw( GetOrderFromItemnumber );
28
use MARC::File::XML;
29
use MARC::File::XML;
29
use List::MoreUtils qw( uniq );
30
use List::MoreUtils qw( uniq );
30
use Encode          qw( encode_utf8 );
31
use Encode          qw( encode_utf8 );
Lines 40-45 use Koha::BackgroundJob::BatchDeleteItem; Link Here
40
use Koha::BackgroundJob::BatchUpdateItem;
41
use Koha::BackgroundJob::BatchUpdateItem;
41
use Koha::UI::Form::Builder::Item;
42
use Koha::UI::Form::Builder::Item;
42
use Koha::UI::Table::Builder::Items;
43
use Koha::UI::Table::Builder::Items;
44
use Koha::Serial::Items;
45
use Koha::Serials;
43
46
44
my $input                             = CGI->new;
47
my $input                             = CGI->new;
45
my $dbh                               = C4::Context->dbh;
48
my $dbh                               = C4::Context->dbh;
Lines 89-94 my $nextop = ""; Link Here
89
my $display_items;
92
my $display_items;
90
93
91
my @messages;
94
my @messages;
95
my %linked_orders_subscriptions;
92
96
93
if ( $op eq "cud-action" ) {
97
if ( $op eq "cud-action" ) {
94
98
Lines 258-264 if ( $op eq "cud-show" || $op eq "show" ) { Link Here
258
    } else {
262
    } else {
259
        if ( defined $biblionumber && !@itemnumbers ) {
263
        if ( defined $biblionumber && !@itemnumbers ) {
260
            my $biblio = Koha::Biblios->find($biblionumber);
264
            my $biblio = Koha::Biblios->find($biblionumber);
261
            @itemnumbers = $biblio ? $biblio->items->get_column('itemnumber') : ();
265
            if(!@itemnumbers) {
266
                @itemnumbers = $biblio ? $biblio->items->get_column('itemnumber') : ();
267
            }
268
            foreach my $itemnumber (@itemnumbers) {
269
                $linked_orders_subscriptions{$itemnumber} = [];
270
                my $order     = GetOrderFromItemnumber($itemnumber);
271
                my $serial_id = Koha::Serial::Items->search( { itemnumber => $itemnumber } )->get_column('serialid');
272
                if ($order) {
273
                    $linked_orders_subscriptions{$itemnumber} =
274
                        { ordernumber => $order->{ordernumber}, basket => $order->{basketno} };
275
                }
276
                if ($serial_id) {
277
                    my $subscription_id = Koha::Serials->search( { serialid => $serial_id } )->get_column('subscriptionid');
278
                    $linked_orders_subscriptions{$itemnumber} = { subscription => $subscription_id };
279
                }
280
            }
262
        }
281
        }
263
        if ( my $list = $input->param('barcodelist') ) {
282
        if ( my $list = $input->param('barcodelist') ) {
264
            my @barcodelist = grep /\S/, ( split /[$split_chars]/, $list );
283
            my @barcodelist = grep /\S/, ( split /[$split_chars]/, $list );
Lines 331-339 if ( $op eq "cud-show" || $op eq "show" ) { Link Here
331
350
332
    # what's the next op ? it's what we are not in : an add if we're editing, otherwise, and edit.
351
    # what's the next op ? it's what we are not in : an add if we're editing, otherwise, and edit.
333
    $template->param(
352
    $template->param(
334
        subfields           => $subfields,
353
        subfields                   => $subfields,
335
        notfoundbarcodes    => \@notfoundbarcodes,
354
        notfoundbarcodes            => \@notfoundbarcodes,
336
        notfounditemnumbers => \@notfounditemnumbers
355
        notfounditemnumbers         => \@notfounditemnumbers,
356
        linked_orders_subscriptions => \%linked_orders_subscriptions,
337
    );
357
    );
338
    $nextop = "cud-action";
358
    $nextop = "cud-action";
339
    $template->param( show => 1 );
359
    $template->param( show => 1 );
340
- 

Return to bug 13870