Remove old form model from MP2 migrator

[MAILPOET-3644]
This commit is contained in:
Pavel Dohnal
2021-09-15 13:59:19 +02:00
committed by Veljko V
parent 05d69913a6
commit b94b8f119a
2 changed files with 24 additions and 15 deletions

View File

@@ -2,8 +2,9 @@
namespace MailPoet\Config;
use MailPoet\Entities\FormEntity;
use MailPoet\Form\FormsRepository;
use MailPoet\Models\CustomField;
use MailPoet\Models\Form;
use MailPoet\Models\MappingToExternalEntities;
use MailPoet\Models\Segment;
use MailPoet\Models\Subscriber;
@@ -28,6 +29,9 @@ class MP2Migrator {
/** @var Activator */
private $activator;
/** @var FormsRepository */
private $formsRepository;
private $logFile;
public $logFileUrl;
public $progressbar;
@@ -44,6 +48,7 @@ class MP2Migrator {
public function __construct(
SettingsController $settings,
FormsRepository $formsRepository,
Activator $activator
) {
$this->defineMP2Tables();
@@ -53,6 +58,7 @@ class MP2Migrator {
$this->progressbar = new ProgressBar('mp2migration');
$this->settings = $settings;
$this->activator = $activator;
$this->formsRepository = $formsRepository;
}
private function defineMP2Tables() {
@@ -825,12 +831,11 @@ class MP2Migrator {
if (is_array($forms)) {
foreach ($forms as $form) {
$newForm = $this->importForm($form);
if (!empty($newForm)) {
$importedFormsCount++;
}
$this->importForm($form);
$importedFormsCount++;
}
}
$this->formsRepository->flush();
$this->progressbar->incrementCurrentCount($formsCount);
} while (($forms != null) && ($formsCount > 0));
@@ -865,7 +870,6 @@ class MP2Migrator {
* Import a form
*
* @param array $formData Form data
* @return Form
*/
private function importForm($formData) {
$serializedData = base64_decode($formData['data']);
@@ -916,13 +920,13 @@ class MP2Migrator {
];
}
$form = Form::createOrUpdate([
'name' => $formData['name'],
'body' => $mp3FormBody,
'settings' => $mp3FormSettings,
]);
$form = new FormEntity($formData['name']);
$form->setBody($mp3FormBody);
$form->setSettings($mp3FormSettings);
$this->formsRepository->persist($form);
$this->settings->set('last_imported_form_id', $formData['form_id']);
return $form;
}
/**