- if ( $budget_period_id ne '' ) {
- $$budget_period_hashref{$_}||=0 for qw(budget_period_active budget_period_locked);
- my $status=ModBudgetPeriod($budget_period_hashref);
- }
- else { # ELSE ITS AN ADD
- my $budget_period_id=AddBudgetPeriod($budget_period_hashref);
- }
- $op='else';
+ if ( $budget_period_id ne '' ) {
+ # Grab the previous values so we can log them
+ my $budgetperiod_old=GetBudgetPeriod($budget_period_id);
+ $$budget_period_hashref{$_}||=0 for qw(budget_period_active budget_period_locked);
+ my $status=ModBudgetPeriod($budget_period_hashref);
+ # Log the budget modification
+ if (C4::Context->preference("AcquisitionLog")) {
+ my $diff = 0 - ($budgetperiod_old->{budget_period_total} - $budget_period_hashref->{budget_period_total});
+ my $infos = {
+ budget_period_startdate => $input->param('budget_period_startdate'),
+ budget_period_enddate => $input->param('budget_period_enddate'),
+ budget_period_total => $budget_period_hashref->{budget_period_total},
+ budget_period_startdate_old => $budgetperiod_old->{budget_period_startdate},
+ budget_period_enddate_old => $budgetperiod_old->{budget_period_enddate},
+ budget_period_total_old => $budgetperiod_old->{budget_period_total},
+ budget_period_total_change => $diff
+ };
+ logaction(
+ 'ACQUISITIONS',
+ 'MODIFY_BUDGET',
+ $budget_period_id,
+ encode_json($infos)
+ );
+ }
+ }
+ else { # ELSE ITS AN ADD
+ my $budget_period_id=AddBudgetPeriod($budget_period_hashref);
+ }
+ $op='else';