Bug 11998: Use C4::Context->preference in Koha/Schema/Result/Item.pm
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 4 Mar 2016 13:21:39 +0000 (13:21 +0000)
committerBrendan Gallagher <brendan@bywatersolutions.com>
Tue, 15 Mar 2016 07:08:28 +0000 (07:08 +0000)
Otherwise some tests won't pass

Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
Signed-off-by: Jacek Ablewicz <abl@biblos.pk.edu.pl>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Koha/Schema/Result/Item.pm
t/db_dependent/Items.t

index c3c4b33..36e1e91 100644 (file)
@@ -652,15 +652,16 @@ __PACKAGE__->belongs_to(
   { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" },
 );
 
+use C4::Context;
 sub effective_itemtype {
     my ( $self ) = @_;
 
-    my $pref = $self->result_source->schema->resultset('Systempreference')->find('item-level_itypes');
-    if ( $pref->value() && $self->itype() ) {
+    my $pref = C4::Context->preference('item-level_itypes');
+    if ( $pref && $self->itype() ) {
         return $self->itype();
     } else {
         warn "item-level_itypes set but no itemtype set for item ($self->itemnumber)"
-          if $pref->value();
+          if $pref;
         return $self->biblioitemnumber()->itemtype();
     }
 }
index 5f8dac3..5df6eb5 100755 (executable)
@@ -245,10 +245,10 @@ subtest q{Test Koha::Database->schema()->resultset('Item')->itemtype()} => sub {
     my ( $item ) = $bi[0]->items();
 
     t::lib::Mocks::mock_preference( 'item-level_itypes', 0 );
-    ok( $item->effective_itemtype() eq 'BIB_LEVEL', '$item->itemtype() returns biblioitem.itemtype when item-level_itypes is disabled' );
+    is( $item->effective_itemtype(), 'BIB_LEVEL', '$item->itemtype() returns biblioitem.itemtype when item-level_itypes is disabled' );
 
     t::lib::Mocks::mock_preference( 'item-level_itypes', 1 );
-    ok( $item->effective_itemtype() eq 'ITEM_LEVEL', '$item->itemtype() returns items.itype when item-level_itypes is enabled' );
+    is( $item->effective_itemtype(), 'ITEM_LEVEL', '$item->itemtype() returns items.itype when item-level_itypes is enabled' );
 
     # If itemtype is not defined and item-level_level item types are set
     # fallback to biblio-level itemtype (Bug 14651) and warn