Browse Source

Bug 13713: Follow-up removing biblioitem routines

There is no need to define biblioitem routines, if we can access them
via biblioitemnumber.
Note that we actually need a FK for biblio in the items table. Now we do
need the intermediate level via biblioitems in the Items.t code. Even better,
we should move biblioitem to biblio. Formally it is 1-n, but in reality it
is 1-1.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
3.20.x
Marcel de Rooy 8 years ago
committed by Tomas Cohen Arazi
parent
commit
1d0143641f
  1. 6
      Koha/Schema/Result/Biblio.pm
  2. 8
      Koha/Schema/Result/Item.pm
  3. 3
      t/db_dependent/Items.t

6
Koha/Schema/Result/Biblio.pm

@ -331,10 +331,4 @@ __PACKAGE__->many_to_many("sets", "oai_sets_biblios", "set");
# Created by DBIx::Class::Schema::Loader v0.07025 @ 2013-10-14 20:56:21
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:0//8OGf7OteNnwT03g4QsA
sub biblioitem {
my ( $self ) = @_;
my @biblioitems = $self->biblioitems;
return $biblioitems[0];
}
1;

8
Koha/Schema/Result/Item.pm

@ -612,12 +612,6 @@ __PACKAGE__->might_have(
# Created by DBIx::Class::Schema::Loader v0.07039 @ 2014-10-24 09:58:16
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:2slVK/FjcRDiYLeufoOFQQ
sub biblioitem {
my ( $self ) = @_;
my @biblioitems = $self->biblioitemnumber;
return $biblioitems[0];
}
sub effective_itemtype {
my ( $self ) = @_;
@ -625,7 +619,7 @@ sub effective_itemtype {
if ( $pref->value() ) {
return $self->itype();
} else {
return $self->biblioitem()->itemtype();
return $self->biblioitemnumber()->itemtype();
}
}

3
t/db_dependent/Items.t

@ -215,7 +215,8 @@ subtest q{Test Koha::Database->schema()->resultset('Item')->itemtype()} => sub {
}
);
my ( $item ) = $biblio->biblioitem->items();
my @bi = $biblio->biblioitems();
my ( $item ) = $bi[0]->items();
C4::Context->set_preference( 'item-level_itypes', 0 );
ok( $item->effective_itemtype() eq 'BIB_LEVEL', '$item->itemtype() returns biblioitem.itemtype when item-level_itypes is disabled' );

Loading…
Cancel
Save