示例#1
0
 /**
  * load info object
  *
  * @author                                    youzhao.zxw<*****@*****.**>
  * @param   string          $infoType         bug,case or result
  * @param   int             $id               info object id
  * @return  array                             load data result
  */
 public static function loadRawData($infoType, $id)
 {
     $resultInfo = array();
     $mixedInfo = new MixInfo();
     $infoType = strtolower($infoType);
     $className = ucfirst($infoType) . 'InfoView';
     $targetModel = new $className();
     $model = $targetModel->model()->findByPk((int) $id);
     if (null === $model) {
         $resultInfo['status'] = CommonService::$ApiResult['FAIL'];
         $resultInfo['detail'] = Yii::t('Common', 'Requested object does not exist');
         return $resultInfo;
     }
     $modelProductId = $model->product_id;
     if (!Info::isProductAccessable($modelProductId)) {
         $resultInfo['status'] = CommonService::$ApiResult['FAIL'];
         $resultInfo['detail'] = Yii::t('Common', 'No access right');
         return $resultInfo;
     } else {
         $fileInfo = TestFileService::getRelatedFileInfos($infoType, $id);
         $model->attachment_file = $fileInfo;
         $mixedInfo->setBasicInfo($model);
         $customInfo = FieldConfigService::getCustomFieldValue($model->product_id, $infoType, $id);
         if (false === $customInfo) {
             $customInfo = array();
         }
         $mixedInfo->setCustomInfo($customInfo);
     }
     $model->assign_to_name = CommonService::getUserRealName($model->assign_to);
     $resultInfo['status'] = CommonService::$ApiResult['SUCCESS'];
     $resultInfo['detail'] = $mixedInfo;
     return $resultInfo;
 }