Severity.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. /**
  3. * Adminhtml AdminNotification Severity Renderer
  4. *
  5. * Copyright © Magento, Inc. All rights reserved.
  6. * See COPYING.txt for license details.
  7. */
  8. namespace Magento\AdminNotification\Block\Grid\Renderer;
  9. use Magento\Framework\Notification\MessageInterface;
  10. class Severity extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\AbstractRenderer
  11. {
  12. /**
  13. * @var \Magento\AdminNotification\Model\Inbox
  14. */
  15. protected $_notice;
  16. /**
  17. * @param \Magento\Backend\Block\Context $context
  18. * @param \Magento\AdminNotification\Model\Inbox $notice
  19. * @param array $data
  20. */
  21. public function __construct(
  22. \Magento\Backend\Block\Context $context,
  23. \Magento\AdminNotification\Model\Inbox $notice,
  24. array $data = []
  25. ) {
  26. parent::__construct($context, $data);
  27. $this->_notice = $notice;
  28. }
  29. /**
  30. * Renders grid column
  31. *
  32. * @param \Magento\Framework\DataObject $row
  33. * @return string
  34. */
  35. public function render(\Magento\Framework\DataObject $row)
  36. {
  37. $class = '';
  38. $value = '';
  39. switch ($row->getData($this->getColumn()->getIndex())) {
  40. case MessageInterface::SEVERITY_CRITICAL:
  41. $class = 'critical';
  42. $value = $this->_notice->getSeverities(MessageInterface::SEVERITY_CRITICAL);
  43. break;
  44. case MessageInterface::SEVERITY_MAJOR:
  45. $class = 'major';
  46. $value = $this->_notice->getSeverities(MessageInterface::SEVERITY_MAJOR);
  47. break;
  48. case MessageInterface::SEVERITY_MINOR:
  49. $class = 'minor';
  50. $value = $this->_notice->getSeverities(MessageInterface::SEVERITY_MINOR);
  51. break;
  52. case MessageInterface::SEVERITY_NOTICE:
  53. $class = 'notice';
  54. $value = $this->_notice->getSeverities(MessageInterface::SEVERITY_NOTICE);
  55. break;
  56. }
  57. return '<span class="grid-severity-' . $class . '"><span>' . $value . '</span></span>';
  58. }
  59. }