Skip to content

Commit

Permalink
Merge branch '2.4-develop' of http://github.com/magento/magento2 into…
Browse files Browse the repository at this point in the history
… 26288-Missing-Throw
  • Loading branch information
engcom-Echo committed May 7, 2020
2 parents 5d11fdc + 6b6f428 commit 4595009
Show file tree
Hide file tree
Showing 4,326 changed files with 98,657 additions and 89,467 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ If you are a new GitHub user, we recommend that you create your own [free github
This will allow you to collaborate with the Magento 2 development team, fork the Magento 2 project and send pull requests.

1. Search current [listed issues](https://github.com/magento/magento2/issues) (open or closed) for similar proposals of intended contribution before starting work on a new contribution.
2. Review the [Contributor License Agreement](https://magento.com/legaldocuments/mca) if this is your first time contributing.
2. Review the [Contributor License Agreement](https://opensource.adobe.com/cla.html) if this is your first time contributing.
3. Create and test your work.
4. Fork the Magento 2 repository according to the [Fork A Repository instructions](https://devdocs.magento.com/guides/v2.3/contributor-guide/contributing.html#fork) and when you are ready to send us a pull request – follow the [Create A Pull Request instructions](https://devdocs.magento.com/guides/v2.3/contributor-guide/contributing.html#pull_request).
5. Once your contribution is received the Magento 2 development team will review the contribution and collaborate with you as needed.
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@
</annotations>

<!-- Logging in Magento admin -->
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
</test>
</tests>
Original file line number Diff line number Diff line change
Expand Up @@ -11,28 +11,27 @@
use Magento\Framework\App\ProductMetadataInterface;
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
use Magento\Framework\App\CacheInterface;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;

/**
* Class CanViewNotificationTest
*/
class CanViewNotificationTest extends \PHPUnit\Framework\TestCase
class CanViewNotificationTest extends TestCase
{
/** @var CanViewNotification */
private $canViewNotification;

/** @var Logger|\PHPUnit_Framework_MockObject_MockObject */
/** @var Logger|MockObject */
private $viewerLoggerMock;

/** @var ProductMetadataInterface|\PHPUnit_Framework_MockObject_MockObject */
/** @var ProductMetadataInterface|MockObject */
private $productMetadataMock;

/** @var Log|\PHPUnit_Framework_MockObject_MockObject */
/** @var Log|MockObject */
private $logMock;

/** @var $cacheStorageMock \PHPUnit_Framework_MockObject_MockObject|CacheInterface */
/** @var $cacheStorageMock MockObject|CacheInterface */
private $cacheStorageMock;

public function setUp()
protected function setUp(): void
{
$this->cacheStorageMock = $this->getMockBuilder(CacheInterface::class)
->getMockForAbstractClass();
Expand Down
59 changes: 31 additions & 28 deletions app/code/Magento/AdminNotification/Block/System/Messages.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,45 +5,54 @@
*/
namespace Magento\AdminNotification\Block\System;

class Messages extends \Magento\Backend\Block\Template
use Magento\AdminNotification\Model\ResourceModel\System\Message\Collection\Synchronized;
use Magento\Backend\Block\Template;
use Magento\Backend\Block\Template\Context as TemplateContext;
use Magento\Framework\Json\Helper\Data as JsonDataHelper;
use Magento\Framework\Notification\MessageInterface;
use Magento\Framework\Serialize\Serializer\Json as JsonSerializer;

/**
* AdminNotification Messages class
*/
class Messages extends Template
{
/**
* Message list
* Synchronized Message collection
*
* @var \Magento\AdminNotification\Model\ResourceModel\System\Message\Collection\Synchronized
* @var Synchronized
*/
protected $_messages;

/**
* @var \Magento\Framework\Json\Helper\Data
* @var JsonDataHelper
* @deprecated
*/
protected $jsonHelper;

/**
* @var \Magento\Framework\Serialize\Serializer\Json
* @var JsonSerializer
*/
private $serializer;

/**
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\AdminNotification\Model\ResourceModel\System\Message\Collection\Synchronized $messages
* @param \Magento\Framework\Json\Helper\Data $jsonHelper
* @param TemplateContext $context
* @param Synchronized $messages
* @param JsonDataHelper $jsonHelper
* @param JsonSerializer $serializer
* @param array $data
* @param \Magento\Framework\Serialize\Serializer\Json|null $serializer
*/
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\AdminNotification\Model\ResourceModel\System\Message\Collection\Synchronized $messages,
\Magento\Framework\Json\Helper\Data $jsonHelper,
array $data = [],
\Magento\Framework\Serialize\Serializer\Json $serializer = null
TemplateContext $context,
Synchronized $messages,
JsonDataHelper $jsonHelper,
JsonSerializer $serializer,
array $data = []
) {
$this->jsonHelper = $jsonHelper;
parent::__construct($context, $data);
$this->_messages = $messages;
$this->serializer = $serializer ?: \Magento\Framework\App\ObjectManager::getInstance()
->get(\Magento\Framework\Serialize\Serializer\Json::class);
$this->serializer = $serializer;
}

/**
Expand All @@ -62,16 +71,14 @@ protected function _toHtml()
/**
* Retrieve message list
*
* @return \Magento\Framework\Notification\MessageInterface[]
* @return MessageInterface[]|null
*/
public function getLastCritical()
{
$items = array_values($this->_messages->getItems());
if (isset(
$items[0]
) && $items[0]->getSeverity() == \Magento\Framework\Notification\MessageInterface::SEVERITY_CRITICAL
) {
return $items[0];

if (!empty($items) && current($items)->getSeverity() === MessageInterface::SEVERITY_CRITICAL) {
return current($items);
}
return null;
}
Expand All @@ -83,9 +90,7 @@ public function getLastCritical()
*/
public function getCriticalCount()
{
return $this->_messages->getCountBySeverity(
\Magento\Framework\Notification\MessageInterface::SEVERITY_CRITICAL
);
return $this->_messages->getCountBySeverity(MessageInterface::SEVERITY_CRITICAL);
}

/**
Expand All @@ -95,9 +100,7 @@ public function getCriticalCount()
*/
public function getMajorCount()
{
return $this->_messages->getCountBySeverity(
\Magento\Framework\Notification\MessageInterface::SEVERITY_MAJOR
);
return $this->_messages->getCountBySeverity(MessageInterface::SEVERITY_MAJOR);
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,33 +1,34 @@
<?php
/**
*
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\AdminNotification\Controller\Adminhtml\Notification;

use Magento\AdminNotification\Controller\Adminhtml\Notification;
use Magento\AdminNotification\Model\NotificationService;
use Magento\Backend\App\Action;
use Magento\Framework\App\Action\HttpPostActionInterface;
use Magento\Framework\Controller\ResultFactory;

class AjaxMarkAsRead extends \Magento\AdminNotification\Controller\Adminhtml\Notification
/**
* AdminNotification AjaxMarkAsRead controller
*/
class AjaxMarkAsRead extends Notification implements HttpPostActionInterface
{
/**
* @var \Magento\AdminNotification\Model\NotificationService
* @var NotificationService
*/
private $notificationService;

/**
* @param Action\Context $context
* @param \Magento\AdminNotification\Model\NotificationService|null $notificationService
* @throws \RuntimeException
* @param NotificationService $notificationService
*/
public function __construct(
Action\Context $context,
\Magento\AdminNotification\Model\NotificationService $notificationService = null
) {
public function __construct(Action\Context $context, NotificationService $notificationService)
{
parent::__construct($context);
$this->notificationService = $notificationService?: \Magento\Framework\App\ObjectManager::getInstance()
->get(\Magento\AdminNotification\Model\NotificationService::class);
$this->notificationService = $notificationService;
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
<?php
/**
*
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\AdminNotification\Controller\Adminhtml\Notification;

class MarkAsRead extends \Magento\AdminNotification\Controller\Adminhtml\Notification
use Magento\AdminNotification\Controller\Adminhtml\Notification;
use Magento\AdminNotification\Model\NotificationService;
use Magento\Backend\App\Action;
use Magento\Framework\App\Action\HttpGetActionInterface;
use Magento\Framework\Exception\LocalizedException;

/**
* AdminNotification MarkAsRead controller
*/
class MarkAsRead extends Notification implements HttpGetActionInterface
{
/**
* Authorization level of a basic admin session
Expand All @@ -16,20 +24,31 @@ class MarkAsRead extends \Magento\AdminNotification\Controller\Adminhtml\Notific
const ADMIN_RESOURCE = 'Magento_AdminNotification::mark_as_read';

/**
* @return void
* @var NotificationService
*/
private $notificationService;

/**
* @param Action\Context $context
* @param NotificationService $notificationService
*/
public function __construct(Action\Context $context, NotificationService $notificationService)
{
parent::__construct($context);
$this->notificationService = $notificationService;
}

/**
* @inheritdoc
*/
public function execute()
{
$notificationId = (int)$this->getRequest()->getParam('id');
if ($notificationId) {
try {
$this->_objectManager->create(
\Magento\AdminNotification\Model\NotificationService::class
)->markAsRead(
$notificationId
);
$this->notificationService->markAsRead($notificationId);
$this->messageManager->addSuccessMessage(__('The message has been marked as Read.'));
} catch (\Magento\Framework\Exception\LocalizedException $e) {
} catch (LocalizedException $e) {
$this->messageManager->addErrorMessage($e->getMessage());
} catch (\Exception $e) {
$this->messageManager->addExceptionMessage(
Expand All @@ -38,9 +57,8 @@ public function execute()
);
}

$this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
return;
return $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
}
$this->_redirect('adminhtml/*/');
return $this->_redirect('adminhtml/*/');
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
<?php
/**
*
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\AdminNotification\Controller\Adminhtml\Notification;

class MassMarkAsRead extends \Magento\AdminNotification\Controller\Adminhtml\Notification
{
use Magento\AdminNotification\Controller\Adminhtml\Notification;
use Magento\AdminNotification\Model\InboxFactory as InboxModelFactory;
use Magento\Backend\App\Action;
use Magento\Framework\App\Action\HttpPostActionInterface;

/**
* AdminNotification MassMarkAsRead controller
*/
class MassMarkAsRead extends Notification implements HttpPostActionInterface
{
/**
* Authorization level of a basic admin session
*
Expand All @@ -17,7 +23,22 @@ class MassMarkAsRead extends \Magento\AdminNotification\Controller\Adminhtml\Not
const ADMIN_RESOURCE = 'Magento_AdminNotification::mark_as_read';

/**
* @return void
* @var InboxModelFactory
*/
private $inboxModelFactory;

/**
* @param Action\Context $context
* @param InboxModelFactory $inboxModelFactory
*/
public function __construct(Action\Context $context, InboxModelFactory $inboxModelFactory)
{
parent::__construct($context);
$this->inboxModelFactory = $inboxModelFactory;
}

/**
* @inheritdoc
*/
public function execute()
{
Expand All @@ -27,7 +48,7 @@ public function execute()
} else {
try {
foreach ($ids as $id) {
$model = $this->_objectManager->create(\Magento\AdminNotification\Model\Inbox::class)->load($id);
$model = $this->inboxModelFactory->create()->load($id);
if ($model->getId()) {
$model->setIsRead(1)->save();
}
Expand All @@ -44,6 +65,6 @@ public function execute()
);
}
}
$this->_redirect('adminhtml/*/');
return $this->_redirect('adminhtml/*/');
}
}
Loading

0 comments on commit 4595009

Please sign in to comment.