@@ -, +, @@ --- C4/Items.pm | 1 - Koha/Item.pm | 12 +++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) --- a/C4/Items.pm +++ a/C4/Items.pm @@ -202,7 +202,6 @@ sub AddItem { $unlinked_item_subfields = shift; } - _set_derived_columns_for_add($item); $item->{'more_subfields_xml'} = _get_unlinked_subfields_xml($unlinked_item_subfields); my ( $itemnumber, $error ) = _koha_new_item( $item, $item->{barcode} ); --- a/Koha/Item.pm +++ a/Koha/Item.pm @@ -28,6 +28,8 @@ use Koha::DateUtils qw( dt_from_string ); use C4::Context; use C4::Circulation; use C4::Reserves; +use C4::ClassSource; # FIXME We would like to avoid that + use Koha::Checkouts; use Koha::CirculationRules; use Koha::Item::Transfer::Limits; @@ -67,8 +69,8 @@ sub store { $self->itype($self->biblio->biblioitem->itemtype); } + my $today = dt_from_string; unless ( $self->in_storage ) { #AddItem - my $today = dt_from_string; unless ( $self->permanent_location ) { $self->permanent_location($self->location); } @@ -79,6 +81,14 @@ sub store { $self->datelastseen($today); } + unless ( $self->dateaccessioned ) { + $self->dateaccessioned($today); + } + + if ( $self->itemcallnumber ) { # This could be improved, we should recalculate it only if changed + my $cn_sort = GetClassSort($self->cn_source, $self->itemcallnumber, ""); + $self->cn_sort($cn_sort); + } } unless ( $self->dateaccessioned ) { --