diff --git a/assets/js/src/form_editor/store/controls.jsx b/assets/js/src/form_editor/store/controls.jsx index d4c1b7e22b..2bdf96234f 100644 --- a/assets/js/src/form_editor/store/controls.jsx +++ b/assets/js/src/form_editor/store/controls.jsx @@ -32,6 +32,7 @@ export default { const requestData = { ...formData, body: blocksToFormBody(formBlocks, customFields), + editor_version: 2, }; MailPoet.Ajax.post({ api_version: window.mailpoet_api_version, diff --git a/lib/API/JSON/v1/Forms.php b/lib/API/JSON/v1/Forms.php index ea1d80ade8..46aa9df38e 100644 --- a/lib/API/JSON/v1/Forms.php +++ b/lib/API/JSON/v1/Forms.php @@ -10,6 +10,7 @@ use MailPoet\Form\Util; use MailPoet\Listing; use MailPoet\Models\Form; use MailPoet\Models\StatisticsForms; +use MailPoet\Settings\UserFlagsController; use MailPoet\WP\Functions as WPFunctions; class Forms extends APIEndpoint { @@ -23,6 +24,9 @@ class Forms extends APIEndpoint { /** @var Util\Styles */ private $formStylesUtils; + /** @var UserFlagsController */ + private $userFlags; + public $permissions = [ 'global' => AccessControl::PERMISSION_MANAGE_FORMS, ]; @@ -30,11 +34,13 @@ class Forms extends APIEndpoint { public function __construct( Listing\BulkActionController $bulkAction, Listing\Handler $listingHandler, - Util\Styles $formStylesUtils + Util\Styles $formStylesUtils, + UserFlagsController $userFlags ) { $this->bulkAction = $bulkAction; $this->listingHandler = $listingHandler; $this->formStylesUtils = $formStylesUtils; + $this->userFlags = $userFlags; } public function get($data = []) { @@ -210,6 +216,10 @@ class Forms extends APIEndpoint { if (!empty($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); if(!$form instanceof Form) return $this->errorResponse(); return $this->successResponse( diff --git a/lib/Settings/UserFlagsController.php b/lib/Settings/UserFlagsController.php index fb57f217fc..526ff36c13 100644 --- a/lib/Settings/UserFlagsController.php +++ b/lib/Settings/UserFlagsController.php @@ -20,6 +20,7 @@ class UserFlagsController { $this->defaults = [ 'last_announcement_seen' => false, 'editor_tutorial_seen' => false, + 'display_new_form_editor_nps_survey' => false, ]; $this->userFlagsRepository = $userFlagsRepository; }