[BUGFIX] Just compare field uids and not complete objects
authorAlex Kellner <alexander.kellner@in2code.de>
Tue, 23 Aug 2016 12:51:34 +0000 (14:51 +0200)
committerAlex Kellner <alexander.kellner@in2code.de>
Tue, 23 Aug 2016 12:51:34 +0000 (14:51 +0200)
It turned out that id could cause problems if someone extends powermail field model with an own model. In this case an original powermail field model will be compared with an extended field model. To simple prevent this, the comperization respects now only the field uid

related: #77266

Classes/Domain/Model/Rule.php

index f3bef68..24dd468 100644 (file)
@@ -211,7 +211,7 @@ class Rule extends AbstractEntity
         foreach ($form->getPages() as $page) {
             /** @var Field $field */
             foreach ($page->getFields() as $field) {
-                if ($field === $this->startField) {
+                if ($field !== null && $this->startField !== null && $field->getUid() === $this->startField->getUid()) {
                     $comparison = new Comparison($this->ops);
                     if ($comparison->evaluate($field, $this->condString, $equalField)) {
                         return true;