From f735e3d6f0ca6ca8858da9c4595368748490a294 Mon Sep 17 00:00:00 2001 From: Anton Evers Date: Mon, 21 Aug 2017 15:33:42 +0600 Subject: [PATCH 1/2] Bug fix, prevent displaying `0000-00-00 00:00:00` as anything else in admin grids --- app/code/Magento/Ui/Component/Listing/Columns/Date.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/code/Magento/Ui/Component/Listing/Columns/Date.php b/app/code/Magento/Ui/Component/Listing/Columns/Date.php index 94f6ca65e83bf..78b02a63d172e 100644 --- a/app/code/Magento/Ui/Component/Listing/Columns/Date.php +++ b/app/code/Magento/Ui/Component/Listing/Columns/Date.php @@ -53,7 +53,9 @@ public function prepareDataSource(array $dataSource) { if (isset($dataSource['data']['items'])) { foreach ($dataSource['data']['items'] as & $item) { - if (isset($item[$this->getData('name')])) { + if (isset($item[$this->getData('name')]) + && $item[$this->getData('name')] !== "0000-00-00 00:00:00" + ) { $date = $this->timezone->date(new \DateTime($item[$this->getData('name')])); $timezone = isset($this->getConfiguration()['timezone']) ? $this->booleanUtils->convert($this->getConfiguration()['timezone']) From 2f513bcdd47f43390e483968244d8f61b2bcb78d Mon Sep 17 00:00:00 2001 From: Ievgen Shakhsuvarov Date: Tue, 22 Aug 2017 13:44:58 +0300 Subject: [PATCH 2/2] Bug fix, prevent displaying `0000-00-00 00:00:00` as anything else in admin grids #10598 - Unit test added --- .../Test/Unit/Component/Listing/Columns/DateTest.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/code/Magento/Ui/Test/Unit/Component/Listing/Columns/DateTest.php b/app/code/Magento/Ui/Test/Unit/Component/Listing/Columns/DateTest.php index 0bfb2a7dc0f34..045f11fe688f4 100644 --- a/app/code/Magento/Ui/Test/Unit/Component/Listing/Columns/DateTest.php +++ b/app/code/Magento/Ui/Test/Unit/Component/Listing/Columns/DateTest.php @@ -89,4 +89,14 @@ public function testPrepareDataSource() $result = $this->model->prepareDataSource(['data' => ['items' => [$item]]]); $this->assertEquals(self::TEST_TIME, $result['data']['items'][0]['field_name']); } + + public function testPrepareDataSourceWithZeroDate() + { + $zeroDate = '0000-00-00 00:00:00'; + $item = ['test_data' => 'some_data', 'field_name' => $zeroDate]; + $this->timezoneMock->expects($this->never())->method('date'); + + $result = $this->model->prepareDataSource(['data' => ['items' => [$item]]]); + $this->assertEquals($zeroDate, $result['data']['items'][0]['field_name']); + } }