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
{