2 package Koha::Schema::Result::Item;
4 # Created by DBIx::Class::Schema::Loader
5 # DO NOT MODIFY THE FIRST PART OF THIS FILE
9 Koha::Schema::Result::Item
16 use base 'DBIx::Class::Core';
18 =head1 TABLE: C<items>
22 __PACKAGE__->table("items");
39 =head2 biblioitemnumber
52 =head2 dateaccessioned
55 datetime_undef_if_invalid: 1
60 data_type: 'mediumtext'
76 =head2 replacementprice
82 =head2 replacementpricedate
85 datetime_undef_if_invalid: 1
88 =head2 datelastborrowed
91 datetime_undef_if_invalid: 1
97 datetime_undef_if_invalid: 1
125 data_type: 'datetime'
126 datetime_undef_if_invalid: 1
137 data_type: 'datetime'
138 datetime_undef_if_invalid: 1
141 =head2 itemcallnumber
147 =head2 coded_location_qualifier
155 data_type: 'smallint'
160 data_type: 'smallint'
165 data_type: 'smallint'
175 data_type: 'mediumtext'
178 =head2 itemnotes_nonpublic
180 data_type: 'mediumtext'
192 data_type: 'mediumtext'
197 data_type: 'timestamp'
198 datetime_undef_if_invalid: 1
199 default_value: current_timestamp
208 =head2 permanent_location
217 datetime_undef_if_invalid: 1
255 =head2 more_subfields_xml
257 data_type: 'longtext'
285 __PACKAGE__->add_columns(
287 { data_type => "integer", is_auto_increment => 1, is_nullable => 0 },
290 data_type => "integer",
297 data_type => "integer",
303 { data_type => "varchar", is_nullable => 1, size => 20 },
305 { data_type => "date", datetime_undef_if_invalid => 1, is_nullable => 1 },
307 { data_type => "mediumtext", is_nullable => 1 },
309 { data_type => "varchar", is_foreign_key => 1, is_nullable => 1, size => 10 },
311 { data_type => "decimal", is_nullable => 1, size => [8, 2] },
313 { data_type => "decimal", is_nullable => 1, size => [8, 2] },
314 "replacementpricedate",
315 { data_type => "date", datetime_undef_if_invalid => 1, is_nullable => 1 },
317 { data_type => "date", datetime_undef_if_invalid => 1, is_nullable => 1 },
319 { data_type => "date", datetime_undef_if_invalid => 1, is_nullable => 1 },
321 { data_type => "tinyint", is_nullable => 1 },
323 { data_type => "tinyint", default_value => 0, is_nullable => 0 },
325 { data_type => "tinyint", default_value => 0, is_nullable => 0 },
327 { data_type => "tinyint", default_value => 0, is_nullable => 0 },
330 data_type => "datetime",
331 datetime_undef_if_invalid => 1,
335 { data_type => "tinyint", default_value => 0, is_nullable => 0 },
338 data_type => "datetime",
339 datetime_undef_if_invalid => 1,
343 { data_type => "varchar", is_nullable => 1, size => 255 },
344 "coded_location_qualifier",
345 { data_type => "varchar", is_nullable => 1, size => 10 },
347 { data_type => "smallint", is_nullable => 1 },
349 { data_type => "smallint", is_nullable => 1 },
351 { data_type => "smallint", is_nullable => 1 },
353 { data_type => "tinyint", is_nullable => 1 },
355 { data_type => "mediumtext", is_nullable => 1 },
356 "itemnotes_nonpublic",
357 { data_type => "mediumtext", is_nullable => 1 },
359 { data_type => "varchar", is_foreign_key => 1, is_nullable => 1, size => 10 },
361 { data_type => "mediumtext", is_nullable => 1 },
364 data_type => "timestamp",
365 datetime_undef_if_invalid => 1,
366 default_value => \"current_timestamp",
370 { data_type => "varchar", is_nullable => 1, size => 80 },
371 "permanent_location",
372 { data_type => "varchar", is_nullable => 1, size => 80 },
374 { data_type => "date", datetime_undef_if_invalid => 1, is_nullable => 1 },
376 { data_type => "varchar", is_nullable => 1, size => 10 },
378 { data_type => "varchar", is_nullable => 1, size => 255 },
380 { data_type => "varchar", is_nullable => 1, size => 10 },
382 { data_type => "text", is_nullable => 1 },
384 { data_type => "varchar", is_nullable => 1, size => 255 },
386 { data_type => "varchar", is_nullable => 1, size => 10 },
387 "more_subfields_xml",
388 { data_type => "longtext", is_nullable => 1 },
390 { data_type => "text", is_nullable => 1 },
392 { data_type => "varchar", is_nullable => 1, size => 32 },
394 { data_type => "varchar", is_nullable => 1, size => 32 },
396 { data_type => "varchar", is_nullable => 1, size => 32 },
403 =item * L</itemnumber>
409 __PACKAGE__->set_primary_key("itemnumber");
411 =head1 UNIQUE CONSTRAINTS
413 =head2 C<itembarcodeidx>
423 __PACKAGE__->add_unique_constraint("itembarcodeidx", ["barcode"]);
431 Related object: L<Koha::Schema::Result::Accountline>
435 __PACKAGE__->has_many(
437 "Koha::Schema::Result::Accountline",
438 { "foreign.itemnumber" => "self.itemnumber" },
439 { cascade_copy => 0, cascade_delete => 0 },
442 =head2 article_requests
446 Related object: L<Koha::Schema::Result::ArticleRequest>
450 __PACKAGE__->has_many(
452 "Koha::Schema::Result::ArticleRequest",
453 { "foreign.itemnumber" => "self.itemnumber" },
454 { cascade_copy => 0, cascade_delete => 0 },
457 =head2 biblioitemnumber
461 Related object: L<Koha::Schema::Result::Biblioitem>
465 __PACKAGE__->belongs_to(
467 "Koha::Schema::Result::Biblioitem",
468 { biblioitemnumber => "biblioitemnumber" },
469 { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" },
476 Related object: L<Koha::Schema::Result::Biblio>
480 __PACKAGE__->belongs_to(
482 "Koha::Schema::Result::Biblio",
483 { biblionumber => "biblionumber" },
484 { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" },
487 =head2 branchtransfers
491 Related object: L<Koha::Schema::Result::Branchtransfer>
495 __PACKAGE__->has_many(
497 "Koha::Schema::Result::Branchtransfer",
498 { "foreign.itemnumber" => "self.itemnumber" },
499 { cascade_copy => 0, cascade_delete => 0 },
506 Related object: L<Koha::Schema::Result::CourseItem>
510 __PACKAGE__->might_have(
512 "Koha::Schema::Result::CourseItem",
513 { "foreign.itemnumber" => "self.itemnumber" },
514 { cascade_copy => 0, cascade_delete => 0 },
517 =head2 creator_batches
521 Related object: L<Koha::Schema::Result::CreatorBatch>
525 __PACKAGE__->has_many(
527 "Koha::Schema::Result::CreatorBatch",
528 { "foreign.item_number" => "self.itemnumber" },
529 { cascade_copy => 0, cascade_delete => 0 },
532 =head2 hold_fill_target
536 Related object: L<Koha::Schema::Result::HoldFillTarget>
540 __PACKAGE__->might_have(
542 "Koha::Schema::Result::HoldFillTarget",
543 { "foreign.itemnumber" => "self.itemnumber" },
544 { cascade_copy => 0, cascade_delete => 0 },
551 Related object: L<Koha::Schema::Result::Branch>
555 __PACKAGE__->belongs_to(
557 "Koha::Schema::Result::Branch",
558 { branchcode => "holdingbranch" },
562 on_delete => "RESTRICT",
563 on_update => "CASCADE",
571 Related object: L<Koha::Schema::Result::Branch>
575 __PACKAGE__->belongs_to(
577 "Koha::Schema::Result::Branch",
578 { branchcode => "homebranch" },
582 on_delete => "RESTRICT",
583 on_update => "CASCADE",
591 Related object: L<Koha::Schema::Result::Issue>
595 __PACKAGE__->might_have(
597 "Koha::Schema::Result::Issue",
598 { "foreign.itemnumber" => "self.itemnumber" },
599 { cascade_copy => 0, cascade_delete => 0 },
602 =head2 items_last_borrower
606 Related object: L<Koha::Schema::Result::ItemsLastBorrower>
610 __PACKAGE__->might_have(
611 "items_last_borrower",
612 "Koha::Schema::Result::ItemsLastBorrower",
613 { "foreign.itemnumber" => "self.itemnumber" },
614 { cascade_copy => 0, cascade_delete => 0 },
621 Related object: L<Koha::Schema::Result::OldIssue>
625 __PACKAGE__->has_many(
627 "Koha::Schema::Result::OldIssue",
628 { "foreign.itemnumber" => "self.itemnumber" },
629 { cascade_copy => 0, cascade_delete => 0 },
636 Related object: L<Koha::Schema::Result::OldReserve>
640 __PACKAGE__->has_many(
642 "Koha::Schema::Result::OldReserve",
643 { "foreign.itemnumber" => "self.itemnumber" },
644 { cascade_copy => 0, cascade_delete => 0 },
651 Related object: L<Koha::Schema::Result::Reserve>
655 __PACKAGE__->has_many(
657 "Koha::Schema::Result::Reserve",
658 { "foreign.itemnumber" => "self.itemnumber" },
659 { cascade_copy => 0, cascade_delete => 0 },
666 Related object: L<Koha::Schema::Result::Serialitem>
670 __PACKAGE__->might_have(
672 "Koha::Schema::Result::Serialitem",
673 { "foreign.itemnumber" => "self.itemnumber" },
674 { cascade_copy => 0, cascade_delete => 0 },
678 # Created by DBIx::Class::Schema::Loader v0.07042 @ 2016-10-24 13:56:21
679 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Vf1sBZrpUo0Cvi896fjNuA
681 __PACKAGE__->belongs_to( biblioitem => "Koha::Schema::Result::Biblioitem", "biblioitemnumber" );
683 __PACKAGE__->belongs_to(
685 "Koha::Schema::Result::Biblio",
686 { biblionumber => "biblionumber" },
687 { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" },
691 sub effective_itemtype {
694 my $pref = C4::Context->preference('item-level_itypes');
695 if ( $pref && $self->itype() ) {
696 return $self->itype();
698 warn "item-level_itypes set but no itemtype set for item (".$self->itemnumber.")"
700 return $self->biblioitemnumber()->itemtype();