Bug 24545: Fix license statements
[srvgit] / Koha / Acquisition / Fund.pm
1 package Koha::Acquisition::Fund;
2
3 # This file is part of Koha.
4 #
5 # Koha is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 3 of the License, or
8 # (at your option) any later version.
9 #
10 # Koha is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with Koha; if not, see <http://www.gnu.org/licenses>.
17
18 use Modern::Perl;
19
20 use Koha::Database;
21
22 use base qw(Koha::Object);
23
24 =head1 NAME
25
26 Koha::Acquisition::Fund object class
27
28 =head1 API
29
30 =head2 Class methods
31
32 =head3 to_api
33
34     my $json = $fund->to_api;
35
36 Overloaded method that returns a JSON representation of the Koha::Acquisition::Fund object,
37 suitable for API output.
38
39 =cut
40
41 sub to_api {
42     my ( $self, $args ) = @_;
43
44     # Preserve conflicting attribute names
45     my $budget_id        = $self->budget_id;
46     my $budget_period_id = $self->budget_period_id;
47
48     my $json_fund = $self->SUPER::to_api($args);
49     $json_fund->{fund_id}   = $budget_id;
50     $json_fund->{budget_id} = $budget_period_id;
51
52     return $json_fund;
53 }
54
55 =head3 to_api_mapping
56
57 This method returns the mapping for representing a Koha::Acquisition::Fund object
58 on the API.
59
60 =cut
61
62 sub to_api_mapping {
63     return {
64         budget_id         => 'fund_id',
65         budget_code       => 'code',
66         budget_name       => 'name',
67         budget_branchcode => 'library_id',
68         budget_amount     => 'total_amount',
69         budget_encumb     => 'warn_at_percentage',
70         budget_expend     => 'warn_at_amount',
71         budget_notes      => 'notes',
72         budget_period_id  => 'budget_id',
73         timestamp         => 'timestamp',
74         budget_owner_id   => 'fund_owner_id',
75         budget_permission => 'fund_access',
76         sort1_authcat     => 'statistic1_auth_value_category',
77         sort2_authcat     => 'statistic2_auth_value_category',
78         budget_parent_id  => 'parent_fund_id',
79     };
80 }
81
82 =head2 Internal methods
83
84 =head3 _type
85
86 =cut
87
88 sub _type {
89     return 'Aqbudget';
90 }
91
92 1;