# along with Koha; if not, see <http://www.gnu.org/licenses>.
use Modern::Perl;
+use JSON;
use C4::Context;
use Koha::Database;
use Koha::Patrons;
use Koha::Acquisition::Invoice::Adjustments;
use C4::Acquisition;
+use C4::Log qw(logaction);
our (@ISA, @EXPORT_OK);
BEGIN {
undef $budget->{budget_encumb} if defined $budget->{budget_encumb} && $budget->{budget_encumb} eq '';
undef $budget->{budget_owner_id} if defined $budget->{budget_owner_id} && $budget->{budget_owner_id} eq '';
my $resultset = Koha::Database->new()->schema->resultset('Aqbudget');
- return $resultset->create($budget)->id;
+ my $id = $resultset->create($budget)->id;
+
+ # Log the addition
+ if (C4::Context->preference("AcquisitionLog")) {
+ my $infos = {
+ budget_amount => $budget->{budget_amount},
+ budget_encumb => $budget->{budget_encumb},
+ budget_expend => $budget->{budget_expend}
+ };
+ logaction(
+ 'ACQUISITIONS',
+ 'CREATE_FUND',
+ $id,
+ encode_json($infos)
+ );
+ }
+ return $id;
}
# -------------------------------------------------------------------
my $result = Koha::Database->new()->schema->resultset('Aqbudget')->find($budget);
return unless($result);
+ # Log this modification
+ if (C4::Context->preference("AcquisitionLog")) {
+ my $infos = {
+ budget_amount_new => $budget->{budget_amount},
+ budget_encumb_new => $budget->{budget_encumb},
+ budget_expend_new => $budget->{budget_expend},
+ budget_amount_old => $result->budget_amount,
+ budget_encumb_old => $result->budget_encumb,
+ budget_expend_old => $result->budget_expend,
+ budget_amount_change => 0 - ($result->budget_amount - $budget->{budget_amount})
+ };
+ logaction(
+ 'ACQUISITIONS',
+ 'MODIFY_FUND',
+ $budget->{budget_id},
+ encode_json($infos)
+ );
+ }
+
undef $budget->{budget_encumb} if defined $budget->{budget_encumb} && $budget->{budget_encumb} eq '';
undef $budget->{budget_owner_id} if defined $budget->{budget_owner_id} && $budget->{budget_owner_id} eq '';
$result = $result->update($budget);
my $dbh = C4::Context->dbh;
my $sth = $dbh->prepare("delete from aqbudgets where budget_id=?");
my $rc = $sth->execute($budget_id);
+ # Log the deletion
+ if (C4::Context->preference("AcquisitionLog")) {
+ logaction(
+ 'ACQUISITIONS',
+ 'DELETE_FUND',
+ $budget_id
+ );
+ }
return $rc;
}