* Finish task #7812.

This commit is contained in:
Yagami
2020-09-02 11:27:34 +08:00
parent 7bf4e88a56
commit a1f4a8e7bb
14 changed files with 211 additions and 90 deletions
+98
View File
@@ -230,6 +230,15 @@ $lang->my->menu->story = array('link' => 'Story|my|story|', 'subModul
$lang->my->menu->myProject = "{$lang->projectCommon}|my|project|";
$lang->my->menu->dynamic = 'Dynamics|my|dynamic|';
global $config;
if(!empty($config->URAndSR))
{
$urCommon = zget($lang, 'urCommon', "Requirement");
$srCommon = zget($lang, 'srCommon', "Story");
$lang->my->menu->requirement = array('link' => "{$urCommon}|my|requirement|", 'subModule' => 'story');
$lang->my->menu->story = array('link' => "{$srCommon}|my|story|", 'subModule' => 'story');
}
$lang->my->dividerMenu = ',program,requirement,dynamic,';
$lang->todo = new stdclass();
@@ -250,6 +259,12 @@ $lang->product->menu->branch = '@branch@|branch|manage|productID=%s';
$lang->product->menu->module = 'Module|tree|browse|productID=%s&view=story';
$lang->product->menu->view = array('link' => 'Overview|product|view|productID=%s', 'alias' => 'edit');
if(!empty($config->URAndSR))
{
$lang->product->menu->requirement = array('link' => "{$urCommon}|product|browse|productID=%s&branch=&browseType=unclosed&param=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
$lang->product->menu->story = array('link' => "{$srCommon}|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
}
$lang->product->dividerMenu = ',plan,project,doc,';
$lang->productplan = new stdclass();
@@ -796,3 +811,86 @@ $lang->icons['confirmStoryChange'] = 'search';
$lang->icons['score'] = 'tint';
include (dirname(__FILE__) . '/menuOrder.php');
/* Waterfall menu. */
$lang->menu->waterfall = new stdclass();
$lang->menu->waterfall->programindex = array('link' => 'Index|program|index|program={PROGRAM}');
$lang->menu->waterfall->programplan = array('link' => 'Plan|programplan|browse|program={PROGRAM}', 'subModule' => 'programplan');
$lang->menu->waterfall->project = array('link' => $lang->projectCommon . '|project|task|projectID={PROJECT}', 'subModule' => ',project,task,');
$lang->menu->waterfall->weekly = array('link' => 'Weekly|weekly|index|program={PROGRAM}', 'subModule' => ',milestone,');
$lang->menu->waterfall->doc = array('link' => 'Doc|doc|index|program={PROGRAM}');
$lang->menu->waterfall->product = array('link' => 'Story|product|browse|product={PRODUCT}', 'subModule' => ',story,');
$lang->menu->waterfall->design = 'Design|design|browse|product={PRODUCT}';
$lang->menu->waterfall->ci = 'Code|repo|browse|';
$lang->menu->waterfall->qa = array('link' => 'QA|bug|browse|product={PRODUCT}', 'subModule' => ',testcase,testtask,testsuite,testreport,caselib,');
$lang->menu->waterfall->release = array('link' => 'Release|release|browse|product={PRODUCT}', 'subModule' => 'release');
$lang->menu->waterfall->issue = 'Issue|issue|browse|';
$lang->menu->waterfall->risk = 'Risk|risk|browse|';
$lang->menu->waterfall->list = array('link' => 'More|workestimation|index|program={PROGRAM}', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder');
/* Srcum menu. */
$lang->menu->srcum = new stdclass();
$lang->menu->srcum->programindex = array('link' => 'Index|program|index|program={PROGRAM}');
$lang->waterfall = new stdclass();
$lang->waterfall->subMenu = new stdclass();
$lang->waterfall->subMenu->list = new stdclass();
$lang->waterfall->subMenu->list->workestimation = array('link' => 'Estimation|workestimation|index|program=%s', 'subModule' => 'durationestimation,budget');
$lang->waterfall->subMenu->list->program = 'Program|program|edit|';
$lang->waterfallproduct = new stdclass();
$lang->workestimation = new stdclass();
$lang->budget = new stdclass();
$lang->programplan = new stdclass();
$lang->review = new stdclass();
$lang->weekly = new stdclass();
$lang->milestone = new stdclass();
$lang->design = new stdclass();
$lang->auditplan = new stdclass();
$lang->cm = new stdclass();
$lang->nc = new stdclass();
$lang->pssp = new stdclass();
$lang->issue = new stdclass();
$lang->risk = new stdclass();
$lang->stakeholder = new stdclass();
$lang->durationestimation = new stdclass();
$lang->workestimation->menu = new stdclass();
$lang->budget->menu = new stdclass();
$lang->programplan->menu = new stdclass();
$lang->review->menu = new stdclass();
$lang->weekly->menu = new stdclass();
$lang->milestone->menu = new stdclass();
$lang->waterfallproduct->menu = new stdclass();
$lang->design->menu = new stdclass();
$lang->auditplan->menu = new stdclass();
$lang->cm->menu = new stdclass();
$lang->pssp->menu = new stdclass();
$lang->issue->menu = new stdclass();
$lang->risk->menu = new stdclass();
$lang->stakeholder->menu = new stdclass();
$lang->durationestimation->menu = new stdclass();
$lang->workestimation->menu->index = 'Workload|workestimation|index|program={PROGRAM}';
$lang->workestimation->menu->duration = array('link' => 'Duration|durationestimation|index|program={PROGRAM}', 'subModule' => 'durationestimation');
$lang->workestimation->menu->budget = array('link' => 'Budget|budget|summary|', 'subModule' => 'budget');
$lang->durationestimation->menu = $lang->workestimation->menu;
$lang->budget->menu = $lang->workestimation->menu;
$lang->programplan->menu->gantt = array('link' => 'Gantt|programplan|browse|programID={PROGRAM}&productID={PRODUCT}&type=gantt');
$lang->programplan->menu->lists = array('link' => 'Stage|programplan|browse|programID={PROGRAM}&productID={PRODUCT}&type=lists', 'alias' => 'create');
$lang->waterfallproduct->menu->plan = array('link' => "{$lang->planCommon}|productplan|browse|productID={PRODUCT}", 'subModule' => 'productplan');
$lang->waterfallproduct->menu->story = 'Story|product|browse|product={PRODUCT}';
$lang->waterfallproduct->menu->track = 'Track|story|track|product={PRODUCT}';
if(!empty($config->URAndSR))
{
$lang->waterfallproduct->menu->requirement = array('link' => "{$urCommon}|product|browse|productID={PRODUCT}&branch=&browseType=unclosed&param=0&storyType=requirement");
$lang->waterfallproduct->menu->story = array('link' => "{$srCommon}|product|browse|productID={PRODUCT}");
}
$lang->nc->menu = $lang->auditplan->menu;
$lang->noMenuModule = array('my', 'todo', 'effort', 'program', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'holiday', 'custom', 'auditcl', 'subject', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'issue', 'risk', 'pssp', 'sms', 'message', 'webhook', 'search');
+26 -7
View File
@@ -143,7 +143,7 @@ $lang->system->menu->estimate = array('link' => '估算|custom|estimate|');
$lang->system->menu->stage = array('link' => '阶段|stage|browse|', 'subModule' => 'stage');
$lang->system->menu->subject = array('link' => '科目|subject|browse|');
$lang->system->menu->holiday = array('link' => '节假日|holiday|browse|');
$lang->system->menu->custom = array('link' => '自定义|custom|plan|');
$lang->system->menu->custom = array('link' => '自定义|custom|configurewaterfall|');
$lang->system->dividerMenu = ',auditcl,subject,';
if(isset($_COOKIE['systemModel']) and $_COOKIE['systemModel'] == 'scrum')
@@ -151,7 +151,7 @@ if(isset($_COOKIE['systemModel']) and $_COOKIE['systemModel'] == 'scrum')
$lang->system->menu = new stdclass();
$lang->system->menu->subject = array('link' => '科目|subject|browse|');
$lang->system->menu->holiday = array('link' => '节假日|holiday|browse|');
$lang->system->menu->custom = array('link' => '自定义|custom|concept|');
$lang->system->menu->custom = array('link' => '自定义|custom|configurescrum|');
$lang->mainNav->system = '<i class="icon icon-menu-users"></i> 组织|subject|browse|';
unset($lang->system->dividerMenu);
@@ -225,11 +225,19 @@ $lang->my->menu->program = array('link' => '项目|my|program|');
$lang->my->menu->task = array('link' => '任务|my|task|', 'subModule' => 'task');
$lang->my->menu->bug = array('link' => 'Bug|my|bug|', 'subModule' => 'bug');
$lang->my->menu->testtask = array('link' => '测试|my|testtask|', 'subModule' => 'testcase,testtask', 'alias' => 'testcase');
$lang->my->menu->requirement = array('link' => "用户需求|my|requirement|", 'subModule' => 'story');
$lang->my->menu->story = array('link' => "软件需求|my|story|", 'subModule' => 'story');
$lang->my->menu->story = array('link' => "需求|my|story|", 'subModule' => 'story');
$lang->my->menu->myProject = "{$lang->projectCommon}|my|project|";
$lang->my->menu->dynamic = '动态|my|dynamic|';
global $config;
if(!empty($config->URAndSR))
{
$urCommon = zget($lang, 'urCommon', "用户需求");
$srCommon = zget($lang, 'srCommon', "软件需求");
$lang->my->menu->requirement = array('link' => "{$urCommon}|my|requirement|", 'subModule' => 'story');
$lang->my->menu->story = array('link' => "{$srCommon}|my|story|", 'subModule' => 'story');
}
$lang->my->dividerMenu = ',program,requirement,dynamic,';
$lang->todo = new stdclass();
@@ -250,6 +258,12 @@ $lang->product->menu->branch = '@branch@|branch|manage|productID=%s';
$lang->product->menu->module = '模块|tree|browse|productID=%s&view=story';
$lang->product->menu->view = array('link' => '概况|product|view|productID=%s', 'alias' => 'edit');
if(!empty($config->URAndSR))
{
$lang->product->menu->requirement = array('link' => "{$urCommon}|product|browse|productID=%s&branch=&browseType=unclosed&param=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
$lang->product->menu->story = array('link' => "{$srCommon}|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
}
$lang->product->dividerMenu = ',project,doc,';
$lang->productplan = new stdclass();
@@ -804,7 +818,7 @@ $lang->menu->waterfall->programplan = array('link' => '计划|programplan|brows
$lang->menu->waterfall->project = array('link' => $lang->projectCommon . '|project|task|projectID={PROJECT}', 'subModule' => ',project,task,');
$lang->menu->waterfall->weekly = array('link' => '报告|weekly|index|program={PROGRAM}', 'subModule' => ',milestone,');
$lang->menu->waterfall->doc = array('link' => '文档|doc|index|program={PROGRAM}');
$lang->menu->waterfall->product = array('link' => '需求|product|browse|product={PRODUCT}&branch=&browseType=unclosed&queryID=0&storyType=requirement', 'subModule' => ',story,');
$lang->menu->waterfall->product = array('link' => '需求|product|browse|product={PRODUCT}', 'subModule' => ',story,');
$lang->menu->waterfall->design = '设计|design|browse|product={PRODUCT}';
$lang->menu->waterfall->ci = '代码|repo|browse|';
$lang->menu->waterfall->qa = array('link' => '测试|bug|browse|product={PRODUCT}', 'subModule' => ',testcase,testtask,testsuite,testreport,caselib,');
@@ -867,10 +881,15 @@ $lang->programplan->menu->gantt = array('link' => '甘特图|programplan|browse|
$lang->programplan->menu->lists = array('link' => '阶段列表|programplan|browse|programID={PROGRAM}&productID={PRODUCT}&type=lists', 'alias' => 'create');
$lang->waterfallproduct->menu->plan = array('link' => "{$lang->planCommon}|productplan|browse|productID={PRODUCT}", 'subModule' => 'productplan');
$lang->waterfallproduct->menu->requirement = '用户需求|product|browse|product={PRODUCT}&branch=&browseType=unclosed&queryID=0&storyType=requirement';
$lang->waterfallproduct->menu->story = '软件需求|product|browse|product={PRODUCT}&branch=&browseType=unclosed&queryID=0&storyType=story';
$lang->waterfallproduct->menu->story = '需求|product|browse|product={PRODUCT}';
$lang->waterfallproduct->menu->track = '跟踪矩阵|story|track|product={PRODUCT}';
if(!empty($config->URAndSR))
{
$lang->waterfallproduct->menu->requirement = array('link' => "{$urCommon}|product|browse|productID={PRODUCT}&branch=&browseType=unclosed&param=0&storyType=requirement");
$lang->waterfallproduct->menu->story = array('link' => "{$srCommon}|product|browse|productID={PRODUCT}");
}
$lang->nc->menu = $lang->auditplan->menu;
$lang->noMenuModule = array('my', 'todo', 'effort', 'program', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'holiday', 'custom', 'auditcl', 'subject', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'issue', 'risk', 'pssp', 'sms', 'message', 'webhook', 'search');
+13 -12
View File
@@ -386,12 +386,12 @@ class custom extends control
}
/**
* Display plan or not.
* Configure waterfall.
*
* @access public
* @return void
*/
public function plan()
public function configureWaterfall()
{
$this->lang->custom->menu = new stdclass();
$this->lang->navGroup->custom = 'system';
@@ -401,25 +401,26 @@ class custom extends control
$data = fixer::input('post')->get();
$this->loadModel('setting')->setItem('system.custom.planStatus', $data->planStatus);
$this->custom->setURAndSR();
if(dao::isError()) $this->send(array('result' => 'fail', 'message' => dao::getError()));
$this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink('custom', 'plan')));
$this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink('custom', 'configurewaterfall')));
}
$this->view->title = $this->lang->custom->common . $this->lang->colon . $this->lang->custom->plan;
$this->view->title = $this->lang->custom->common;
$this->view->position[] = $this->lang->custom->common;
$this->view->position[] = $this->lang->custom->plan;
$this->view->status = zget($this->config->custom, 'planStatus', 0);
$this->display();
}
/**
* QC concept.
* Configure scrum.
*
* @access public
* @return void
*/
public function concept()
public function configureScrum()
{
$this->lang->custom->menu = new stdclass();
$this->lang->navGroup->custom = 'system';
@@ -427,14 +428,14 @@ class custom extends control
if($_POST)
{
$this->custom->setConcept();
$this->custom->setURAndSR();
$this->app->loadLang('common');
$locate = inlink('concept');
$locate = inlink('configureScrum');
$this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $locate));
}
$this->view->title = $this->lang->custom->concept;
$this->view->position[] = $this->lang->custom->concept;
$this->view->title = $this->lang->custom->configureScrum;
$this->view->position[] = $this->lang->custom->configureScrum;
$this->display();
}
@@ -461,7 +462,7 @@ class custom extends control
{
setCookie("systemModel", 'scrum', $this->config->cookieLife, $this->config->webRoot, '', false, true);
die(js::locate($this->createLink('custom', 'concept')));
die(js::locate($this->createLink('custom', 'configurescrum')));
}
/**
+17 -6
View File
@@ -32,9 +32,9 @@ $lang->custom->region = '区间';
$lang->custom->tips = '提示语';
$lang->custom->setTips = '设置提示语';
$lang->custom->isRange = '是否目标控制范围';
$lang->custom->plan = '排期';
$lang->custom->planStatus = '是否启用排期';
$lang->custom->concept = '概念';
$lang->custom->configureScrum = '概念';
$lang->custom->URStory = "用户需求";
$lang->custom->SRStory = "软件需求";
$lang->custom->object['program'] = '项目';
$lang->custom->program->fields['unitList'] = '预算单位';
@@ -52,9 +52,6 @@ $lang->custom->tipProgressList['SV'] = '进度偏差率(SV%)';
$lang->custom->tipCostList['CPI'] = '项目成本绩效(CPI)';
$lang->custom->tipCostList['CV'] = '成本偏差率(CV%)';
$lang->custom->planStatusList[0] = '否';
$lang->custom->planStatusList[1] = '是';
$lang->custom->tipRangeList[0] = '否';
$lang->custom->tipRangeList[1] = '是';
@@ -201,3 +198,17 @@ $lang->custom->conceptOptions->hourPoint = array();
$lang->custom->conceptOptions->hourPoint['1'] = '故事点';
$lang->custom->conceptOptions->hourPoint['2'] = '功能点';
$lang->custom->conceptOptions->hourPoint['3'] = '代码行';
$lang->custom->waterfall = new stdclass();
$lang->custom->waterfall->plan = '1.是否启用排期?';
$lang->custom->waterfall->URAndSR = '2.是否启用用户需求和软件需求概念?';
$lang->custom->waterfall->URSRName = '3.用户需求和软件需求的概念定义?';
$lang->custom->waterfallOptions = new stdclass();
$lang->custom->waterfallOptions->URAndSR = array();
$lang->custom->waterfallOptions->URAndSR[0] = '否';
$lang->custom->waterfallOptions->URAndSR[1] = '是';
$lang->custom->waterfallOptions->planStatus = array();
$lang->custom->waterfallOptions->planStatus[0] = '否';
$lang->custom->waterfallOptions->planStatus[1] = '是';
+24 -2
View File
@@ -550,14 +550,15 @@ class customModel extends model
}
/**
* Set qc concept.
* Set product and project concept.
*
* @access public
* @return void
*/
public function setConcept()
{
$this->loadModel('setting')->setItem('system.custom.productProject', $this->post->productProject);
$this->loadModel('setting');
$this->setting->setItem('system.custom.productProject', $this->post->productProject);
/* Change block title. */
$oldConfig = isset($this->config->custom->productProject) ? $this->config->custom->productProject : '0_0';
@@ -577,6 +578,27 @@ class customModel extends model
}
}
/**
* Set ur and sr concept.
*
* @access public
* @return void
*/
public function setURAndSR()
{
$data = fixer::input('post')->get();
$this->loadModel('setting')->setItem('system.custom.URAndSR', $data->URAndSR);
if($data->URAndSR)
{
$clientLang = $this->app->getClientLang();
$URSRName = isset($this->config->custom->URSRName) ? json_decode($this->config->custom->URSRName, true) : array();
$URSRName['urCommon'][$clientLang] = $data->urCommon[$clientLang];
$URSRName['srCommon'][$clientLang] = $data->srCommon[$clientLang];
$this->setting->setItem('system.custom.URSRName', json_encode($URSRName));
}
}
/**
* Set story or requirement.
*
-32
View File
@@ -1,32 +0,0 @@
<?php
/**
* The html template file of deny method of user module of ZenTaoPMS.
*
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL (http://zpl.pub/page/zplv12.html)
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
* @package ZenTaoPMS
* @version $Id: deny.html.php 4129 2013-01-18 01:58:14Z wwccss $
*/
?>
<?php include '../../common/view/header.html.php';?>
<div id="mainMenu" class="clearfix">
<div class="btn-toolbar pull-left">
<?php common::printLink('custom', 'concept', '', "<span class='text'>{$lang->custom->concept}</span>", '', "class='btn btn-link btn-active-text'"); ?>
</div>
</div>
<div id='mainContent' class='main-content'>
<form id='ajaxForm' class='form-ajax' method='post'>
<div class='modal-body'>
<div class="form-group">
<label><?php echo $lang->custom->conceptQuestions['overview']?></label>
<div class="checkbox"> <?php echo html::radio('productProject', $lang->custom->productProject->relation, zget($this->config->custom, 'productProject', '0_0'))?> </div>
</div>
<div class="form-group">
<label></label>
<div><?php echo html::submitButton();?></div>
</div>
</div>
</form>
</div>
<?php include '../../common/view/footer.html.php';?>
-23
View File
@@ -1,23 +0,0 @@
<?php include '../../common/view/header.html.php';?>
<div id="mainMenu" class="clearfix">
<div class="btn-toolbar pull-left">
<?php common::printLink('custom', 'plan', '', "<span class='text'>{$lang->custom->plan}</span>", '', "class='btn btn-link btn-active-text'"); ?>
</div>
</div>
<div id='mainContent' class='main-row'>
<div class='main-col main-content'>
<form class="load-indicator main-form form-ajax" method='post'>
<table class='table table-form mw-900px'>
<tr>
<th class='w-120px'><?php echo $lang->custom->planStatus;?></th>
<td><?php echo html::radio('planStatus', $lang->custom->planStatusList, $status);?></td>
</tr>
<tr>
<td></td>
<td class='text-left'><?php echo html::submitButton();?></td>
</tr>
</table>
</form>
</div>
</div>
<?php include '../../common/view/footer.html.php';?>
+1
View File
@@ -90,6 +90,7 @@ $lang->resource->my->bug = 'bug';
$lang->resource->my->testTask = 'testTask';
$lang->resource->my->testCase = 'testCase';
$lang->resource->my->story = 'story';
$lang->resource->my->requirement = 'requirement';
$lang->resource->my->program = 'program';
$lang->resource->my->project = 'myProject';
$lang->resource->my->profile = 'profile';
+1
View File
@@ -86,6 +86,7 @@ $lang->misc->feature = new stdclass();
$lang->misc->feature->lastest = 'Latest Version';
$lang->misc->feature->detailed = 'Detail';
$lang->misc->releaseDate['20.0'] = '2020-09-01';
$lang->misc->releaseDate['12.4.1'] = '2020-08-10';
$lang->misc->releaseDate['12.4.stable'] = '2020-07-28';
$lang->misc->releaseDate['12.3.3'] = '2020-07-02';
+1
View File
@@ -86,6 +86,7 @@ $lang->misc->feature = new stdclass();
$lang->misc->feature->lastest = '最新版本';
$lang->misc->feature->detailed = '详情';
$lang->misc->releaseDate['20.0'] = '2020-09-01';
$lang->misc->releaseDate['12.4.1'] = '2020-08-10';
$lang->misc->releaseDate['12.4.stable'] = '2020-07-28';
$lang->misc->releaseDate['12.3.3'] = '2020-07-02';
+1 -1
View File
@@ -22,7 +22,7 @@ js::set('unfoldStories', $unfoldStories);
js::set('unfoldAll', $lang->project->treeLevel['all']);
js::set('foldAll', $lang->project->treeLevel['root']);
js::set('storyType', $storyType);
if($program->template == 'waterfall') $lang->story->create = $storyType == 'story' ? $lang->story->createStory : $lang->story->createRequirement;
$lang->story->create = $storyType == 'story' ? $lang->story->createStory : $lang->story->createRequirement;
?>
<div id="mainMenu" class="clearfix">
<div id="sidebarHeader">
+12
View File
@@ -9,9 +9,21 @@
* @version $Id: en.php 5141 2013-07-15 05:57:15Z chencongzhi520@gmail.com $
* @link http://www.zentao.net
*/
global $config;
$lang->story->create = "Create Story";
$lang->story->createStory = 'Create Story';
$lang->story->createRequirement = 'Create Requirement';
if(!empty($config->URAndSR))
{
$lang->story->requirement = zget($lang, 'urCommon', "Requirement");
$lang->story->story = zget($lang, 'srCommon', "Story");
$lang->story->createStory = 'Create ' . $lang->story->story;
$lang->story->createRequirement = 'Create ' . $lang->story->requirement;
$lang->story->affectedStories = "Affected {$lang->story->story}";
$lang->storyCommon = 'Story';
}
$lang->story->requirement = 'Requirement';
$lang->story->story = 'Story';
$lang->story->batchCreate = "Batch Create";
+14 -4
View File
@@ -9,11 +9,21 @@
* @version $Id: zh-cn.php 5141 2013-07-15 05:57:15Z chencongzhi520@gmail.com $
* @link http://www.zentao.net
*/
global $config;
$lang->story->create = "提{$lang->storyCommon}";
$lang->story->createStory = '添加软需';
$lang->story->createRequirement = '添加用需';
$lang->story->requirement = '用户需求';
$lang->story->story = '软件需求';
$lang->story->createStory = "提{$lang->storyCommon}";
$lang->story->createRequirement = "提{$lang->storyCommon}";
if(!empty($config->URAndSR))
{
$lang->story->requirement = zget($lang, 'urCommon', "用户需求");
$lang->story->story = zget($lang, 'srCommon', "软件需求");
$lang->story->createStory = '添加' . $lang->story->story;
$lang->story->createRequirement = '添加' . $lang->story->requirement;
$lang->story->affectedStories = "影响的{$lang->story->story}";
$lang->storyCommon = '需求';
}
$lang->story->batchCreate = "批量创建";
$lang->story->change = "变更";
$lang->story->changeAction = "变更{$lang->storyCommon}";
+3 -3
View File
@@ -62,7 +62,7 @@
<div class="detail-title"><?php echo $lang->story->legendVerify;?></div>
<div class="detail-content article-content"><?php echo $story->verify;?></div>
</div>
<?php if($story->type == 'requirement'):?>
<?php if($program->template == 'waterfall' and $story->type == 'requirement'):?>
<?php if(!empty($track)):?>
<div class="detail">
<div class="detail-title"><?php echo $lang->story->track;?></div>
@@ -382,7 +382,7 @@
<div class="cell">
<div class='tabs'>
<ul class='nav nav-tabs'>
<?php if($program->template == 'waterfall'):?>
<?php if(!empty($config->URAndSR)):?>
<li class='active'><a href='#legendStories' data-toggle='tab'><?php echo $story->type == 'story' ? $lang->story->requirement : $lang->story->story;?></a></li>
<li><a href='#legendProjectAndTask' data-toggle='tab'><?php echo $lang->story->legendProjectAndTask;?></a></li>
<li><a href='#legendRelated' data-toggle='tab'><?php echo $lang->story->legendRelated;?></a></li>
@@ -392,7 +392,7 @@
<?php endif;?>
</ul>
<div class='tab-content'>
<?php if($program->template == 'waterfall'):?>
<?php if(!empty($config->URAndSR)):?>
<div class='tab-pane active' id='legendStories'>
<ul class="list-unstyled">
<?php