From 26bcd89fdd3341b7905cf5b0a5f042a51cae5255 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 14 May 2019 12:06:24 -0500 Subject: [PATCH] Bug 22907: Fix new suggestion with strict sql modes With sql_strict_modes turned on, if you try to create a new suggestion you will get: Incorrect integer value: '' for column '$INT_COLUMN' at row 1 Test plan: Turn on strict_sql_modes, create a new suggestion, then edit it. Signed-off-by: Liz Rea JD: Edit after SO, remove unecessary changes (not related to this bug) --- C4/Suggestions.pm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/C4/Suggestions.pm b/C4/Suggestions.pm index 05a7d20616..495d380e87 100644 --- a/C4/Suggestions.pm +++ b/C4/Suggestions.pm @@ -455,12 +455,12 @@ sub NewSuggestion { $suggestion->{suggesteddate} = dt_from_string unless $suggestion->{suggesteddate}; - my $rs = Koha::Database->new->schema->resultset('Suggestion'); - my $new_id = $rs->create($suggestion)->id; + my $suggestion_object = Koha::Suggestion->new( $suggestion )->store; + my $suggestion_id = $suggestion_object->suggestionid; my $emailpurchasesuggestions = C4::Context->preference("EmailPurchaseSuggestions"); if ($emailpurchasesuggestions) { - my $full_suggestion = GetSuggestion( $new_id ); + my $full_suggestion = GetSuggestion( $suggestion_id); # We should not need to refetch it! if ( my $letter = C4::Letters::GetPreparedLetter( module => 'suggestions', @@ -506,7 +506,7 @@ sub NewSuggestion { } } - return $new_id; + return $suggestion_id; } =head2 ModSuggestion @@ -543,9 +543,9 @@ sub ModSuggestion { or $suggestion->{$field} eq '' ); } - my $rs = Koha::Database->new->schema->resultset('Suggestion')->find($suggestion->{suggestionid}); + my $suggestion_object = Koha::Suggestions->find( $suggestion->{suggestionid} ); eval { # FIXME Must raise an exception instead - $rs->update($suggestion); + $suggestion_object->set($suggestion)->store; }; return 0 if $@; -- 2.11.0