diff --git a/config/zentaopms.php b/config/zentaopms.php index 807ec5189c..42527f2f3e 100644 --- a/config/zentaopms.php +++ b/config/zentaopms.php @@ -226,6 +226,7 @@ if(!defined('TABLE_SEARCHDICT')) define('TABLE_SEARCHDICT', $config->db->prefi $config->objectTables['product'] = TABLE_PRODUCT; $config->objectTables['productplan'] = TABLE_PRODUCTPLAN; $config->objectTables['story'] = TABLE_STORY; +$config->objectTables['requirement'] = TABLE_STORY; $config->objectTables['release'] = TABLE_RELEASE; $config->objectTables['program'] = TABLE_PROJECT; $config->objectTables['project'] = TABLE_PROJECT; diff --git a/module/doc/model.php b/module/doc/model.php index 3cae0d0c09..ee88da4bd2 100644 --- a/module/doc/model.php +++ b/module/doc/model.php @@ -1300,7 +1300,7 @@ class docModel extends model ->where('size')->gt('0') ->andWhere("(objectType = 'product' and objectID = $objectID)", true) ->orWhere("(objectType = 'doc' and objectID in ($docIdList))") - ->orWhere("(objectType = 'story' and objectID in ($storyIdList))") + ->orWhere("(objectType in ('story','requirement') and objectID in ($storyIdList))") ->orWhere("(objectType = 'bug' and objectID in ($bugIdList))") ->orWhere("(objectType = 'release' and objectID in ($releaseIdList))") ->orWhere("(objectType = 'testreport' and objectID in ($testReportIdList))") @@ -1424,7 +1424,7 @@ class docModel extends model foreach($sourceList as $type => $idList) { $table = $this->config->objectTables[$type]; - $title = in_array($type, array('story', 'bug', 'issue', 'case', 'testcase', 'testreport', 'doc')) ? 'title' : 'name'; + $title = in_array($type, array('story', 'bug', 'issue', 'case', 'testcase', 'testreport', 'doc', 'requirement')) ? 'title' : 'name'; $name = $this->dao->select('id,' . $title)->from($table)->where('id')->in($idList)->fetchPairs('id'); $sourcePairs[$type] = $name; } diff --git a/module/doc/view/showfiles.html.php b/module/doc/view/showfiles.html.php index 7cec48b8b8..f1de463cbb 100644 --- a/module/doc/view/showfiles.html.php +++ b/module/doc/view/showfiles.html.php @@ -44,7 +44,7 @@ extension, '', $file->title);?> - {$file->objectType}->common . ' : ';?>objectID");?>'>objectType][$file->objectID];?> + objectType == 'requirement' ? $lang->file->requirement : $lang->{$file->objectType}->common) . ' : ';?>objectType), 'view', "objectID=$file->objectID");?>'>objectType][$file->objectID];?> extension;?> size / 1024, 1) . 'K';?> addedBy) ? zget($users, $file->addedBy) : '';?> diff --git a/module/file/lang/de.php b/module/file/lang/de.php index e3dc78f6dd..7c47bd4dae 100644 --- a/module/file/lang/de.php +++ b/module/file/lang/de.php @@ -31,6 +31,7 @@ $lang->file->preview = "Vorschau"; $lang->file->addFile = 'Hinzufügen'; $lang->file->beginUpload = 'Upload'; $lang->file->uploadSuccess = 'Hochgeladen!'; +$lang->file->requirement = $lang->URCommon; $lang->file->pathname = 'Pfadname'; $lang->file->title = 'Titel'; diff --git a/module/file/lang/en.php b/module/file/lang/en.php index 92fd91c82c..71592c9a3b 100644 --- a/module/file/lang/en.php +++ b/module/file/lang/en.php @@ -31,6 +31,7 @@ $lang->file->preview = "Preview"; $lang->file->addFile = 'Add'; $lang->file->beginUpload = 'Click to Upload'; $lang->file->uploadSuccess = 'Uploaded!'; +$lang->file->requirement = $lang->URCommon; $lang->file->pathname = 'Path Name'; $lang->file->title = 'Title'; diff --git a/module/file/lang/fr.php b/module/file/lang/fr.php index 205a4583ad..ee34105818 100644 --- a/module/file/lang/fr.php +++ b/module/file/lang/fr.php @@ -31,6 +31,7 @@ $lang->file->preview = "Apperçu"; $lang->file->addFile = 'Ajouter'; $lang->file->beginUpload = 'Clic pour Charger'; $lang->file->uploadSuccess = 'Chargé !'; +$lang->file->requirement = $lang->URCommon; $lang->file->pathname = 'Nom Chemin'; $lang->file->title = 'Titre'; diff --git a/module/file/lang/vi.php b/module/file/lang/vi.php index ed20218ac0..9312b364a1 100644 --- a/module/file/lang/vi.php +++ b/module/file/lang/vi.php @@ -31,6 +31,7 @@ $lang->file->preview = "Preview"; $lang->file->addFile = 'Thêm'; $lang->file->beginUpload = 'Click to Upload'; $lang->file->uploadSuccess = 'Uploaded!'; +$lang->file->requirement = $lang->URCommon; $lang->file->pathname = 'Path tên'; $lang->file->title = 'Tiêu đề'; diff --git a/module/file/lang/zh-cn.php b/module/file/lang/zh-cn.php index ec4ebbdaa7..ceeac4506b 100644 --- a/module/file/lang/zh-cn.php +++ b/module/file/lang/zh-cn.php @@ -31,6 +31,7 @@ $lang->file->preview = "预览"; $lang->file->addFile = '添加文件'; $lang->file->beginUpload = '开始上传'; $lang->file->uploadSuccess = '上传成功'; +$lang->file->requirement = $lang->URCommon; $lang->file->pathname = '路径'; $lang->file->title = '标题'; diff --git a/module/file/lang/zh-tw.php b/module/file/lang/zh-tw.php index 22f3e3cb9e..db5b03b9d1 100644 --- a/module/file/lang/zh-tw.php +++ b/module/file/lang/zh-tw.php @@ -31,6 +31,7 @@ $lang->file->preview = "預覽"; $lang->file->addFile = '添加檔案'; $lang->file->beginUpload = '開始上傳'; $lang->file->uploadSuccess = '上傳成功'; +$lang->file->requirement = $lang->URCommon; $lang->file->pathname = '路徑'; $lang->file->title = '標題'; diff --git a/module/story/control.php b/module/story/control.php index 6415b1fe15..c9f87b0461 100644 --- a/module/story/control.php +++ b/module/story/control.php @@ -808,8 +808,9 @@ class story extends control if(defined('RUN_MODE') && RUN_MODE == 'api') return $this->send(array('status' => 'fail', 'message' => dao::getError())); die(js::error(dao::getError())); } + $story = $this->story->getByID($storyID); $version = $this->dao->findById($storyID)->from(TABLE_STORY)->fetch('version'); - $files = $this->loadModel('file')->saveUpload('story', $storyID, $version); + $files = $this->loadModel('file')->saveUpload($story->type, $storyID, $version); if($this->post->comment != '' or !empty($changes) or !empty($files)) { @@ -902,7 +903,7 @@ class story extends control $this->story->replaceURLang($story->type); - $story->files = $this->loadModel('file')->getByObject('story', $storyID); + $story->files = $this->loadModel('file')->getByObject($story->type, $storyID); $product = $this->dao->findById($story->product)->from(TABLE_PRODUCT)->fields('name, id, type, status')->fetch(); $plan = $this->dao->findById($story->plan)->from(TABLE_PRODUCTPLAN)->fetch('title'); $bugs = $this->dao->select('id,title')->from(TABLE_BUG)->where('story')->eq($storyID)->andWhere('deleted')->eq(0)->fetchAll(); diff --git a/module/story/model.php b/module/story/model.php index 5d3368c7c4..f7a5685fa9 100644 --- a/module/story/model.php +++ b/module/story/model.php @@ -238,8 +238,8 @@ class storyModel extends model if(!dao::isError()) { $storyID = $this->dao->lastInsertID(); - $this->file->updateObjectID($this->post->uid, $storyID, 'story'); - $this->file->saveUpload('story', $storyID, $extra = 1); + $this->file->updateObjectID($this->post->uid, $storyID, $story->type); + $this->file->saveUpload($story->type, $storyID, $extra = 1); if(!empty($story->plan)) $this->updateStoryOrderOfPlan($storyID, $story->plan); // Set story order in this plan. @@ -347,9 +347,9 @@ class storyModel extends model /** * Create story from gitlab issue. - * + * * @param object $story - * @param int $executionID + * @param int $executionID * @access public * @return int */ @@ -3444,7 +3444,7 @@ class storyModel extends model $storyIdList = array(); if(isset($stories['id'])) { - $storyIdList = array($stories['id'] => $stories['id']); + $storyIdList = array($stories['id'] => $stories['id']); } else {