Inject bulk action controller using DI
[MAILPOET-1689]
This commit is contained in:
@ -14,10 +14,18 @@ use MailPoet\Models\StatisticsForms;
|
||||
if(!defined('ABSPATH')) exit;
|
||||
|
||||
class Forms extends APIEndpoint {
|
||||
|
||||
/** @var Listing\BulkActionController */
|
||||
private $bulk_action;
|
||||
|
||||
public $permissions = array(
|
||||
'global' => AccessControl::PERMISSION_MANAGE_FORMS
|
||||
);
|
||||
|
||||
function __construct(Listing\BulkActionController $bulk_action) {
|
||||
$this->bulk_action = $bulk_action;
|
||||
}
|
||||
|
||||
function get($data = array()) {
|
||||
$id = (isset($data['id']) ? (int)$data['id'] : false);
|
||||
$form = Form::findOne($id);
|
||||
@ -280,8 +288,7 @@ class Forms extends APIEndpoint {
|
||||
|
||||
function bulkAction($data = array()) {
|
||||
try {
|
||||
$bulk_action = new Listing\BulkActionController();
|
||||
$meta = $bulk_action->apply('\MailPoet\Models\Form', $data);
|
||||
$meta = $this->bulk_action->apply('\MailPoet\Models\Form', $data);
|
||||
return $this->successResponse(null, $meta);
|
||||
} catch(\Exception $e) {
|
||||
return $this->errorResponse(array(
|
||||
|
@ -26,10 +26,18 @@ use MailPoet\WP\Functions as WPFunctions;
|
||||
if(!defined('ABSPATH')) exit;
|
||||
|
||||
class Newsletters extends APIEndpoint {
|
||||
|
||||
/** @var Listing\BulkActionController */
|
||||
private $bulk_action;
|
||||
|
||||
public $permissions = array(
|
||||
'global' => AccessControl::PERMISSION_MANAGE_EMAILS
|
||||
);
|
||||
|
||||
function __construct(Listing\BulkActionController $bulk_action) {
|
||||
$this->bulk_action = $bulk_action;
|
||||
}
|
||||
|
||||
function get($data = array()) {
|
||||
$id = (isset($data['id']) ? (int)$data['id'] : false);
|
||||
$newsletter = Newsletter::findOne($id);
|
||||
@ -438,8 +446,7 @@ class Newsletters extends APIEndpoint {
|
||||
|
||||
function bulkAction($data = array()) {
|
||||
try {
|
||||
$bulk_action = new Listing\BulkActionController();
|
||||
$meta = $bulk_action->apply('\MailPoet\Models\Newsletter', $data);
|
||||
$meta = $this->bulk_action->apply('\MailPoet\Models\Newsletter', $data);
|
||||
return $this->successResponse(null, $meta);
|
||||
} catch(\Exception $e) {
|
||||
return $this->errorResponse(array(
|
||||
|
@ -16,6 +16,13 @@ class Segments extends APIEndpoint {
|
||||
'global' => AccessControl::PERMISSION_MANAGE_SEGMENTS
|
||||
);
|
||||
|
||||
/** @var Listing\BulkActionController */
|
||||
private $bulk_action;
|
||||
|
||||
function __construct(Listing\BulkActionController $bulk_action) {
|
||||
$this->bulk_action = $bulk_action;
|
||||
}
|
||||
|
||||
function get($data = array()) {
|
||||
$id = (isset($data['id']) ? (int)$data['id'] : false);
|
||||
$segment = Segment::findOne($id);
|
||||
@ -152,8 +159,7 @@ class Segments extends APIEndpoint {
|
||||
|
||||
function bulkAction($data = array()) {
|
||||
try {
|
||||
$bulk_action = new Listing\BulkActionController();
|
||||
$meta = $bulk_action->apply('\MailPoet\Models\Segment', $data);
|
||||
$meta = $this->bulk_action->apply('\MailPoet\Models\Segment', $data);
|
||||
return $this->successResponse(null, $meta);
|
||||
} catch(\Exception $e) {
|
||||
return $this->errorResponse(array(
|
||||
|
@ -29,6 +29,13 @@ class Subscribers extends APIEndpoint {
|
||||
'methods' => array('subscribe' => AccessControl::NO_ACCESS_RESTRICTION)
|
||||
);
|
||||
|
||||
/** @var Listing\BulkActionController */
|
||||
private $bulk_action_controller;
|
||||
|
||||
public function __construct(Listing\BulkActionController $bulk_action_controller) {
|
||||
$this->bulk_action_controller = $bulk_action_controller;
|
||||
}
|
||||
|
||||
function get($data = array()) {
|
||||
$id = (isset($data['id']) ? (int)$data['id'] : false);
|
||||
$subscriber = Subscriber::findOne($id);
|
||||
@ -262,10 +269,9 @@ class Subscribers extends APIEndpoint {
|
||||
function bulkAction($data = array()) {
|
||||
try {
|
||||
if(!isset($data['listing']['filter']['segment'])) {
|
||||
$bulk_action = new Listing\BulkActionController();
|
||||
return $this->successResponse(
|
||||
null,
|
||||
$bulk_action->apply('\MailPoet\Models\Subscriber', $data)
|
||||
$this->bulk_action_controller->apply('\MailPoet\Models\Subscriber', $data)
|
||||
);
|
||||
} else {
|
||||
$bulk_action = new BulkAction($data);
|
||||
|
Reference in New Issue
Block a user