/** * Adjust inform workflow attributes based on expire data * */ public function setExpireInformStatus() { $expireOptions = erLhcoreClassInstance::getExpireOptions(); $informStatusSet = false; foreach ($expireOptions as $expireOption) { $expireOption['filter']['filter']['id'] = $this->id; // We ignore status at this stage unset($expireOption['filter']['filter']['expire_inform_status']); foreach (erLhcoreClassModelInstance::getList($expireOption['filter']) as $item) { foreach ($expireOption['set'] as $attr => $attrValue) { $this->{$attr} = $attrValue; $this->saveThis(); $informStatusSet = true; } } } // None of above filters matched, so we can set default value if ($informStatusSet == false) { $this->expire_inform_status = 0; $this->saveThis(); } }