From 3ccb1674839d77db2358bc4042faa18429d80477 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 17 Dec 2014 10:43:34 +0100 Subject: [PATCH] Bug 13465: Fix silly regex on generating default values hash This is introduced by Bug 12874. Without this patch, it's not possible to clear (set to an empty string) an item field. This appended for field linked to an AV list but even if it's not. The regex tried to prefix 'my_field' with 'items.' to have 'items.my_field'. It wanted to take care of the case where the prefix already exists (Actually only 1: 'items.cn_source'). The regex is changed to: "add the prefix only if the string does not contain a dot". Test plan: - edit an item, set a status that is controlled by an authorized value examples tested: damaged, not for loan - check the status saved correctly - edit the item again, reset the status to empty - check the status saved correctly --- C4/Items.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Items.pm b/C4/Items.pm index e63ef1b..77dda74 100644 --- a/C4/Items.pm +++ b/C4/Items.pm @@ -482,7 +482,7 @@ sub _build_default_values_for_mod_marc { withdrawn => 0, }; while ( my ( $field, $default_value ) = each %$default_values ) { - $field =~ s|[^\.]*\.?(.*)|items.$1|; + $field =~ s|^([^\.]+)$|items.$1|; $default_values_for_mod_from_marc{$frameworkcode}{$field} = $default_value if C4::Koha::IsKohaFieldLinked( -- 2.1.0