$owning_lib, $args{ous_void_od}, $e) || 0;
# ---------------------------------------------------------------------
+ # mark the circ as lost and stop the fines
+ $circ->stop_fines($args{stop_fines});
+ $circ->stop_fines_time($args{stop_fines_time}) unless $circ->stop_fines_time;
+ $e->update_action_circulation($circ) or return $e->die_event;
+
+ # ---------------------------------------------------------------------
+ # void all overdue fines on this circ if configured
+ if( $void_overdue ) {
+ my $evt = OpenILS::Application::Circ::CircCommon->void_overdues($e, $circ);
+ return $evt if $evt;
+ }
+
+ # ---------------------------------------------------------------------
+ # Update trigger on action.circulation will change the status on
+ # the copy when the circulation is updated, so we need to update
+ # the copy after updating the circulation to prevent our
+ # status_changed_time from being overwritten when we try to
+ # backdate.
+ # ---------------------------------------------------------------------
# move the copy into LOST status
$copy->status($args{status});
$copy->status_changed_time($args{stop_fines_time});
return $evt if $evt;
}
- # ---------------------------------------------------------------------
- # mark the circ as lost and stop the fines
- $circ->stop_fines($args{stop_fines});
- $circ->stop_fines_time($args{stop_fines_time}) unless $circ->stop_fines_time;
- $e->update_action_circulation($circ) or return $e->die_event;
-
- # ---------------------------------------------------------------------
- # void all overdue fines on this circ if configured
- if( $void_overdue ) {
- my $evt = OpenILS::Application::Circ::CircCommon->void_overdues($e, $circ);
- return $evt if $evt;
- }
-
my $evt = OpenILS::Application::Circ::CircCommon->reopen_xact($e, $circ->id);
return $evt if $evt;