Bug 33639: Make add item to item group work from additem.pl

To test:

1, Create one or more item groups for a bib if needed
2. Create a new item, and at the bottom of the 'Add item' screen, select the item group to which you want this item added. Save.
3. On the Normal tab, see that the item has not been added to the item group you selected.
4. APPLY PATCH, restart_all
5. Try 1-3 again but this time the item should succesffuly be added to the item group.
6. Add a new item and to the same record and this time try the 'Create a new item group' from the dropdown.
7. Name the new item group.
8. Make sure it is correctly added to the item group.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 5b14f8b11a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
Lucas Gass 2024-01-02 17:49:45 +00:00 committed by Fridolin Somers
parent c83d743193
commit 1448ac0c26

View file

@ -62,8 +62,8 @@ sub add_item_to_item_group {
if ( $item_group eq 'create' ) {
my $item_group = Koha::Biblio::ItemGroup->new(
{
biblionumber => $biblionumber,
description => $item_group_description,
biblio_id => $biblionumber,
description => $item_group_description,
}
)->store();
@ -75,8 +75,8 @@ sub add_item_to_item_group {
my $item_group_item = Koha::Biblio::ItemGroup::Item->new(
{
itemnumber => $itemnumber,
item_group_id => $item_group_id,
item_id => $itemnumber,
item_group_id => $item_group_id,
}
)->store();
}
@ -129,13 +129,13 @@ my $hostitemnumber = $input->param('hostitemnumber');
my $marcflavour = C4::Context->preference("marcflavour");
my $searchid = $input->param('searchid');
# fast cataloguing datas
my $fa_circborrowernumber = $input->param('circborrowernumber');
my $fa_barcode = $input->param('barcode');
my $fa_branch = $input->param('branch');
my $fa_stickyduedate = $input->param('stickyduedate');
my $fa_duedatespec = $input->param('duedatespec');
my $volume = $input->param('volume');
my $volume_description = $input->param('volume_description');
my $fa_circborrowernumber = $input->param('circborrowernumber');
my $fa_barcode = $input->param('barcode');
my $fa_branch = $input->param('branch');
my $fa_stickyduedate = $input->param('stickyduedate');
my $fa_duedatespec = $input->param('duedatespec');
my $item_group = $input->param('item_group');
my $item_group_description = $input->param('item_group_description');
our $frameworkcode = &GetFrameworkCode($biblionumber);
@ -330,9 +330,9 @@ if ($op eq "additem") {
$current_item = $item->unblessed; # Restore edit form for the same item
}
else {
unless ( @errors ) {
$item->store->discard_changes;
add_item_to_item_group( $item->biblionumber, $item->biblioitemnumber, $volume, $volume_description );
add_item_to_item_group( $item->biblionumber, $item->itemnumber, $item_group, $item_group_description );
# This is a bit tricky : if there is a cookie for the last created item and
# we just added an item, the cookie value is not correct yet (it will be updated
@ -443,7 +443,10 @@ if ($op eq "additem") {
{ skip_record_index => 1 } );
$current_item->discard_changes; # Cannot chain discard_changes
$current_item = $current_item->unblessed;
add_item_to_item_group( $item->biblionumber, $item->biblioitemnumber, $volume, $volume_description );
add_item_to_item_group(
$item->biblionumber, $item->biblioitemnumber, $item_group,
$item_group_description
);
# We count the item only if it was really added
# That way, all items are added, even if there was some already existing barcodes