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

(-)a/C4/Acquisition.pm (+2 lines)
Lines 1223-1228 sub DelOrder { Link Here
1223
    my $sth = $dbh->prepare($query);
1223
    my $sth = $dbh->prepare($query);
1224
    $sth->execute( $bibnum, $ordernumber );
1224
    $sth->execute( $bibnum, $ordernumber );
1225
    $sth->finish;
1225
    $sth->finish;
1226
    my @itemnumbers = GetItemnumbersFromOrder( $ordernumber );
1227
    C4::Items::DelItem( $dbh, $bibnum, $_ ) for @itemnumbers;
1226
}
1228
}
1227
1229
1228
=head2 FUNCTIONS ABOUT PARCELS
1230
=head2 FUNCTIONS ABOUT PARCELS
(-)a/C4/Biblio.pm (-1 / +24 lines)
Lines 89-96 BEGIN { Link Here
89
      &GetMarcFromKohaField
89
      &GetMarcFromKohaField
90
      &GetFrameworkCode
90
      &GetFrameworkCode
91
      &TransformKohaToMarc
91
      &TransformKohaToMarc
92
93
      &CountItemsIssued
92
      &CountItemsIssued
93
      &CountBiblioInOrders
94
    );
94
    );
95
95
96
    # To modify something
96
    # To modify something
Lines 3630-3635 sub get_biblio_authorised_values { Link Here
3630
    return $authorised_values;
3630
    return $authorised_values;
3631
}
3631
}
3632
3632
3633
=head2 CountBiblioInOrders
3634
3635
=over 4
3636
$count = &CountBiblioInOrders( $biblionumber);
3637
3638
=back
3639
3640
This function return count of biblios in orders with $biblionumber 
3641
3642
=cut
3643
3644
sub CountBiblioInOrders {
3645
 my ($biblionumber) = @_;
3646
    my $dbh            = C4::Context->dbh;
3647
    my $query          = "SELECT count(*)
3648
          FROM  aqorders 
3649
          WHERE biblionumber=? AND (datecancellationprinted IS NULL OR datecancellationprinted='0000-00-00')";
3650
    my $sth = $dbh->prepare($query);
3651
    $sth->execute($biblionumber);
3652
    my $count = $sth->fetchrow;
3653
    return ($count);
3654
}
3655
3633
1;
3656
1;
3634
3657
3635
__END__
3658
__END__
(-)a/acqui/addorder.pl (+4 lines)
Lines 190-195 my $user = $input->remote_user; Link Here
190
# create if $quantity>=0 and $existing='no'
190
# create if $quantity>=0 and $existing='no'
191
# modify if $quantity>=0 and $existing='yes'
191
# modify if $quantity>=0 and $existing='yes'
192
# delete if $quantity has been set to 0 by the librarian
192
# delete if $quantity has been set to 0 by the librarian
193
# delete biblio if delbiblio has been set to 1 by the librarian
193
my $bibitemnum;
194
my $bibitemnum;
194
if ( $orderinfo->{quantity} ne '0' ) {
195
if ( $orderinfo->{quantity} ne '0' ) {
195
    #TODO:check to see if biblio exists
196
    #TODO:check to see if biblio exists
Lines 270-275 if ( $orderinfo->{quantity} ne '0' ) { Link Here
270
else { # qty=0, delete the line
271
else { # qty=0, delete the line
271
    my $biblionumber = $input->param('biblionumber');
272
    my $biblionumber = $input->param('biblionumber');
272
    DelOrder( $biblionumber, $$orderinfo{ordernumber} );
273
    DelOrder( $biblionumber, $$orderinfo{ordernumber} );
274
    if ($orderinfo->{delbiblio} == 1){
275
     DelBiblio($biblionumber) if (C4::Items::GetItemsCount($biblionumber) == 0 && CountBiblioInOrders($biblionumber) <= 1);
276
    }
273
}
277
}
274
my $basketno=$$orderinfo{basketno};
278
my $basketno=$$orderinfo{basketno};
275
my $booksellerid=$$orderinfo{booksellerid};
279
my $booksellerid=$$orderinfo{booksellerid};
(-)a/acqui/basket.pl (-3 / +7 lines)
Lines 28-39 use C4::Output; Link Here
28
use CGI;
28
use CGI;
29
use C4::Acquisition;
29
use C4::Acquisition;
30
use C4::Budgets;
30
use C4::Budgets;
31
32
use C4::Bookseller qw( GetBookSellerFromId);
31
use C4::Bookseller qw( GetBookSellerFromId);
33
use C4::Dates qw/format_date/;
32
use C4::Dates qw/format_date/;
34
use C4::Debug;
33
use C4::Debug;
35
34
use C4::Biblio;
36
use C4::Members qw/GetMember/;  #needed for permissions checking for changing basketgroup of a basket
35
use C4::Members qw/GetMember/;  #needed for permissions checking for changing basketgroup of a basket
36
use C4::Items;
37
=head1 NAME
37
=head1 NAME
38
38
39
basket.pl
39
basket.pl
Lines 253-259 if ( $op eq 'delete_confirm' ) { Link Here
253
		# FIXME: what about the "actual cost" field?
253
		# FIXME: what about the "actual cost" field?
254
        $qty_total += $qty;
254
        $qty_total += $qty;
255
        my %line = %{ $order };
255
        my %line = %{ $order };
256
256
        my $biblionumber = $order->{'biblionumber'};
257
        my $countbiblio = CountBiblioInOrders($biblionumber);
258
        my $ordernumber = $order->{'ordernumber'};
259
        # if the biblio is not in other orders and if there is no items elsewhere we can show the link "Delete order and Biblio" see bug 5680
260
        $line{can_del_bib}    = 1 if $countbiblio <= 1 && GetItemsCount($biblionumber) == scalar GetItemnumbersFromOrder( $ordernumber );
257
        $line{order_received} = ( $qty == $order->{'quantityreceived'} );
261
        $line{order_received} = ( $qty == $order->{'quantityreceived'} );
258
        $line{basketno}       = $basketno;
262
        $line{basketno}       = $basketno;
259
        $line{budget_name}    = $budget->{budget_name};
263
        $line{budget_name}    = $budget->{budget_name};
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt (-2 / +11 lines)
Lines 39-44 Link Here
39
                    window.location = "addorder.pl?ordernumber="+ordernumber+"&basketno=[% basketno %]&quantity=0&biblionumber="+biblionumber;
39
                    window.location = "addorder.pl?ordernumber="+ordernumber+"&basketno=[% basketno %]&quantity=0&biblionumber="+biblionumber;
40
                }
40
                }
41
            }
41
            }
42
            
43
            function confirm_delete_biblio(ordernumber, biblionumber) {
44
                var is_confirmed = confirm(_('Are you sure you want to delete this order with his biblio ?'));
45
                if (is_confirmed) {
46
                    window.location = "addorder.pl?ordernumber="+ordernumber+"&basketno=[% basketno %]&quantity=0&biblionumber="+biblionumber+"&delbiblio=1";
47
                    }
48
            }
42
49
43
//]]>
50
//]]>
44
</script>
51
</script>
Lines 278-286 Link Here
278
                                <a href="neworderempty.pl?ordernumber=[% books_loo.ordernumber %]&amp;booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">Modify</a>
285
                                <a href="neworderempty.pl?ordernumber=[% books_loo.ordernumber %]&amp;booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">Modify</a>
279
                            </td>
286
                            </td>
280
                            <td>
287
                            <td>
281
                            <a href="javascript:confirm_delete_item([% books_loo.ordernumber %],[% books_loo.biblionumber %])" class="button">Delete</a>
288
                            <a href="javascript:confirm_delete_item([% books_loo.ordernumber %],[% books_loo.biblionumber %])" class="button">Delete order</a><br>
289
                            [% IF ( books_loo.can_del_bib ) %]
290
                            <a href="javascript:confirm_delete_biblio([% books_loo.ordernumber %],[% books_loo.biblionumber %])" class="button">Delete order and Biblio</a>
282
                            </td>
291
                            </td>
283
                            [% END %]
292
                            [% END %]
293
                            [% END %]
284
                        [% END %]
294
                        [% END %]
285
                    </tr>
295
                    </tr>
286
                [% END %]
296
                [% END %]
287
- 

Return to bug 5680