diff --git a/module/common/model.php b/module/common/model.php index 1fd70bdd5f..4e965e2fb3 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -1646,7 +1646,7 @@ EOD; if(strtolower($module) == 'bug' and strtolower($method) == 'tostory') ($module = 'story') and ($method = 'create'); if(strtolower($module) == 'bug' and strtolower($method) == 'createcase') ($module = 'testcase') and ($method = 'create'); if($config->systemMode == 'classic' and strtolower($module) == 'project') $module = 'execution'; - if(!commonModel::hasPriv($module, $method, $object)) return false; + if(!commonModel::hasPriv($module, $method, $object, $vars)) return false; $link = helper::createLink($module, $method, $vars, '', $onlyBody, $programID); @@ -1897,8 +1897,9 @@ EOD; $title = isset($preAndNext->pre->title) ? $preAndNext->pre->title : $preAndNext->pre->name; $title = '#' . $preAndNext->pre->$id . ' ' . $title . ' ' . $lang->preShortcutKey; - $link = $linkTemplate ? sprintf($linkTemplate, $preAndNext->pre->$id) : helper::createLink($moduleName, 'view', "ID={$preAndNext->pre->$id}"); - $link .= '#app=' . $app->tab; + $params = $moduleName == 'story' ? "&version=0¶m=0&storyType={$preAndNext->pre->type}" : ''; + $link = $linkTemplate ? sprintf($linkTemplate, $preAndNext->pre->$id) : helper::createLink($moduleName, 'view', "ID={$preAndNext->pre->$id}" . $params); + $link .= '#app=' . $app->tab; if(isset($preAndNext->pre->objectType) and $preAndNext->pre->objectType == 'doc') { echo html::a('javascript:void(0)', '', '', "id='prevPage' class='btn' title='{$title}' data-url='{$link}'"); @@ -1913,7 +1914,8 @@ EOD; $id = (isset($_SESSION['testcaseOnlyCondition']) and !$_SESSION['testcaseOnlyCondition'] and $app->getModuleName() == 'testcase' and isset($preAndNext->next->case)) ? 'case' : 'id'; $title = isset($preAndNext->next->title) ? $preAndNext->next->title : $preAndNext->next->name; $title = '#' . $preAndNext->next->$id . ' ' . $title . ' ' . $lang->nextShortcutKey; - $link = $linkTemplate ? sprintf($linkTemplate, $preAndNext->next->$id) : helper::createLink($moduleName, 'view', "ID={$preAndNext->next->$id}"); + $params = $moduleName == 'story' ? "&version=0¶m=0&storyType={$preAndNext->next->type}" : ''; + $link = $linkTemplate ? sprintf($linkTemplate, $preAndNext->next->$id) : helper::createLink($moduleName, 'view', "ID={$preAndNext->next->$id}" . $params); $link .= '#app=' . $app->tab; if(isset($preAndNext->next->objectType) and $preAndNext->next->objectType == 'doc') { @@ -2455,7 +2457,7 @@ EOD; $method = strtolower($method); parse_str($vars, $params); - if($module == 'story' and !empty($app->params['storyType']) and strpos(",story,requirement,", ",{$app->params['storyType']},") !== false) $module = $app->params['storyType']; + if(empty($params['storyType']) and $module == 'story' and !empty($app->params['storyType']) and strpos(",story,requirement,", ",{$app->params['storyType']},") !== false) $module = $app->params['storyType']; if($module == 'story' and !empty($params['storyType']) and strpos(",story,requirement,", ",{$params['storyType']},") !== false) $module = $params['storyType']; if($module == 'product' and $method == 'browse' and !empty($app->params['storyType']) and $app->params['storyType'] == 'requirement') $method = 'requirement'; if($module == 'product' and $method == 'browse' and !empty($params['storyType']) and $params['storyType'] == 'requirement') $method = 'requirement'; diff --git a/module/story/model.php b/module/story/model.php index 8e4399c02b..9329562410 100644 --- a/module/story/model.php +++ b/module/story/model.php @@ -4113,7 +4113,7 @@ class storyModel extends model if($story->stage == 'projected') $title = $this->lang->story->subDivideTip['projected']; } } - $menu .= $this->buildMenu('story', 'batchCreate', "productID=$story->product&branch=$story->branch&module=$story->module&$params", $story, $type, 'split', '', 'showinonlybody', '', '', $title); + $menu .= $this->buildMenu('story', 'batchCreate', "productID=$story->product&branch=$story->branch&module=$story->module&$params&executionID=0&plan=0&storyType=story", $story, $type, 'split', '', 'showinonlybody', '', '', $title); } if($this->app->rawModule == 'projectstory' and $this->config->vision != 'lite') $menu .= $this->buildMenu('projectstory', 'unlinkStory', "projectID={$this->session->project}&$params", $story, $type, 'unlink', 'hiddenwin', 'showinonlybody'); @@ -4130,7 +4130,7 @@ class storyModel extends model $menu .= $this->buildMenu('story', 'recall', $params . "&from=view&storyType=$story->type", $story, $type, 'undo', '', 'showinonlybody'); $menu .= $this->buildMenu('story', 'review', $params . "&from=product&storyType=$story->type", $story, $type, 'search', '', 'showinonlybody'); - if(!isonlybody()) $menu .= $this->buildMenu('story', 'batchCreate', "productID=$story->product&branch=$story->branch&moduleID=$story->module&$params", $story, $type, 'split', '', 'divideStory', true, "data-toggle='modal' data-type='iframe' data-width='95%'", $this->lang->story->subdivide); + if(!isonlybody()) $menu .= $this->buildMenu('story', 'batchCreate', "productID=$story->product&branch=$story->branch&moduleID=$story->module&$params&executionID=0&plan=0&storyType=story", $story, $type, 'split', '', 'divideStory', true, "data-toggle='modal' data-type='iframe' data-width='95%'", $this->lang->story->subdivide); $menu .= $this->buildMenu('story', 'assignTo', $params . "&kanbanGroup=default&from=&storyType=$story->type", $story, $type, '', '', 'iframe showinonlybody', true); $menu .= $this->buildMenu('story', 'close', $params . "&from=&storyType=$story->type", $story, $type, '', '', 'iframe showinonlybody', true);