Bug 22878: Do not pass layout_id on creating a layout
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 10 May 2019 17:27:40 +0000 (12:27 -0500)
committerLiz Rea <liz@bywatersolutions.com>
Tue, 18 Jun 2019 15:14:49 +0000 (15:14 +0000)
Attempting to create a patron card layout with mysql strict mode on gives the following error:
  DBD::mysql::st execute failed: Incorrect integer value: '' for column 'layout_id' at row 1

Test plan:
- Turn on sql_strict_modes
- Create a new patron card
=> Must success with this patch applied

Signed-off-by: Liz Rea <wizzyrea@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 8d53fae9494b50c0cf2dcc98b18982b0d8fc416f)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Liz Rea <liz@bywatersolutions.com>

C4/Creators/Layout.pm

index f1dc20e..2a689e0 100644 (file)
@@ -165,6 +165,7 @@ sub save {
     }
     else {                      # otherwise create a new record
         my @params;
+        delete $self->{layout_id}; # Could be an empty string
         my $query = "INSERT INTO creator_layouts (";
         foreach my $key (keys %{$self}) {
             push (@params, $self->{$key});