Browse Source

Add support for `autoLayout` in email configuration profile (#16230)

Add support for `autoLayout` in email configuration profile

Co-authored-by: Mark Story <mark@mark-story.com>
Co-authored-by: othercorey <corey.taylor.fl@gmail.com>
Gerhard Lechner 4 years ago
parent
commit
0b6cb93d8a
2 changed files with 9 additions and 0 deletions
  1. 6 0
      src/Mailer/Mailer.php
  2. 3 0
      tests/TestCase/Mailer/MailerTest.php

+ 6 - 0
src/Mailer/Mailer.php

@@ -459,6 +459,12 @@ class Mailer implements EventListenerInterface
             $this->viewBuilder()->setVars($config['viewVars']);
             unset($config['viewVars']);
         }
+        if (isset($config['autoLayout'])) {
+            if ($config['autoLayout'] === false) {
+                $this->viewBuilder()->disableAutoLayout();
+            }
+            unset($config['autoLayout']);
+        }
 
         if (isset($config['log'])) {
             $this->setLogConfig($config['log']);

+ 3 - 0
tests/TestCase/Mailer/MailerTest.php

@@ -303,6 +303,7 @@ class MailerTest extends TestCase
             'transport' => 'debug',
             'theme' => 'TestTheme',
             'helpers' => ['Html', 'Form'],
+            'autoLayout' => false,
         ];
         Mailer::setConfig('test', $config);
         $this->mailer->setProfile('test');
@@ -325,6 +326,8 @@ class MailerTest extends TestCase
         $result = $this->mailer->viewBuilder()->getHelpers();
         $this->assertEquals($config['helpers'], $result);
 
+        $this->assertFalse($this->mailer->viewBuilder()->isAutoLayoutEnabled());
+
         Mailer::drop('test');
     }