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

(-)a/C4/Items.pm (-15 / +26 lines)
Lines 1-6 Link Here
1
package C4::Items;
1
package C4::Items;
2
2
3
# Copyright 2007 LibLime, Inc.
3
# Copyright 2007 LibLime, Inc.
4
# Parts Copyright Biblibre 2010
4
#
5
#
5
# This file is part of Koha.
6
# This file is part of Koha.
6
#
7
#
Lines 2040-2060 sub DelItemCheck { Link Here
2040
    my $sth=$dbh->prepare("select * from issues i where i.itemnumber=?");
2041
    my $sth=$dbh->prepare("select * from issues i where i.itemnumber=?");
2041
    $sth->execute($itemnumber);
2042
    $sth->execute($itemnumber);
2042
2043
2043
    my $onloan=$sth->fetchrow;
2044
    my $item = GetItem($itemnumber);
2044
2045
    my $onloan = $sth->fetchrow;
2045
    if ($onloan){
2046
    if ($onloan) {
2046
        $error = "book_on_loan" 
2047
        $error = "book_on_loan";
2047
    }else{
2048
    }
2048
        # check it doesnt have a waiting reserve
2049
    elsif (C4::Context->preference("IndependantBranches") and (C4::Context->userenv->{branch} ne $item->{C4::Context->preference("HomeOrHoldingBranch")||'homebranch'})){
2049
        $sth=$dbh->prepare("SELECT * FROM reserves WHERE (found = 'W' or found = 'T') AND itemnumber = ?");
2050
        $error = "not_same_branch";
2050
        $sth->execute($itemnumber);
2051
    } 
2051
        my $reserve=$sth->fetchrow;
2052
    else {
2052
        if ($reserve){
2053
	if ($onloan){ 
2053
            $error = "book_reserved";
2054
	    $error = "book_on_loan" 
2054
        }else{
2055
	}
2055
            DelItem($dbh, $biblionumber, $itemnumber);
2056
	else {
2056
            return 1;
2057
	    # check it doesnt have a waiting reserve
2057
        }
2058
	    $sth=$dbh->prepare("SELECT * FROM reserves WHERE (found = 'W' or found = 'T') AND itemnumber = ?");
2059
	    $sth->execute($itemnumber);
2060
	    my $reserve=$sth->fetchrow;
2061
	    if ($reserve) {
2062
		$error = "book_reserved";
2063
	    } 
2064
	    else {
2065
		DelItem($dbh, $biblionumber, $itemnumber);
2066
		return 1;
2067
	    }
2068
	}
2058
    }
2069
    }
2059
    return $error;
2070
    return $error;
2060
}
2071
}
(-)a/cataloguing/additem.pl (-8 / +22 lines)
Lines 435-448 if ($op eq "additem") { Link Here
435
} elsif ($op eq "delallitems") {
435
} elsif ($op eq "delallitems") {
436
#-------------------------------------------------------------------------------
436
#-------------------------------------------------------------------------------
437
    my @biblioitems = &GetBiblioItemByBiblioNumber($biblionumber);
437
    my @biblioitems = &GetBiblioItemByBiblioNumber($biblionumber);
438
    foreach my $biblioitem (@biblioitems){
438
    my $errortest=0;
439
        my $items = &GetItemsByBiblioitemnumber($biblioitem->{biblioitemnumber});
439
    my $itemfail;
440
440
    foreach my $biblioitem (@biblioitems) {
441
        foreach my $item (@$items){
441
        my $items = &GetItemsByBiblioitemnumber( $biblioitem->{biblioitemnumber} );
442
            # FIXME although it won't delete items that have loans
442
443
            # or waiting holds on them, should explicitly tell operator
443
        foreach my $item (@$items) {
444
            # about items that are not deleted
444
            $error =&DelItemCheck( $dbh, $biblionumber, $item->{itemnumber} );
445
            &DelItemCheck($dbh,$biblionumber,$item->{itemnumber});
445
            $itemfail =$item;
446
        if($error == 1){
447
            next
448
            }
449
        else {
450
            push @errors,$error;
451
            $errortest++
452
            }
453
        }
454
        if($errortest > 0){
455
            $nextop="additem";
456
        } 
457
        else {
458
            print $input->redirect("/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=$biblionumber");
459
            exit;
446
        }
460
        }
447
	}
461
	}
448
#-------------------------------------------------------------------------------
462
#-------------------------------------------------------------------------------
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tmpl (-1 / +1 lines)
Lines 191-196 function set_to_today(id, force) { Link Here
191
<!-- TMPL_IF NAME="no_next_barcode" --><div class="dialog alert"><strong>Error saving items</strong>: Unable to automatically determine values for barcodes. No item has been inserted.</div><!-- /TMPL_IF -->
191
<!-- TMPL_IF NAME="no_next_barcode" --><div class="dialog alert"><strong>Error saving items</strong>: Unable to automatically determine values for barcodes. No item has been inserted.</div><!-- /TMPL_IF -->
192
<!-- TMPL_IF NAME="book_on_loan" --><div class="dialog alert"><strong>Cannot Delete</strong>: item is checked out.</div><!-- /TMPL_IF -->
192
<!-- TMPL_IF NAME="book_on_loan" --><div class="dialog alert"><strong>Cannot Delete</strong>: item is checked out.</div><!-- /TMPL_IF -->
193
<!-- TMPL_IF NAME="book_reserved" --><div class="dialogalert"><strong>Cannot Delete</strong>: item has a waiting hold.</div><!-- /TMPL_IF -->
193
<!-- TMPL_IF NAME="book_reserved" --><div class="dialogalert"><strong>Cannot Delete</strong>: item has a waiting hold.</div><!-- /TMPL_IF -->
194
<!-- TMPL_IF Name="not_same_branch" --><div class="dialog alert"><strong>Cannot Delete</strong>: branch of item is not yours.</div><!-- /TMPL_IF -->
194
195
195
<div id="cataloguing_additem_itemlist">
196
<div id="cataloguing_additem_itemlist">
196
    <!-- TMPL_IF name="item_loop" -->
197
    <!-- TMPL_IF name="item_loop" -->
197
- 

Return to bug 5691