Send custom fields into template

[MAILPOET-2453]
This commit is contained in:
Pavel Dohnal
2019-12-10 17:27:24 +01:00
committed by Rostislav Wolný
parent 809051a883
commit d069b0dab4
6 changed files with 133 additions and 1 deletions

View File

@ -3,10 +3,13 @@
namespace MailPoet\AdminPages\Pages;
use MailPoet\AdminPages\PageRenderer;
use MailPoet\API\JSON\ResponseBuilders\CustomFieldsResponseBuilder;
use MailPoet\CustomFields\CustomFieldsRepository;
use MailPoet\Features\FeaturesController;
use MailPoet\Form\Block;
use MailPoet\Form\Renderer as FormRenderer;
use MailPoet\Form\Util\Export;
use MailPoet\Models\CustomField;
use MailPoet\Models\Form;
use MailPoet\Models\Segment;
use MailPoet\Settings\Pages;
@ -18,9 +21,22 @@ class FormEditor {
/** @var FeaturesController */
private $features_controller;
function __construct(PageRenderer $page_renderer, FeaturesController $features_controller) {
/** @var CustomFieldsRepository */
private $custom_fields_repository;
/** @var CustomFieldsResponseBuilder */
private $custom_fields_response_builder;
function __construct(
PageRenderer $page_renderer,
FeaturesController $features_controller,
CustomFieldsRepository $custom_fields_repository,
CustomFieldsResponseBuilder $custom_fields_response_builder
) {
$this->page_renderer = $page_renderer;
$this->features_controller = $features_controller;
$this->custom_fields_repository = $custom_fields_repository;
$this->custom_fields_response_builder = $custom_fields_response_builder;
}
function render() {
@ -48,6 +64,8 @@ class FormEditor {
if ($this->features_controller->isSupported(FeaturesController::NEW_FORM_EDITOR)) {
$data['form']['styles'] = FormRenderer::getStyles($form);
$custom_fields = $this->custom_fields_repository->findAll();
$data['custom_fields'] = $this->custom_fields_response_builder->buildBatch($custom_fields);
$this->page_renderer->displayPage('form/editor.html', $data);
} else {
$this->page_renderer->displayPage('form/editor_legacy.html', $data);