Use newsletters API to get free statistics when premium is not active
[MAILPOET-2104]
This commit is contained in:
@ -73,8 +73,8 @@ class CampaignStatsPage extends React.Component {
|
|||||||
|
|
||||||
MailPoet.Ajax.post({
|
MailPoet.Ajax.post({
|
||||||
api_version: window.mailpoet_api_version,
|
api_version: window.mailpoet_api_version,
|
||||||
endpoint: 'stats',
|
endpoint: window.mailpoet_premium_active ? 'stats' : 'newsletters',
|
||||||
action: 'get',
|
action: window.mailpoet_premium_active ? 'get' : 'getWithStats',
|
||||||
data: {
|
data: {
|
||||||
id,
|
id,
|
||||||
},
|
},
|
||||||
|
@ -97,6 +97,32 @@ class Newsletters extends APIEndpoint {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getWithStats($data = []) {
|
||||||
|
$id = (isset($data['id']) ? (int)$data['id'] : false);
|
||||||
|
$newsletter = Newsletter::findOne($id);
|
||||||
|
if ($newsletter instanceof Newsletter) {
|
||||||
|
$newsletter = $newsletter
|
||||||
|
->withSegments()
|
||||||
|
->withOptions()
|
||||||
|
->withSendingQueue()
|
||||||
|
->withTotalSent()
|
||||||
|
->withStatistics($this->woocommerce_helper, $this->features_controller);
|
||||||
|
|
||||||
|
$preview_url = NewsletterUrl::getViewInBrowserUrl(
|
||||||
|
NewsletterUrl::TYPE_LISTING_EDITOR,
|
||||||
|
$newsletter,
|
||||||
|
Subscriber::getCurrentWPUser()
|
||||||
|
);
|
||||||
|
|
||||||
|
$newsletter = $this->wp->applyFilters('mailpoet_api_newsletters_get_after', $newsletter->asArray());
|
||||||
|
return $this->successResponse($newsletter, ['preview_url' => $preview_url]);
|
||||||
|
} else {
|
||||||
|
return $this->errorResponse([
|
||||||
|
APIError::NOT_FOUND => WPFunctions::get()->__('This email does not exist.', 'mailpoet'),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function save($data = []) {
|
function save($data = []) {
|
||||||
$data = $this->wp->applyFilters('mailpoet_api_newsletters_save_before', $data);
|
$data = $this->wp->applyFilters('mailpoet_api_newsletters_save_before', $data);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user