forked from magento/graphql-ce
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSubscriber.php
102 lines (91 loc) · 2.38 KB
/
Subscriber.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/**
* Newsletter subscriber grid block
*
* @author Magento Core Team <core@magentocommerce.com>
*/
namespace Magento\Newsletter\Block\Adminhtml;
use Magento\Newsletter\Model\ResourceModel\Queue\Collection;
/**
* @api
* @since 100.0.2
*/
class Subscriber extends \Magento\Backend\Block\Template
{
/**
* Queue collection
*
* @var Collection
*/
protected $_queueCollection = null;
/**
* @var string
*/
protected $_template = 'Magento_Newsletter::subscriber/list.phtml';
/**
* @var \Magento\Newsletter\Model\ResourceModel\Queue\CollectionFactory
*/
protected $_collectionFactory;
/**
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\Newsletter\Model\ResourceModel\Queue\CollectionFactory $collectionFactory
* @param array $data
*/
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\Newsletter\Model\ResourceModel\Queue\CollectionFactory $collectionFactory,
array $data = []
) {
$this->_collectionFactory = $collectionFactory;
parent::__construct($context, $data);
}
/**
* Prepares block to render
*
* @return $this
*/
protected function _beforeToHtml()
{
return parent::_beforeToHtml();
}
/**
* Return queue collection with loaded neversent queues
*
* @return Collection
*/
public function getQueueCollection()
{
if ($this->_queueCollection === null) {
/** @var $this->_queueCollection \Magento\Newsletter\Model\ResourceModel\Queue\Collection */
$this->_queueCollection = $this
->_collectionFactory
->create()
->addTemplateInfo()
->addOnlyUnsentFilter()
->load();
}
return $this->_queueCollection;
}
/**
* Get add option for queue
*
* @return mixed
*/
public function getShowQueueAdd()
{
return $this->getChildBlock('grid')->getShowQueueAdd();
}
/**
* Return list of neversent queues for select
*
* @return array
*/
public function getQueueAsOptions()
{
return $this->getQueueCollection()->toOptionArray();
}
}