From c4110d67e748c73302b85fc3a8697265e832b334 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 20 Nov 2013 10:53:54 +0100 Subject: [PATCH] Bug 10855: FIX an add field should not be created if the marc field does not exist. This patch fixes the following: Create an add fields linked to a nonexistent marc field (does not exist in serials). Edit a subscription and save. Without this patch, an error occured: Software error: DBD::mysql::db do failed: Column 'value' cannot be null at /var/root-koha/bug-10855/Koha/AdditionalField.pm line 107. --- Koha/AdditionalField.pm | 1 + serials/subscription-add.pl | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Koha/AdditionalField.pm b/Koha/AdditionalField.pm index fe45b18..2f3f44b 100644 --- a/Koha/AdditionalField.pm +++ b/Koha/AdditionalField.pm @@ -97,6 +97,7 @@ sub insert_values { my $dbh = C4::Context->dbh; local $dbh->{RaiseError} = 1; while ( my ( $record_id, $value ) = each %{$self->{values}} ) { + next unless defined $value; my $updated = $dbh->do(q| UPDATE additional_field_values SET value = ? diff --git a/serials/subscription-add.pl b/serials/subscription-add.pl index 5b8e352..be583f9 100755 --- a/serials/subscription-add.pl +++ b/serials/subscription-add.pl @@ -355,7 +355,7 @@ sub redirect_add_subscription { my $af = Koha::AdditionalField->new({ id => $field->{id} }); $af->{values} = { $subscriptionid => $query->param('additional_fields_' . $field->{name}) - }; + } if defined $query->param('additional_fields_' . $field->{name}); $af->insert_values; } -- 1.7.10.4