959f8a3956ad3a1d0eac54366452b3ae3136e4b1
[koha.git] / Koha / Schema / Result / Itemtype.pm
1 use utf8;
2 package Koha::Schema::Result::Itemtype;
3
4 # Created by DBIx::Class::Schema::Loader
5 # DO NOT MODIFY THE FIRST PART OF THIS FILE
6
7 =head1 NAME
8
9 Koha::Schema::Result::Itemtype
10
11 =cut
12
13 use strict;
14 use warnings;
15
16 use base 'DBIx::Class::Core';
17
18 =head1 TABLE: C<itemtypes>
19
20 =cut
21
22 __PACKAGE__->table("itemtypes");
23
24 =head1 ACCESSORS
25
26 =head2 itemtype
27
28   data_type: 'varchar'
29   default_value: (empty string)
30   is_nullable: 0
31   size: 10
32
33 =head2 description
34
35   data_type: 'mediumtext'
36   is_nullable: 1
37
38 =head2 rentalcharge
39
40   data_type: 'double precision'
41   is_nullable: 1
42   size: [16,4]
43
44 =head2 notforloan
45
46   data_type: 'smallint'
47   is_nullable: 1
48
49 =head2 imageurl
50
51   data_type: 'varchar'
52   is_nullable: 1
53   size: 200
54
55 =head2 summary
56
57   data_type: 'text'
58   is_nullable: 1
59
60 =head2 checkinmsg
61
62   data_type: 'varchar'
63   is_nullable: 1
64   size: 255
65
66 =head2 checkinmsgtype
67
68   data_type: 'char'
69   default_value: 'message'
70   is_nullable: 0
71   size: 16
72
73 =head2 sip_media_type
74
75   data_type: 'varchar'
76   is_nullable: 1
77   size: 3
78
79 =head2 hideinopac
80
81   data_type: 'tinyint'
82   default_value: 0
83   is_nullable: 0
84
85 =head2 searchcategory
86
87   data_type: 'varchar'
88   is_nullable: 1
89   size: 80
90
91 =cut
92
93 __PACKAGE__->add_columns(
94   "itemtype",
95   { data_type => "varchar", default_value => "", is_nullable => 0, size => 10 },
96   "description",
97   { data_type => "mediumtext", is_nullable => 1 },
98   "rentalcharge",
99   { data_type => "double precision", is_nullable => 1, size => [16, 4] },
100   "notforloan",
101   { data_type => "smallint", is_nullable => 1 },
102   "imageurl",
103   { data_type => "varchar", is_nullable => 1, size => 200 },
104   "summary",
105   { data_type => "text", is_nullable => 1 },
106   "checkinmsg",
107   { data_type => "varchar", is_nullable => 1, size => 255 },
108   "checkinmsgtype",
109   {
110     data_type => "char",
111     default_value => "message",
112     is_nullable => 0,
113     size => 16,
114   },
115   "sip_media_type",
116   { data_type => "varchar", is_nullable => 1, size => 3 },
117   "hideinopac",
118   { data_type => "tinyint", default_value => 0, is_nullable => 0 },
119   "searchcategory",
120   { data_type => "varchar", is_nullable => 1, size => 80 },
121 );
122
123 =head1 PRIMARY KEY
124
125 =over 4
126
127 =item * L</itemtype>
128
129 =back
130
131 =cut
132
133 __PACKAGE__->set_primary_key("itemtype");
134
135 =head1 RELATIONS
136
137 =head2 branch_item_rules
138
139 Type: has_many
140
141 Related object: L<Koha::Schema::Result::BranchItemRule>
142
143 =cut
144
145 __PACKAGE__->has_many(
146   "branch_item_rules",
147   "Koha::Schema::Result::BranchItemRule",
148   { "foreign.itemtype" => "self.itemtype" },
149   { cascade_copy => 0, cascade_delete => 0 },
150 );
151
152 =head2 default_branch_item_rule
153
154 Type: might_have
155
156 Related object: L<Koha::Schema::Result::DefaultBranchItemRule>
157
158 =cut
159
160 __PACKAGE__->might_have(
161   "default_branch_item_rule",
162   "Koha::Schema::Result::DefaultBranchItemRule",
163   { "foreign.itemtype" => "self.itemtype" },
164   { cascade_copy => 0, cascade_delete => 0 },
165 );
166
167 =head2 old_reserves
168
169 Type: has_many
170
171 Related object: L<Koha::Schema::Result::OldReserve>
172
173 =cut
174
175 __PACKAGE__->has_many(
176   "old_reserves",
177   "Koha::Schema::Result::OldReserve",
178   { "foreign.itemtype" => "self.itemtype" },
179   { cascade_copy => 0, cascade_delete => 0 },
180 );
181
182 =head2 reserves
183
184 Type: has_many
185
186 Related object: L<Koha::Schema::Result::Reserve>
187
188 =cut
189
190 __PACKAGE__->has_many(
191   "reserves",
192   "Koha::Schema::Result::Reserve",
193   { "foreign.itemtype" => "self.itemtype" },
194   { cascade_copy => 0, cascade_delete => 0 },
195 );
196
197
198 # Created by DBIx::Class::Schema::Loader v0.07042 @ 2016-04-29 10:32:00
199 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:1GiikODklVISOurHX37qjA
200
201 # Use the ItemtypeLocalization view to create the join on localization
202 our $LANGUAGE;
203 __PACKAGE__->has_many(
204   "localization" => "Koha::Schema::Result::ItemtypeLocalization",
205     sub {
206         my $args = shift;
207
208         die "no lang specified!" unless $LANGUAGE;
209
210         return ({
211             "$args->{self_alias}.itemtype" => { -ident => "$args->{foreign_alias}.code" },
212             "$args->{foreign_alias}.lang" => $LANGUAGE,
213         });
214
215     }
216 );
217
218 1;