Unify options check with segments

[MAILPOET-2900]
This commit is contained in:
Jan Jakeš
2020-05-20 15:48:31 +02:00
committed by Veljko V
parent 2c9341afff
commit 492c3e8f27

View File

@ -104,7 +104,9 @@ class NewsletterSaveController {
if (!empty($data['segments'])) { if (!empty($data['segments'])) {
$this->updateSegments($newsletter, $data['segments']); $this->updateSegments($newsletter, $data['segments']);
} }
$this->updateOptions($newsletter, $data['options'] ?? []); if (!empty($data['options'])) {
$this->updateOptions($newsletter, $data['options']);
}
// fetch model with updated options (for back compatibility) // fetch model with updated options (for back compatibility)
$newsletterModel = Newsletter::filter('filterWithOptions', $newsletter->getType())->findOne($newsletter->getId()); $newsletterModel = Newsletter::filter('filterWithOptions', $newsletter->getType())->findOne($newsletter->getId());
@ -201,10 +203,6 @@ class NewsletterSaveController {
} }
private function updateOptions(NewsletterEntity $newsletter, array $options) { private function updateOptions(NewsletterEntity $newsletter, array $options) {
if (!$options) {
return;
}
$optionFields = $this->newsletterOptionFieldsRepository->findBy(['newsletterType' => $newsletter->getType()]); $optionFields = $this->newsletterOptionFieldsRepository->findBy(['newsletterType' => $newsletter->getType()]);
foreach ($optionFields as $optionField) { foreach ($optionFields as $optionField) {
if (!isset($options[$optionField->getName()])) { if (!isset($options[$optionField->getName()])) {