20 protected $_template =
'Magento_Customer::tab/newsletter.phtml';
52 \
Magento\Framework\Data\FormFactory $formFactory,
57 $this->_subscriberFactory = $subscriberFactory;
69 return __(
'Newsletter');
79 return __(
'Newsletter');
138 public function initForm()
144 $form = $this->_formFactory->create();
145 $form->setHtmlIdPrefix(
'_newsletter');
148 $this->_coreRegistry->register(
'subscriber',
$subscriber,
true);
150 $fieldset = $form->addFieldset(
'base_fieldset', [
'legend' =>
__(
'Newsletter Information')]);
156 'label' =>
__(
'Subscribed to Newsletter'),
157 'name' =>
'subscription',
158 'data-form-part' => $this->
getData(
'target_form'),
159 'onchange' =>
'this.value = this.checked;' 163 if ($this->customerAccountManagement->isReadonly(
$customerId)) {
164 $form->getElement(
'subscription')->setReadonly(
true,
true);
167 $form->setValues([
'subscription' => $isSubscribed ?
'true' :
'false']);
168 $form->getElement(
'subscription')->setIsChecked($isSubscribed);
175 'change_status_date',
178 'label' => $isSubscribed ?
__(
'Last Date Subscribed') :
__(
'Last Date Unsubscribed'),
179 'value' => $changedDate,
198 $data = $this->_backendSession->getCustomerFormData();
200 $dataCustomerId = isset(
$data[
'customer'][
'entity_id']) ?
$data[
'customer'][
'entity_id'] :
null;
202 $form->getElement(
'subscription')->setIsChecked(
$data[
'subscription']);
214 $subscriber = $this->_coreRegistry->registry(
'subscriber');
218 \IntlDateFormatter::MEDIUM,
233 return parent::_toHtml();
const CURRENT_CUSTOMER_ID
getData($key='', $index=null)
updateFromSession(\Magento\Framework\Data\Form $form, $customerId)
formatDate( $date=null, $format=\IntlDateFormatter::SHORT, $showTime=false, $timezone=null)
$customerAccountManagement
__construct(\Magento\Backend\Block\Template\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Data\FormFactory $formFactory, \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory, AccountManagementInterface $customerAccountManagement, array $data=[])