Lines 2176-2205
sub MarkIssueReturned {
Link Here
|
2176 |
$dbh->do( $query, undef, @bind ); |
2176 |
$dbh->do( $query, undef, @bind ); |
2177 |
|
2177 |
|
2178 |
my $original_issue_id = $issue_id; |
2178 |
my $original_issue_id = $issue_id; |
2179 |
my $id_already_exists = $dbh->selectrow_array( |
2179 |
my $issue = Koha::Checkouts->find( $issue_id ); # FIXME should be fetched earlier |
2180 |
q|SELECT COUNT(*) FROM old_issues WHERE issue_id = ?|, |
|
|
2181 |
undef, $issue_id |
2182 |
); |
2183 |
|
2180 |
|
2184 |
if ( $id_already_exists ) { |
2181 |
# Create the old_issues entry |
2185 |
my $new_issue_id = $dbh->selectrow_array(q|SELECT MAX(issue_id)+1 FROM old_issues|); |
2182 |
my $old_checkout_data = $issue->unblessed; |
2186 |
$dbh->do( |
2183 |
|
2187 |
q|UPDATE issues SET issue_id = ? WHERE issue_id = ?|, |
2184 |
if ( Koha::Old::Checkouts->find( $issue_id ) ) { |
2188 |
undef, $new_issue_id, $issue_id |
2185 |
my $new_issue_id = Koha::Old::Checkouts->search( |
2189 |
); |
2186 |
{}, |
|
|
2187 |
{ columns => [ { max_issue_id => { max => 'issue_id' } } ] } |
2188 |
)->get_column('max_issue_id') + 1; |
2190 |
$issue_id = $new_issue_id; |
2189 |
$issue_id = $new_issue_id; |
2191 |
} |
2190 |
} |
|
|
2191 |
$old_checkout_data->{issue_id} = $issue_id; |
2192 |
my $old_checkout = Koha::Old::Checkout->new($old_checkout_data)->store; |
2192 |
|
2193 |
|
2193 |
$dbh->do(q|INSERT INTO old_issues SELECT * FROM issues WHERE issue_id = ?|, undef, $issue_id); |
2194 |
# Update the fines |
2194 |
|
2195 |
$dbh->do(q|UPDATE accountlines SET issue_id = ? WHERE issue_id = ?|, undef, $old_checkout->issue_id, $issue->issue_id); |
2195 |
$dbh->do(q|UPDATE accountlines SET issue_id = ? WHERE issue_id = ?|, undef, $issue_id, $original_issue_id); |
|
|
2196 |
|
2196 |
|
2197 |
# anonymise patron checkout immediately if $privacy set to 2 and AnonymousPatron is set to a valid borrowernumber |
2197 |
# anonymise patron checkout immediately if $privacy set to 2 and AnonymousPatron is set to a valid borrowernumber |
2198 |
if ( $privacy == 2) { |
2198 |
if ( $privacy == 2) { |
2199 |
$dbh->do(q|UPDATE old_issues SET borrowernumber=? WHERE issue_id = ?|, undef, $anonymouspatron, $issue_id); |
2199 |
$dbh->do(q|UPDATE old_issues SET borrowernumber=? WHERE issue_id = ?|, undef, $anonymouspatron, $old_checkout->issue_id); |
2200 |
} |
2200 |
} |
2201 |
|
2201 |
|
2202 |
$dbh->do(q|DELETE FROM issues WHERE issue_id = ?|, undef, $issue_id); |
2202 |
# Delete the issue |
|
|
2203 |
$issue->delete; |
2203 |
|
2204 |
|
2204 |
ModItem( { 'onloan' => undef }, undef, $itemnumber ); |
2205 |
ModItem( { 'onloan' => undef }, undef, $itemnumber ); |
2205 |
|
2206 |
|
2206 |
- |
|
|