SubscriptionStatusLabel.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Analytics\Block\Adminhtml\System\Config;
  7. use Magento\Analytics\Model\SubscriptionStatusProvider;
  8. use Magento\Backend\Block\Template\Context;
  9. /**
  10. * Provides labels for subscription status
  11. * Status can be reviewed in System Configuration
  12. */
  13. class SubscriptionStatusLabel extends \Magento\Config\Block\System\Config\Form\Field
  14. {
  15. /**
  16. * @var SubscriptionStatusProvider
  17. */
  18. private $subscriptionStatusProvider;
  19. /**
  20. * @param Context $context
  21. * @param SubscriptionStatusProvider $labelStatusProvider
  22. * @param array $data
  23. */
  24. public function __construct(
  25. Context $context,
  26. SubscriptionStatusProvider $labelStatusProvider,
  27. array $data = []
  28. ) {
  29. parent::__construct($context, $data);
  30. $this->subscriptionStatusProvider = $labelStatusProvider;
  31. }
  32. /**
  33. * Add Subscription status to comment
  34. *
  35. * @param \Magento\Framework\Data\Form\Element\AbstractElement $element
  36. * @return string
  37. */
  38. public function render(\Magento\Framework\Data\Form\Element\AbstractElement $element)
  39. {
  40. $element->setData(
  41. 'comment',
  42. $this->prepareLabelValue()
  43. );
  44. return parent::render($element);
  45. }
  46. /**
  47. * Prepare label for subscription status
  48. *
  49. * @return string
  50. */
  51. private function prepareLabelValue()
  52. {
  53. return __('Subscription status') . ': ' . $this->subscriptionStatusProvider->getStatus();
  54. }
  55. }