1 package Koha::Suggestion;
3 # Copyright ByWater Solutions 2015
5 # This file is part of Koha.
7 # Koha is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3 of the License, or
10 # (at your option) any later version.
12 # Koha is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with Koha; if not, see <http://www.gnu.org/licenses>.
24 use Koha::DateUtils qw( dt_from_string );
27 use base qw(Koha::Object);
31 Koha::Suggestion - Koha Suggestion object class
41 Override the default store behavior so that new suggestions have
42 a suggesteddate of today
49 unless ( $self->suggesteddate() ) {
50 $self->suggesteddate( dt_from_string()->ymd );
53 return $self->SUPER::store();
58 my $patron = $suggestion->suggester
60 Returns the I<Koha::Patron> for the suggestion generator. I<undef> is
61 returned if no suggester is linked.
68 my $suggester_rs = $self->_result->suggester;
69 return unless $suggester_rs;
70 return Koha::Patron->_new_from_dbic($suggester_rs);
75 my $manager = $suggestion->manager;
77 Returns the manager of the suggestion (Koha::Patron for managedby field)
83 my $manager_rs = $self->_result->managedby;
84 return unless $manager_rs;
85 return Koha::Patron->_new_from_dbic($manager_rs);
90 my $rejecter = $suggestion->rejecter;
92 Returns the rejecter of the suggestion (Koha::Patron for rejectebby field)
98 my $rejecter_rs = $self->_result->managedby;
99 return unless $rejecter_rs;
100 return Koha::Patron->_new_from_dbic($rejecter_rs);
105 my $last_modifier = $suggestion->last_modifier;
107 Returns the librarian who last modified the suggestion (Koha::Patron for lastmodificationby field)
113 my $last_modifier_rs = $self->_result->managedby;
114 return unless $last_modifier_rs;
115 return Koha::Patron->_new_from_dbic($last_modifier_rs);
120 my $fund = $suggestion->fund;
122 Return the fund associated to the suggestion
128 my $fund_rs = $self->_result->budgetid;
129 return unless $fund_rs;
130 return Koha::Acquisition::Fund->_new_from_dbic($fund_rs);
141 =head3 to_api_mapping
143 This method returns the mapping for representing a Koha::Patron object
150 suggestionid => 'suggestion_id',
151 suggestedby => 'suggested_by',
152 suggesteddate => 'suggestion_date',
153 managedby => 'managed_by',
154 manageddate => 'managed_date',
155 acceptedby => 'accepted_by',
156 accepteddate => 'accepted_date',
157 rejectedby => 'rejected_by',
158 rejecteddate => 'rejected_date',
159 lastmodificationdate => 'last_status_change_date',
160 lastmodificationby => 'last_status_change_by',
165 copyrightdate => 'copyright_date',
166 publishercode => 'publisher_code',
168 volumedesc => 'volume_desc',
169 publicationyear => 'publication_year',
170 place => 'publication_place',
172 biblionumber => 'biblio_id',
174 patronreason => 'patron_reason',
175 budgetid => 'budget_id',
176 branchcode => 'library_id',
177 collectiontitle => 'collection_title',
178 itemtype => 'item_type',
179 quantity => 'quantity',
180 currency => 'currency',
181 price => 'item_price',
182 total => 'total_price',
183 archived => 'archived',
189 Kyle M Hall <kyle@bywatersolutions.com>