/** * Hook that loads the form data from $_POST or the model * * Or from whatever other source you specify here. */ protected function loadFormData() { if (!$this->formData) { parent::loadFormData(); $model = $this->getModel(); $roles = $model->get('ggp_role', 'multiOptions'); $userRoles = $this->currentUser->getAllowedRoles(); // \MUtil_Echo::track($userRoles, $roles); // Make sure we get the roles as they are labeled foreach ($roles as $role => $label) { if (!isset($userRoles[$role])) { unset($roles[$role]); } } if ($this->formData['ggp_role'] && !isset($roles[$this->formData['ggp_role']])) { if ($this->createData) { $this->formData['ggp_role'] = reset($roles); } else { $this->addMessage($this->_('You do not have sufficient privilege to edit this group.')); $this->afterSaveRouteUrl = array($this->request->getActionKey() => 'show'); $this->resetRoute = false; return; } } $model->set('ggp_role', 'multiOptions', $roles); $this->menu->getParameterSource()->offsetSet('ggp_role', $this->formData['ggp_role']); } }
/** * Hook that loads the form data from $_POST or the model * * Or from whatever other source you specify here. */ protected function loadFormData() { parent::loadFormData(); if ($this->request->isPost()) { if (!$this->_saveButton || !$this->_saveButton->isChecked()) { if (isset($this->formData['grs_ssn']) && $this->formData['grs_ssn']) { $filter = array('grs_ssn' => $this->formData['grs_ssn'], 'gr2o_id_organization' => true); if ($this->formData['gr2o_id_organization']) { $orgId = $this->formData['gr2o_id_organization']; } else { $orgId = $this->model->get('gr2o_id_organization', 'default'); } $order = array($this->db->quoteInto("CASE WHEN gr2o_id_organization = ? THEN 1 ELSE 2 END", $orgId) => SORT_ASC); $data = $this->model->loadFirst($filter, $order); if ($data && !isset($this->formData[$this->saveButtonId])) { // \MUtil_Echo::track($this->formData); // \MUtil_Echo::track($data); // Do not use this value unset($data['grs_ssn']); if ($data['gr2o_id_organization'] == $orgId) { // gr2o_patient_nr // gr2o_id_organization $this->addMessage($this->_('Known respondent.')); //* foreach ($data as $name => $value) { if (substr($name, 0, 4) == 'grs_' || substr($name, 0, 5) == 'gr2o_') { if (array_key_exists($name, $this->formData)) { $this->formData[$name] = $value; } $cname = $this->model->getKeyCopyName($name); if (array_key_exists($cname, $this->formData)) { $this->formData[$cname] = $value; } } } // */ } else { $org = $this->loader->getOrganization($data['gr2o_id_organization']); $this->addMessage(sprintf($this->_('Respondent data retrieved from %s.'), $org->getName())); foreach ($data as $name => $value) { if (substr($name, 0, 4) == 'grs_' && array_key_exists($name, $this->formData)) { $this->formData[$name] = $value; } } } } } } } }
/** * Load extra data not from the model into the form */ protected function loadFormData() { parent::loadFormData(); $this->loadMailer(); if (isset($this->formData['gctt'])) { $multi = false; if (count($this->formData['gctt']) > 1) { $multi = true; $allLanguages = $this->util->getLocalized()->getLanguages(); } $preview = $this->getPreview($this->formData['gctt']); $this->formData['preview_html'] = $preview['html']; $this->formData['preview_text'] = $preview['text']; } if (!isset($this->formData['to'])) { $organization = $this->mailer->getOrganization(); $this->formData['to'] = $this->formData['from'] = null; if ($organization->getEmail()) { $this->formData['to'] = $this->formData['from'] = $organization->getEmail(); } elseif ($this->project->getSiteEmail()) { $this->formData['to'] = $this->formData['from'] = $this->project->getSiteEmail(); } } $this->formData['available_fields'] = $this->mailElements->displayMailFields($this->mailer->getMailFields()); }