/**
  * Called after the check that all required registry values
  * have been set correctly has run.
  *
  * @return void
  */
 public function afterRegistry()
 {
     parent::afterRegistry();
     //If we are allowed to see who filled out a survey, modify the model accordingly
     if ($this->currentUser->hasPrivilege('pr.respondent.who')) {
         $this->addLeftTable('gems__staff', array('gto_by' => 'gems__staff_2.gsf_id_user'));
         $this->addColumn(new \Zend_Db_Expr('CASE
             WHEN gems__staff_2.gsf_id_user IS NULL THEN COALESCE(gems__track_fields.gtf_field_name, gems__groups.ggp_name)
             ELSE COALESCE(CONCAT_WS(
                 " ",
                 CONCAT(COALESCE(gems__staff_2.gsf_last_name, "-"), ","),
                 gems__staff_2.gsf_first_name,
                 gems__staff_2.gsf_surname_prefix
                 ))
             END'), 'ggp_name');
     } else {
         $this->set('ggp_name', 'column_expression', new \Zend_Db_Expr('COALESCE(gems__track_fields.gtf_field_name, gems__groups.ggp_name)'));
     }
     if ($this->currentUser->hasPrivilege('pr.respondent.result')) {
         $this->addColumn('gto_result', 'calc_result', 'gto_result');
     } else {
         $this->addColumn(new \Zend_Db_Expr('NULL'), 'calc_result', 'gto_result');
     }
 }
 /**
  * Called after the check that all required registry values
  * have been set correctly has run.
  *
  * @return void
  */
 public function afterRegistry()
 {
     parent::afterRegistry();
     $this->setOnSave('gr2o_opened', new \MUtil_Db_Expr_CurrentTimestamp());
     $this->setSaveOnChange('gr2o_opened');
     $this->setOnSave('gr2o_opened_by', $this->currentUser->getUserId());
     $this->setSaveOnChange('gr2o_opened_by');
 }