From acc7541ab9474d5ddc1490313f5e6cc101fe4fe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Thu, 31 Mar 2016 21:11:51 +0200 Subject: [PATCH] FIX: fix history handling - null values were not updated --- app/Handlers/History.php | 4 ++-- app/Models/Content.php | 5 +++-- resources/lang/en/admin/history.php | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/Handlers/History.php b/app/Handlers/History.php index 0d859af3..f2713bb7 100644 --- a/app/Handlers/History.php +++ b/app/Handlers/History.php @@ -39,8 +39,8 @@ class History implements HistoryHandler break; default: return trans('admin/history.changedFromTo', [ - 'from' => $changeset->old_value, - 'to' => $changeset->new_value + 'from' => is_null($changeset->old_value) ? trans('admin/history.emptyValue') : $changeset->old_value, + 'to' => is_null($changeset->new_value) ? trans('admin/history.emptyValue') : $changeset->new_value, ]); break; } diff --git a/app/Models/Content.php b/app/Models/Content.php index c2eb55f8..9070e2fd 100644 --- a/app/Models/Content.php +++ b/app/Models/Content.php @@ -125,14 +125,15 @@ class Content extends Model foreach ($fields as $fieldDB => $fieldRequest) { // ignore non-existing fields - if (!isset($this->$fieldDB) || !isset($request[$fieldRequest])) { + if ((!isset($this->$fieldDB) && !is_null($this->$fieldDB)) || (!isset($request[$fieldRequest]) && !is_null($request[$fieldRequest]))) { continue; } // remove any whitespaces around real content + if (!is_null($request[$fieldRequest])) $request[$fieldRequest] = trim($request[$fieldRequest]); - if ($this->$fieldDB != $request[$fieldRequest]) { + if (trim($this->$fieldDB) != $request[$fieldRequest]) { // setup history object $history = [ diff --git a/resources/lang/en/admin/history.php b/resources/lang/en/admin/history.php index 70902307..e0235ded 100644 --- a/resources/lang/en/admin/history.php +++ b/resources/lang/en/admin/history.php @@ -9,6 +9,7 @@ return [ 'columnStatus' => 'Page visibility', 'columnTemplate' => 'Template', 'columnIs_homepage' => 'Homepage', + 'emptyValue' => 'none', 'changedFromTo' => 'Changed from :from to :to', 'numOfChanges' => 'One change|:count changes', 'diff' => 'Difference',