/** * @see parent::save() * * @param bool $check_notify * * @return string */ public function save($check_notify = false) { //If we are saving due to relationship changes, don't bother trying to update the emails if (!empty($GLOBALS['resavingRelatedBeans'])) { parent::save($check_notify); return $this->id; } $this->add_address_streets('primary_address_street'); $this->add_address_streets('alt_address_street'); $ori_in_workflow = empty($this->in_workflow) ? false : true; $this->emailAddress->handleLegacySave($this, $this->module_dir); // bug #39188 - store emails state before workflow make any changes $this->emailAddress->stash($this->id, $this->module_dir); parent::save($check_notify); // $this->emailAddress->evaluateWorkflowChanges($this->id, $this->module_dir); $override_email = []; if (!empty($this->email1_set_in_workflow)) { $override_email['emailAddress0'] = $this->email1_set_in_workflow; } if (!empty($this->email2_set_in_workflow)) { $override_email['emailAddress1'] = $this->email2_set_in_workflow; } if (!isset($this->in_workflow)) { $this->in_workflow = false; } if ($ori_in_workflow === false || !empty($override_email)) { $this->emailAddress->saveForBean($this->id, $this->module_dir, $override_email, '', '', '', '', $this->in_workflow); } return $this->id; }