* Finish task #9049.

This commit is contained in:
tianshujie98
2021-01-18 11:34:01 +08:00
parent 0b7969de49
commit 418039eecf
3 changed files with 32 additions and 11 deletions
+2 -2
View File
@@ -59,8 +59,8 @@
echo '</button>';
echo "<ul class='dropdown-menu pull-right' id='createActionMenu'>";
$storyModuleID = (int)$this->cookie->storyModuleParam;
if(common::hasPriv('story', 'create')) echo '<li>' . html::a($this->createLink('story', 'create', "productID=$productID&branch=0&moduleID={$storyModuleID}&story=0&project=$project->id#open=project"), $lang->story->create) . '</li>';
if(common::hasPriv('story', 'batchCreate')) echo '<li>' . html::a($this->createLink('story', 'batchCreate', "productID=$productID&branch=0&moduleID={$storyModuleID}&story=0&project=$project->id#open=project"), $lang->story->batchCreate) . '</li>';
if(common::hasPriv('story', 'create')) echo '<li>' . html::a($this->createLink('story', 'create', "productID=$productID&branch=0&moduleID={$storyModuleID}&story=0&project=$project->id#open=project"), $lang->story->create, '', "data-group='project'") . '</li>';
if(common::hasPriv('story', 'batchCreate')) echo '<li>' . html::a($this->createLink('story', 'batchCreate', "productID=$productID&branch=0&moduleID={$storyModuleID}&story=0&project=$project->id#open=project"), $lang->story->batchCreate, '', "data-group='project'") . '</li>';
echo '</ul>';
echo '</div>';
}
+2 -1
View File
@@ -345,7 +345,8 @@ class story extends control
}
else
{
$this->app->rawModule = 'project';
$this->lang->navGroup->story = 'project';
}
$this->view->project = $prj;
}
+28 -8
View File
@@ -240,16 +240,15 @@ class storyModel extends model
$data->verify = $story->verify;
$this->dao->insert(TABLE_STORYSPEC)->data($data)->exec();
/* Project or execution linked story. */
if($projectID != 0 and $story->status != 'draft')
{
$lastOrder = (int)$this->dao->select('*')->from(TABLE_PROJECTSTORY)->where('project')->eq($projectID)->orderBy('order_desc')->limit(1)->fetch('order');
$this->dao->insert(TABLE_PROJECTSTORY)
->set('project')->eq($projectID)
->set('product')->eq($this->post->product)
->set('story')->eq($storyID)
->set('version')->eq(1)
->set('order')->eq($lastOrder + 1)
->exec();
$this->linkStory($projectID, $this->post->product, $storyID);
}
if($projectID != $this->session->PRJ)
{
$this->linkStory($this->session->PRJ, $this->post->product, $storyID);
}
if(is_array($this->post->URS))
@@ -3731,6 +3730,27 @@ class storyModel extends model
return $story;
}
/**
* Link a story.
*
* @param int $projectID
* @param int $productID
* @param int $storyID
* @access public
* @return void
*/
public function linkStory($projectID, $productID, $storyID)
{
$lastOrder = (int)$this->dao->select('*')->from(TABLE_PROJECTSTORY)->where('project')->eq($projectID)->orderBy('order_desc')->limit(1)->fetch('order');
$this->dao->insert(TABLE_PROJECTSTORY)
->set('project')->eq($projectID)
->set('product')->eq($productID)
->set('story')->eq($storyID)
->set('version')->eq(1)
->set('order')->eq($lastOrder + 1)
->exec();
}
/**
* Link stories.
*