/**
  * Add organization id and gul_user_class when needed
  *
  * @param mixed $row array or \Traversable row
  * @param scalar $key
  * @return mixed Row array or false when errors occurred
  */
 public function translateRowValues($row, $key)
 {
     $row = parent::translateRowValues($row, $key);
     if (!$row) {
         return false;
     }
     if (!isset($row['gsf_id_organization'])) {
         $row['gsf_id_organization'] = $this->_organization->getId();
         if (!isset($row['gul_user_class'])) {
             $row['gul_user_class'] = $this->_organization->get('gor_user_class');
         }
     } elseif (!isset($row['gul_user_class'])) {
         $row['gul_user_class'] = $this->loader->getUserLoader()->getOrganization($row['gsf_id_organization'])->get('gor_user_class');
     }
     return $row;
 }
 /**
  * Perform any translations necessary for the code to work
  *
  * @param mixed $row array or \Traversable row
  * @param scalar $key
  * @return mixed Row array or false when errors occurred
  */
 public function translateRowValues($row, $key)
 {
     $row = parent::translateRowValues($row, $key);
     if (!$row) {
         return false;
     }
     if (!isset($row['grs_id_user']) && isset($row['gr2o_patient_nr'], $row['gr2o_id_organization'])) {
         $sql = 'SELECT gr2o_id_user
                 FROM gems__respondent2org
                 WHERE gr2o_patient_nr = ? AND gr2o_id_organization = ?';
         $id = $this->db->fetchOne($sql, array($row['gr2o_patient_nr'], $row['gr2o_id_organization']));
         if ($id) {
             $row['grs_id_user'] = $id;
             $row['gr2o_id_user'] = $id;
         }
     }
     if (!isset($row['grs_email'])) {
         $row['calc_email'] = 1;
     }
     return $row;
 }
 /**
  * Prepare for the import.
  *
  * @return \MUtil_Model_ModelTranslatorAbstract (continuation pattern)
  */
 public function startImport()
 {
     if ($this->_targetModel instanceof \MUtil_Model_ModelAbstract) {
         // No multiOptions as a new items can be created during import
         $fields = array('gap_id_attended_by', 'gap_id_referred_by', 'gap_id_activity', 'gap_id_procedure', 'gap_id_location');
         foreach ($fields as $name) {
             $this->_targetModel->del($name, 'multiOptions');
         }
     }
     return parent::startImport();
 }