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
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
119 data_type: 'datetime'
120 datetime_undef_if_invalid: 1
131 data_type: 'datetime'
132 datetime_undef_if_invalid: 1
143 data_type: 'datetime'
144 datetime_undef_if_invalid: 1
147 =head2 itemcallnumber
153 =head2 coded_location_qualifier
161 data_type: 'smallint'
167 data_type: 'smallint'
172 data_type: 'smallint'
182 data_type: 'longtext'
185 =head2 itemnotes_nonpublic
187 data_type: 'longtext'
199 data_type: 'longtext'
204 data_type: 'timestamp'
205 datetime_undef_if_invalid: 1
206 default_value: current_timestamp
215 =head2 permanent_location
224 datetime_undef_if_invalid: 1
247 data_type: 'mediumtext'
252 data_type: 'mediumtext'
261 =head2 more_subfields_xml
263 data_type: 'longtext'
268 data_type: 'mediumtext'
291 __PACKAGE__
->add_columns(
293 { data_type
=> "integer", is_auto_increment
=> 1, is_nullable
=> 0 },
296 data_type
=> "integer",
303 data_type
=> "integer",
309 { data_type
=> "varchar", is_nullable
=> 1, size
=> 20 },
311 { data_type
=> "date", datetime_undef_if_invalid
=> 1, is_nullable
=> 1 },
313 { data_type
=> "longtext", is_nullable
=> 1 },
315 { data_type
=> "varchar", is_foreign_key
=> 1, is_nullable
=> 1, size
=> 10 },
317 { data_type
=> "decimal", is_nullable
=> 1, size
=> [8, 2] },
319 { data_type
=> "decimal", is_nullable
=> 1, size
=> [8, 2] },
320 "replacementpricedate",
321 { data_type
=> "date", datetime_undef_if_invalid
=> 1, is_nullable
=> 1 },
323 { data_type
=> "date", datetime_undef_if_invalid
=> 1, is_nullable
=> 1 },
325 { data_type
=> "date", datetime_undef_if_invalid
=> 1, is_nullable
=> 1 },
327 { data_type
=> "tinyint", is_nullable
=> 1 },
329 { data_type
=> "tinyint", default_value
=> 0, is_nullable
=> 0 },
331 { data_type
=> "tinyint", default_value
=> 0, is_nullable
=> 0 },
334 data_type
=> "datetime",
335 datetime_undef_if_invalid
=> 1,
339 { data_type
=> "tinyint", default_value
=> 0, is_nullable
=> 0 },
342 data_type
=> "datetime",
343 datetime_undef_if_invalid
=> 1,
347 { data_type
=> "tinyint", default_value
=> 0, is_nullable
=> 0 },
350 data_type
=> "datetime",
351 datetime_undef_if_invalid
=> 1,
355 { data_type
=> "varchar", is_nullable
=> 1, size
=> 255 },
356 "coded_location_qualifier",
357 { data_type
=> "varchar", is_nullable
=> 1, size
=> 10 },
359 { data_type
=> "smallint", default_value
=> 0, is_nullable
=> 1 },
361 { data_type
=> "smallint", is_nullable
=> 1 },
363 { data_type
=> "smallint", is_nullable
=> 1 },
365 { data_type
=> "tinyint", is_nullable
=> 1 },
367 { data_type
=> "longtext", is_nullable
=> 1 },
368 "itemnotes_nonpublic",
369 { data_type
=> "longtext", is_nullable
=> 1 },
371 { data_type
=> "varchar", is_foreign_key
=> 1, is_nullable
=> 1, size
=> 10 },
373 { data_type
=> "longtext", is_nullable
=> 1 },
376 data_type
=> "timestamp",
377 datetime_undef_if_invalid
=> 1,
378 default_value
=> \"current_timestamp
",
382 { data_type => "varchar
", is_nullable => 1, size => 80 },
383 "permanent_location
",
384 { data_type => "varchar
", is_nullable => 1, size => 80 },
386 { data_type => "date
", datetime_undef_if_invalid => 1, is_nullable => 1 },
388 { data_type => "varchar
", is_nullable => 1, size => 10 },
390 { data_type => "varchar
", is_nullable => 1, size => 255 },
392 { data_type => "varchar
", is_nullable => 1, size => 80 },
394 { data_type => "mediumtext
", is_nullable => 1 },
396 { data_type => "mediumtext
", is_nullable => 1 },
398 { data_type => "varchar
", is_nullable => 1, size => 10 },
399 "more_subfields_xml
",
400 { data_type => "longtext
", is_nullable => 1 },
402 { data_type => "mediumtext
", is_nullable => 1 },
404 { data_type => "varchar
", is_nullable => 1, size => 32 },
406 { data_type => "varchar
", is_nullable => 1, size => 32 },
408 { data_type => "varchar
", is_nullable => 1, size => 32 },
415 =item * L</itemnumber>
421 __PACKAGE__->set_primary_key("itemnumber
");
423 =head1 UNIQUE CONSTRAINTS
425 =head2 C<itembarcodeidx>
435 __PACKAGE__->add_unique_constraint("itembarcodeidx
", ["barcode
"]);
443 Related object: L<Koha::Schema::Result::Accountline>
447 __PACKAGE__->has_many(
449 "Koha
::Schema
::Result
::Accountline
",
450 { "foreign
.itemnumber
" => "self
.itemnumber
" },
451 { cascade_copy => 0, cascade_delete => 0 },
454 =head2 article_requests
458 Related object: L<Koha::Schema::Result::ArticleRequest>
462 __PACKAGE__->has_many(
464 "Koha
::Schema
::Result
::ArticleRequest
",
465 { "foreign
.itemnumber
" => "self
.itemnumber
" },
466 { cascade_copy => 0, cascade_delete => 0 },
469 =head2 biblioitemnumber
473 Related object: L<Koha::Schema::Result::Biblioitem>
477 __PACKAGE__->belongs_to(
479 "Koha
::Schema
::Result
::Biblioitem
",
480 { biblioitemnumber => "biblioitemnumber
" },
481 { is_deferrable => 1, on_delete => "CASCADE
", on_update => "CASCADE
" },
488 Related object: L<Koha::Schema::Result::Biblio>
492 __PACKAGE__->belongs_to(
494 "Koha
::Schema
::Result
::Biblio
",
495 { biblionumber => "biblionumber
" },
496 { is_deferrable => 1, on_delete => "CASCADE
", on_update => "CASCADE
" },
499 =head2 branchtransfers
503 Related object: L<Koha::Schema::Result::Branchtransfer>
507 __PACKAGE__->has_many(
509 "Koha
::Schema
::Result
::Branchtransfer
",
510 { "foreign
.itemnumber
" => "self
.itemnumber
" },
511 { cascade_copy => 0, cascade_delete => 0 },
518 Related object: L<Koha::Schema::Result::CourseItem>
522 __PACKAGE__->might_have(
524 "Koha
::Schema
::Result
::CourseItem
",
525 { "foreign
.itemnumber
" => "self
.itemnumber
" },
526 { cascade_copy => 0, cascade_delete => 0 },
529 =head2 creator_batches
533 Related object: L<Koha::Schema::Result::CreatorBatch>
537 __PACKAGE__->has_many(
539 "Koha
::Schema
::Result
::CreatorBatch
",
540 { "foreign
.item_number
" => "self
.itemnumber
" },
541 { cascade_copy => 0, cascade_delete => 0 },
544 =head2 hold_fill_target
548 Related object: L<Koha::Schema::Result::HoldFillTarget>
552 __PACKAGE__->might_have(
554 "Koha
::Schema
::Result
::HoldFillTarget
",
555 { "foreign
.itemnumber
" => "self
.itemnumber
" },
556 { cascade_copy => 0, cascade_delete => 0 },
563 Related object: L<Koha::Schema::Result::Branch>
567 __PACKAGE__->belongs_to(
569 "Koha
::Schema
::Result
::Branch
",
570 { branchcode => "holdingbranch
" },
574 on_delete => "RESTRICT
",
575 on_update => "CASCADE
",
583 Related object: L<Koha::Schema::Result::Branch>
587 __PACKAGE__->belongs_to(
589 "Koha
::Schema
::Result
::Branch
",
590 { branchcode => "homebranch
" },
594 on_delete => "RESTRICT
",
595 on_update => "CASCADE
",
603 Related object: L<Koha::Schema::Result::Issue>
607 __PACKAGE__->might_have(
609 "Koha
::Schema
::Result
::Issue
",
610 { "foreign
.itemnumber
" => "self
.itemnumber
" },
611 { cascade_copy => 0, cascade_delete => 0 },
614 =head2 items_last_borrower
618 Related object: L<Koha::Schema::Result::ItemsLastBorrower>
622 __PACKAGE__->might_have(
623 "items_last_borrower
",
624 "Koha
::Schema
::Result
::ItemsLastBorrower
",
625 { "foreign
.itemnumber
" => "self
.itemnumber
" },
626 { cascade_copy => 0, cascade_delete => 0 },
633 Related object: L<Koha::Schema::Result::OldIssue>
637 __PACKAGE__->has_many(
639 "Koha
::Schema
::Result
::OldIssue
",
640 { "foreign
.itemnumber
" => "self
.itemnumber
" },
641 { cascade_copy => 0, cascade_delete => 0 },
648 Related object: L<Koha::Schema::Result::OldReserve>
652 __PACKAGE__->has_many(
654 "Koha
::Schema
::Result
::OldReserve
",
655 { "foreign
.itemnumber
" => "self
.itemnumber
" },
656 { cascade_copy => 0, cascade_delete => 0 },
663 Related object: L<Koha::Schema::Result::Reserve>
667 __PACKAGE__->has_many(
669 "Koha
::Schema
::Result
::Reserve
",
670 { "foreign
.itemnumber
" => "self
.itemnumber
" },
671 { cascade_copy => 0, cascade_delete => 0 },
678 Related object: L<Koha::Schema::Result::Serialitem>
682 __PACKAGE__->might_have(
684 "Koha
::Schema
::Result
::Serialitem
",
685 { "foreign
.itemnumber
" => "self
.itemnumber
" },
686 { cascade_copy => 0, cascade_delete => 0 },
689 =head2 stockrotationitem
693 Related object: L<Koha::Schema::Result::Stockrotationitem>
697 __PACKAGE__->might_have(
699 "Koha
::Schema
::Result
::Stockrotationitem
",
700 { "foreign
.itemnumber_id
" => "self
.itemnumber
" },
701 { cascade_copy => 0, cascade_delete => 0 },
704 =head2 tmp_holdsqueues
708 Related object: L<Koha::Schema::Result::TmpHoldsqueue>
712 __PACKAGE__->has_many(
714 "Koha
::Schema
::Result
::TmpHoldsqueue
",
715 { "foreign
.itemnumber
" => "self
.itemnumber
" },
716 { cascade_copy => 0, cascade_delete => 0 },
720 # Created by DBIx::Class::Schema::Loader v0.07046 @ 2020-07-22 19:19:25
721 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:gv53TABUmPU/oeRI88Eomg
723 __PACKAGE__->belongs_to( biblioitem => "Koha
::Schema
::Result
::Biblioitem
", "biblioitemnumber
" );
725 __PACKAGE__->belongs_to(
727 "Koha
::Schema
::Result
::Biblio
",
728 { biblionumber => "biblionumber
" },
729 { is_deferrable => 1, on_delete => "CASCADE
", on_update => "CASCADE
" },
733 sub effective_itemtype {
736 my $pref = C4::Context->preference('item-level_itypes');
737 if ( $pref && $self->itype() ) {
738 return $self->itype();
740 warn "item
-level_itypes set but
no itemtype set
for item
(".$self->itemnumber.")"
742 return $self->biblioitemnumber()->itemtype();