Bug 24584: Rewrite optional/parameters to YAML
[koha.git] / Koha / Club / Enrollment.pm
blob143a1e95ec9d9b40539c2d177986367d9bd28f8d
1 package Koha::Club::Enrollment;
3 # Copyright ByWater Solutions 2014
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>.
20 use Modern::Perl;
22 use Carp;
24 use Koha::Database;
25 use Koha::Clubs;
26 use Koha::Patrons;
27 use Koha::DateUtils qw(dt_from_string);
28 use DateTime;
30 use base qw(Koha::Object);
32 =head1 NAME
34 Koha::Club::Enrollment
36 Represents a "pattern" on which many clubs can be created.
37 In this way we can directly compare different clubs of the same 'template'
38 for statistical purposes.
40 =head1 API
42 =head2 Class Methods
44 =cut
46 =head3 cancel
48 =cut
50 sub cancel {
51 my ( $self ) = @_;
53 $self->_result()->update( { date_canceled => \'NOW()' } );
55 return $self;
58 =head3 club
60 =cut
62 sub club {
63 my ( $self ) = @_;
64 return Koha::Clubs->find( $self->club_id() );
67 =head3 patron
69 =cut
71 sub patron {
72 my ( $self ) = @_;
73 return Koha::Patrons->find( $self->borrowernumber() );
76 =head3 is_canceled
78 Determines if enrollment is canceled
80 =cut
82 sub is_canceled {
83 my ( $self ) = @_;
85 return 0 unless $self->date_canceled;
86 my $today = dt_from_string;
87 my $date_canceled = dt_from_string( $self->date_canceled );
89 return DateTime->compare($date_canceled, $today) < 1;
92 =head3 type
94 =cut
96 sub _type {
97 return 'ClubEnrollment';
100 =head1 AUTHOR
102 Kyle M Hall <kyle@bywatersolutions.com>
104 =cut