View | Details | Raw Unified | Return to bug 14616
Collapse All | Expand All

(-)a/Koha/Serial/Serial.pm (+68 lines)
Line 0 Link Here
1
package Koha::Serial::Serial;
2
3
# Copyright KohaSuomi 2015
4
#
5
# This file is part of Koha.
6
#
7
# Koha is free software; you can redistribute it and/or modify it under the
8
# terms of the GNU General Public License as published by the Free Software
9
# Foundation; either version 3 of the License, or (at your option) any later
10
# version.
11
#
12
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14
# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
15
#
16
# You should have received a copy of the GNU General Public License along
17
# with Koha; if not, write to the Free Software Foundation, Inc.,
18
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
20
use Modern::Perl;
21
22
use Carp;
23
24
use Koha::Database;
25
26
use base qw(Koha::Object);
27
28
sub type {
29
    return 'Serial';
30
}
31
32
sub item {
33
    my ($self, $item) = @_;
34
35
    if ($item) {
36
        $item = Koha::Items->cast($item);
37
        $self->{item} = $item;
38
        $self->set({item => $item->_result()->id});
39
        $self->store();
40
    }
41
42
    unless ($self->{item}) {
43
        my $item = $self->_result()->serialitems()->itemnumber(); #itemnumber actually returns the Item-resultset :)
44
        $self->{item} = Koha::Items->cast($item);
45
    }
46
47
    return $self->{item};
48
}
49
50
sub subscription {
51
    my ($self, $subscription) = @_;
52
53
    if ($subscription) {
54
        $subscription = Koha::Serial::Subscriptions->cast($subscription);
55
        $self->{subscription} = $subscription;
56
        $self->set({subscription => $subscription->_result()->id});
57
        $self->store();
58
    }
59
60
    unless ($self->{subscription}) {
61
        my $subscription = $self->_result()->subscription();
62
        $self->{subscription} = Koha::Serial::Subscriptions->cast($subscription);
63
    }
64
65
    return $self->{subscription};
66
}
67
68
1;
(-)a/Koha/Serial/SerialItem.pm (+62 lines)
Line 0 Link Here
1
package Koha::Serial::SerialItem;
2
3
# Copyright KohaSuomi 2015
4
#
5
# This file is part of Koha.
6
#
7
# Koha is free software; you can redistribute it and/or modify it under the
8
# terms of the GNU General Public License as published by the Free Software
9
# Foundation; either version 3 of the License, or (at your option) any later
10
# version.
11
#
12
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14
# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
15
#
16
# You should have received a copy of the GNU General Public License along
17
# with Koha; if not, write to the Free Software Foundation, Inc.,
18
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
20
use Modern::Perl;
21
use Carp;
22
23
use Koha::Database;
24
use Koha::Items;
25
use Koha::Serial::Serials;
26
27
use Koha::Exception::BadParameter;
28
29
=head SerialItem
30
31
=head SYNOPSIS
32
33
This class deals with displaying Serials, whether or not they have Items or not.
34
35
=cut
36
37
sub new {
38
    my ($class, $serial, $item) = @_;
39
40
    my $self = {};
41
    bless($self, $class);
42
43
    Koha::Exception::BadParameter->throw(error => __PACKAGE__."->new():> You must give a Serial-object as a parameter!")
44
                    unless $serial;
45
    $self->{serial} = Koha::Serial::Serials->cast($serial) if $serial;
46
    $item = $serial->_result->serialitems->itemnumber unless $item;
47
    $self->{item}   = Koha::Items->cast($item) if $item;
48
49
    return $self;
50
}
51
52
#sub getItem {
53
#    my ($self) = @_;
54
#    return $self->{item};
55
#}
56
57
#sub getSerial {
58
#    my ($self) = @_;
59
#    return $self->{serial};
60
#}
61
62
1;
(-)a/Koha/Serial/Serials.pm (-1 / +40 lines)
Line 0 Link Here
0
- 
1
package Koha::Serial::Serials;
2
3
# Copyright KohaSuomi 2015
4
#
5
# This file is part of Koha.
6
#
7
# Koha is free software; you can redistribute it and/or modify it under the
8
# terms of the GNU General Public License as published by the Free Software
9
# Foundation; either version 3 of the License, or (at your option) any later
10
# version.
11
#
12
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14
# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
15
#
16
# You should have received a copy of the GNU General Public License along
17
# with Koha; if not, write to the Free Software Foundation, Inc.,
18
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
20
use Modern::Perl;
21
22
use Carp;
23
24
use Koha::Serial::Serial;
25
26
use base qw(Koha::Objects);
27
28
sub type {
29
    return 'Serial';
30
}
31
32
sub object_class {
33
    return 'Koha::Serial::Serial';
34
}
35
36
sub _get_castable_unique_columns {
37
    return ['serialid'];
38
}
39
40
1;

Return to bug 14616