Bug 13713: Follow-up removing biblioitem routines
authorMarcel de Rooy <m.de.rooy@rijksmuseum.nl>
Thu, 28 Aug 2014 09:58:10 +0000 (11:58 +0200)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Thu, 19 Mar 2015 17:06:01 +0000 (14:06 -0300)
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>
Koha/Schema/Result/Biblio.pm
Koha/Schema/Result/Item.pm
t/db_dependent/Items.t

index b61086e..9fd413b 100644 (file)
@@ -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;
index c199685..f883659 100644 (file)
@@ -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();
     }
 }
 
index 4f9ee41..b41b483 100755 (executable)
@@ -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' );