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

(-)a/C4/SIP/ILS.pm (-10 / +5 lines)
Lines 428-444 sub renew { Link Here
428
    if (!defined($item)) {
428
    if (!defined($item)) {
429
		$trans->screen_msg("Item not checked out to " . $patron->name);     # not checked out to $patron_id
429
		$trans->screen_msg("Item not checked out to " . $patron->name);     # not checked out to $patron_id
430
        $trans->ok(0);
430
        $trans->ok(0);
431
    } elsif (!$item->available($patron_id)) {
432
		$trans->screen_msg("Item unavailable due to outstanding holds");
433
        $trans->ok(0);
434
    } else {
431
    } else {
435
		$trans->renewal_ok(1);
432
        $trans->do_renew();
436
		$trans->desensitize(0);	# It's already checked out
433
        if ($trans->renewal_ok()) {
437
		$trans->do_renew();
434
            $item->{due_date} = $trans->{due};
438
		syslog("LOG_DEBUG", "done renew (ok:%s): %s renews %s", $trans->renewal_ok, $patron_id, $item_id);
435
            $trans->desensitize(0);
439
436
        }
440
#		$item->{due_date} = $nb_due_date if $no_block eq 'Y';
441
#		$item->{sip_item_properties} = $item_props if $item_props;
442
    }
437
    }
443
438
444
    return $trans;
439
    return $trans;
(-)a/C4/SIP/ILS/Transaction/Renew.pm (-8 / +15 lines)
Lines 36-56 sub do_renew_for { Link Here
36
	my $borrower = shift;
36
	my $borrower = shift;
37
	my ($renewokay,$renewerror) = CanBookBeRenewed($borrower->{borrowernumber},$self->{item}->{itemnumber});
37
	my ($renewokay,$renewerror) = CanBookBeRenewed($borrower->{borrowernumber},$self->{item}->{itemnumber});
38
	if ($renewokay){
38
	if ($renewokay){
39
		$self->{due} = AddIssue( $borrower, $self->{item}->id, undef, 0 );
39
        $self->{due} = undef;
40
		$self->renewal_ok(1);
40
        my $due_date = AddIssue( $borrower, $self->{item}->id, undef, 0 );
41
        if ($due_date) {
42
            $self->{due} = $due_date;
43
        }
44
        $self->renewal_ok(1);
41
	} else {
45
	} else {
42
		$self->screen_msg(($self->screen_msg || '') . " " . $renewerror);
46
        $renewerror=~s/on_reserve/Item unavailable due to outstanding holds/;
47
        $renewerror=~s/too_many/Item has reached maximum renewals/;
48
        #$self->screen_msg(($self->screen_msg || '') . " " . $renewerror);
49
		$self->screen_msg($renewerror);
43
		$self->renewal_ok(0);
50
		$self->renewal_ok(0);
44
	}
51
	}
45
    $! and warn "do_renew_for error: $!";
52
	$self->ok(1);
46
	$self->ok(1) unless $!;
53
	return;
47
	return $self;
48
}
54
}
49
55
50
sub do_renew {
56
sub do_renew {
51
	my $self = shift;
57
	my $self = shift;
52
	my $borrower = GetMember( 'cardnumber'=>$self->{patron}->id);
58
	my $borrower = GetMember( 'cardnumber'=>$self->{patron}->id);
53
	return $self->do_renew_for($borrower);
59
    $self->do_renew_for($borrower);
54
}	
60
    return $self;
61
}
55
62
56
1;
63
1;
(-)a/C4/SIP/Sip/MsgType.pm (-2 / +5 lines)
Lines 1357-1363 sub handle_renew { Link Here
1357
	$resp .= add_field(FID_PATRON_ID, $patron->id);
1357
	$resp .= add_field(FID_PATRON_ID, $patron->id);
1358
	$resp .= add_field(FID_ITEM_ID,  $item->id);
1358
	$resp .= add_field(FID_ITEM_ID,  $item->id);
1359
	$resp .= add_field(FID_TITLE_ID, $item->title_id);
1359
	$resp .= add_field(FID_TITLE_ID, $item->title_id);
1360
	$resp .= add_field(FID_DUE_DATE, Sip::timestamp($item->due_date));
1360
    if ($item->due_date) {
1361
        $resp .= add_field(FID_DUE_DATE, Sip::timestamp($item->due_date));
1362
    } else {
1363
        $resp .= add_field(FID_DUE_DATE, q{});
1364
    }
1361
	if ($ils->supports('security inhibit')) {
1365
	if ($ils->supports('security inhibit')) {
1362
	    $resp .= add_field(FID_SECURITY_INHIBIT,
1366
	    $resp .= add_field(FID_SECURITY_INHIBIT,
1363
			       $status->security_inhibit);
1367
			       $status->security_inhibit);
1364
- 

Return to bug 8336