Example #1
0
 /**
  *
  * @param \GO\Base\Model $model
  * @return array formatted grid row key value array
  */
 public function formatModel($model)
 {
     $oldLevel = error_reporting(E_ERROR);
     //suppress errors in the eval'd code
     $formattedRecord = array();
     if ($model instanceof \GO\Base\Db\ActiveRecord) {
         $formattedRecord = $model->getAttributes($this->_modelFormatType);
     }
     $columns = $this->getColumns();
     foreach ($columns as $column) {
         $column->setModelFormatType($this->_modelFormatType);
         $formattedRecord[$column->getDataIndex()] = $column->render($model);
     }
     error_reporting($oldLevel);
     if (isset($this->_formatRecordFunction)) {
         $formattedRecord = call_user_func($this->_formatRecordFunction, $formattedRecord, $model, $this);
         if (!$formattedRecord) {
             if (is_array($this->_formatRecordFunction)) {
                 $str = $this->_formatRecordFunction[1];
             } else {
                 $str = $this->_formatRecordFunction;
             }
             throw new \Exception("Fatal error: {$str} should return the record");
         }
     }
     return $formattedRecord;
 }