Order.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. namespace Dotdigitalgroup\Email\Block\Adminhtml\Config\Report;
  3. class Order extends \Magento\Config\Block\System\Config\Form\Field
  4. {
  5. /**
  6. * @deprecated
  7. *
  8. * @var string
  9. */
  10. public $buttonLabel = 'Order Report';
  11. /**
  12. * @deprecated
  13. *
  14. * @param string $buttonLabel
  15. *
  16. * @return $this
  17. */
  18. public function setButtonLabel($buttonLabel)
  19. {
  20. $this->buttonLabel = $buttonLabel;
  21. return $this;
  22. }
  23. /**
  24. * Set template to itself.
  25. *
  26. * @deprecated
  27. *
  28. * @return mixed
  29. */
  30. public function _prepareLayout()
  31. {
  32. parent::_prepareLayout();
  33. if (!$this->getTemplate()) {
  34. $this->setTemplate('system/config/reportlink.phtml');
  35. }
  36. return $this;
  37. }
  38. /**
  39. * @return string
  40. */
  41. public function getLink()
  42. {
  43. return $this->getUrl(
  44. 'dotdigitalgroup_email/order/index'
  45. );
  46. }
  47. /**
  48. * Unset some non-related element parameters.
  49. *
  50. * @deprecated
  51. *
  52. * @param \Magento\Framework\Data\Form\Element\AbstractElement $element
  53. *
  54. * @return string
  55. */
  56. public function render(
  57. \Magento\Framework\Data\Form\Element\AbstractElement $element
  58. )
  59. {
  60. $element->unsScope()->unsCanUseWebsiteValue()->unsCanUseDefaultValue();
  61. return parent::render($element);
  62. }
  63. /**
  64. * Get the button and scripts contents.
  65. *
  66. * @deprecated
  67. *
  68. * @param \Magento\Framework\Data\Form\Element\AbstractElement $element
  69. *
  70. * @return string
  71. */
  72. public function _getElementHtml(
  73. \Magento\Framework\Data\Form\Element\AbstractElement $element
  74. )
  75. {
  76. $originalData = $element->getOriginalData();
  77. $buttonLabel = !empty($originalData['button_label'])
  78. ? $originalData['button_label'] : $this->buttonLabel;
  79. $url = $this->_urlBuilder->getUrl('dotdigitalgroup_email/addressbook/save');
  80. $this->addData(
  81. [
  82. 'button_label' => $buttonLabel,
  83. 'html_id' => $element->getHtmlId(),
  84. 'ajax_url' => $url,
  85. ]
  86. );
  87. return $this->_toHtml();
  88. }
  89. }