{ 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();
}
}
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