Store information for displaying nps survey

[MAILPOET-2549]
This commit is contained in:
Pavel Dohnal
2020-01-21 11:04:32 +01:00
committed by Jack Kitterhing
parent 9c2e7235de
commit b4710403f8
3 changed files with 13 additions and 1 deletions

View File

@ -32,6 +32,7 @@ export default {
const requestData = { const requestData = {
...formData, ...formData,
body: blocksToFormBody(formBlocks, customFields), body: blocksToFormBody(formBlocks, customFields),
editor_version: 2,
}; };
MailPoet.Ajax.post({ MailPoet.Ajax.post({
api_version: window.mailpoet_api_version, api_version: window.mailpoet_api_version,

View File

@ -10,6 +10,7 @@ use MailPoet\Form\Util;
use MailPoet\Listing; use MailPoet\Listing;
use MailPoet\Models\Form; use MailPoet\Models\Form;
use MailPoet\Models\StatisticsForms; use MailPoet\Models\StatisticsForms;
use MailPoet\Settings\UserFlagsController;
use MailPoet\WP\Functions as WPFunctions; use MailPoet\WP\Functions as WPFunctions;
class Forms extends APIEndpoint { class Forms extends APIEndpoint {
@ -23,6 +24,9 @@ class Forms extends APIEndpoint {
/** @var Util\Styles */ /** @var Util\Styles */
private $formStylesUtils; private $formStylesUtils;
/** @var UserFlagsController */
private $userFlags;
public $permissions = [ public $permissions = [
'global' => AccessControl::PERMISSION_MANAGE_FORMS, 'global' => AccessControl::PERMISSION_MANAGE_FORMS,
]; ];
@ -30,11 +34,13 @@ class Forms extends APIEndpoint {
public function __construct( public function __construct(
Listing\BulkActionController $bulkAction, Listing\BulkActionController $bulkAction,
Listing\Handler $listingHandler, Listing\Handler $listingHandler,
Util\Styles $formStylesUtils Util\Styles $formStylesUtils,
UserFlagsController $userFlags
) { ) {
$this->bulkAction = $bulkAction; $this->bulkAction = $bulkAction;
$this->listingHandler = $listingHandler; $this->listingHandler = $listingHandler;
$this->formStylesUtils = $formStylesUtils; $this->formStylesUtils = $formStylesUtils;
$this->userFlags = $userFlags;
} }
public function get($data = []) { public function get($data = []) {
@ -210,6 +216,10 @@ class Forms extends APIEndpoint {
if (!empty($errors)) { if (!empty($errors)) {
return $this->badRequest($errors); return $this->badRequest($errors);
} }
if (isset($data['editor_version']) && $data['editor_version'] === "2") {
$this->userFlags->set('display_new_form_editor_nps_survey', true);
}
$form = Form::findOne($form->id); $form = Form::findOne($form->id);
if(!$form instanceof Form) return $this->errorResponse(); if(!$form instanceof Form) return $this->errorResponse();
return $this->successResponse( return $this->successResponse(

View File

@ -20,6 +20,7 @@ class UserFlagsController {
$this->defaults = [ $this->defaults = [
'last_announcement_seen' => false, 'last_announcement_seen' => false,
'editor_tutorial_seen' => false, 'editor_tutorial_seen' => false,
'display_new_form_editor_nps_survey' => false,
]; ];
$this->userFlagsRepository = $userFlagsRepository; $this->userFlagsRepository = $userFlagsRepository;
} }