Koha/Koha/Acquisition/Fund.pm
Katrin Fischer ee028855c2 Bug 15329: Add new column for budget to the late orders table
The table currently displays the fund, but as late orders can be
from a past budget with the same fund names, this can be confusing.
So adding the budget in addition to the fund will be helpful.

To test:
- Add a basket and an order, close the basket
- Go to the late oder page
- Make sure your order shows up there
- Apply the patch
- Reload the late orders page
- Verify a new column budget shows in the table
- Verify the table configuration settings work for the new column
- Run t/db_dependent/Koha/Acquisition/Fund.t

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2020-11-04 12:59:34 +01:00

108 lines
2.6 KiB
Perl

package Koha::Acquisition::Fund;
# This file is part of Koha.
#
# Koha is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Koha is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
use Modern::Perl;
use Koha::Acquisition::Budgets;
use Koha::Database;
use base qw(Koha::Object);
=head1 NAME
Koha::Acquisition::Fund object class
=head1 API
=head2 Class methods
=head3 budget
my $budget = $fund->budget;
Returns the I<Koha::Acquisition::Budget> object for the budget (aqbudgetperiods)
associated to the fund.
=cut
sub budget {
my ( $self ) = @_;
my $budget_rs = $self->_result->budget;
return Koha::Acquisition::Budget->_new_from_dbic( $budget_rs );
}
=head3 to_api
my $json = $fund->to_api;
Overloaded method that returns a JSON representation of the Koha::Acquisition::Fund object,
suitable for API output.
=cut
sub to_api {
my ( $self, $args ) = @_;
# Preserve conflicting attribute names
my $budget_id = $self->budget_id;
my $budget_period_id = $self->budget_period_id;
my $json_fund = $self->SUPER::to_api($args);
$json_fund->{fund_id} = $budget_id;
$json_fund->{budget_id} = $budget_period_id;
return $json_fund;
}
=head3 to_api_mapping
This method returns the mapping for representing a Koha::Acquisition::Fund object
on the API.
=cut
sub to_api_mapping {
return {
budget_id => 'fund_id',
budget_code => 'code',
budget_name => 'name',
budget_branchcode => 'library_id',
budget_amount => 'total_amount',
budget_encumb => 'warn_at_percentage',
budget_expend => 'warn_at_amount',
budget_notes => 'notes',
budget_period_id => 'budget_id',
timestamp => 'timestamp',
budget_owner_id => 'fund_owner_id',
budget_permission => 'fund_access',
sort1_authcat => 'statistic1_auth_value_category',
sort2_authcat => 'statistic2_auth_value_category',
budget_parent_id => 'parent_fund_id',
};
}
=head2 Internal methods
=head3 _type
=cut
sub _type {
return 'Aqbudget';
}
1;