Bug 14651: Koha::Item->effective_itemtype fallback to bib-level

In some situations (bad migrations, old bugs that introduced bad data,
people having bib-level itypes for ages and switching to item level...)
the user ends with undex itype values for items.

The current code, if the user has item_level-itype set, just returns
undef. It should fallback to bib-level. In order to avoid hiding the problem
a warning is raised.

To test:
- Run the regression tets:
  $ prove t/db_dependent/Items.t
=> FAIL: tests fail.
- Apply the patch
- Run the tests again
=> SUCCESS: The tests now pass.
- Sign off :-D

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
Tomas Cohen Arazi 2015-08-18 16:37:27 -03:00 committed by Tomas Cohen Arazi
parent efe3d17acc
commit cbdd49ed70

View file

@ -623,9 +623,11 @@ sub effective_itemtype {
my ( $self ) = @_;
my $pref = $self->result_source->schema->resultset('Systempreference')->find('item-level_itypes');
if ( $pref->value() ) {
if ( $pref->value() && $self->itype() ) {
return $self->itype();
} else {
warn "item-level_itypes set but no itemtype set for item ($self->itemnumber)"
if $pref->value();
return $self->biblioitemnumber()->itemtype();
}
}