Merge branch 'master' of https://github.com/easysoft/zentaopms
This commit is contained in:
@@ -8,6 +8,7 @@ $maxConsumed = 0;
|
||||
<div class='panel-body'>
|
||||
<div class='table-row'>
|
||||
<div class='table-col chart-titles'>
|
||||
<div class='chart-col-title strong'><span><?php echo $lang->program->PRJName;?></span></div>
|
||||
<?php foreach($projects as $project):?>
|
||||
<?php
|
||||
$maxTeamCount = max($maxTeamCount, $project->teamCount);
|
||||
@@ -47,7 +48,7 @@ $maxConsumed = 0;
|
||||
</div>
|
||||
<style>
|
||||
.block-projectteam .panel-body {margin-top: -10px}
|
||||
.chart-titles {width: 110px; padding-right: 10px; padding-top: 30px; position: relative; z-index: 1}
|
||||
.chart-titles {width: 110px; padding-right: 10px; position: relative; z-index: 1}
|
||||
.chart-rows {position: relative; z-index: 0}
|
||||
.chart-title {width: 100px; line-height: 20px; padding: 5px 0; height: 30px}
|
||||
.chart-title > span {background: #fff}
|
||||
|
||||
+10
-17
@@ -125,11 +125,8 @@ $lang->common = new stdclass();
|
||||
$lang->common->common = 'Standard Module';
|
||||
|
||||
global $config;
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$URCommon = zget($lang, 'URCommon', "UR");
|
||||
$SRCommon = zget($lang, 'SRCommon', "SR");
|
||||
}
|
||||
$URCommon = zget($lang, 'URCommon', "UR");
|
||||
$SRCommon = zget($lang, 'SRCommon', "SR");
|
||||
|
||||
/* Main menu. */
|
||||
$lang->mainNav = new stdclass();
|
||||
@@ -169,9 +166,9 @@ $lang->product->menu->home = 'Home|product|index|';
|
||||
$lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit');
|
||||
|
||||
$lang->product->viewMenu = new stdclass();
|
||||
if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->productURCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->viewMenu->requirement = array('link' => "$lang->productURCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->viewMenu->story = array('link' => "$lang->productSRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
if($config->URAndSR) $lang->product->viewMenu->track = array('link' => "Track|story|track|productID=%s");
|
||||
$lang->product->viewMenu->track = array('link' => "Track|story|track|productID=%s");
|
||||
$lang->product->viewMenu->plan = array('link' => "Plan|productplan|browse|productID=%s", 'subModule' => 'productplan');
|
||||
$lang->product->viewMenu->release = array('link' => "Release|release|browse|productID=%s", 'subModule' => 'release');
|
||||
$lang->product->viewMenu->roadmap = 'Roadmap|product|roadmap|productID=%s';
|
||||
@@ -281,6 +278,8 @@ $lang->my->menu->testtask = array('link' => 'Test Aufgaben|my|testtask|', 'su
|
||||
$lang->my->menu->story = array('link' => 'Story|my|story|', 'subModule' => 'story');
|
||||
$lang->my->menu->myExecution = "Execution|my|execution|";
|
||||
$lang->my->menu->dynamic = 'Verlauf|my|dynamic|';
|
||||
$lang->my->menu->profile = 'Profile|my|profile|';
|
||||
$lang->my->menu->contacts = 'Contacts|my|managecontacts|';
|
||||
|
||||
$lang->my->dividerMenu = ',program,requirement,dynamic,';
|
||||
|
||||
@@ -302,11 +301,8 @@ $lang->scrumproduct->menu->branch = '@branch@|branch|manage|productID=%s';
|
||||
$lang->scrumproduct->menu->module = 'Modul|tree|browse|productID=%s&view=story';
|
||||
$lang->scrumproduct->menu->view = array('link' => 'Übersicht|product|view|productID=%s', 'alias' => 'edit');
|
||||
|
||||
if(!empty($config->URAndSR))
|
||||
{
|
||||
$lang->product->menu->requirement = array('link' => "{$URCommon}|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->menu->story = array('link' => "{$SRCommon}|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
}
|
||||
$lang->product->menu->requirement = array('link' => "{$URCommon}|product|browse|productID=%s&branch=&browseType=unclosed¶m=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,';
|
||||
|
||||
@@ -956,11 +952,8 @@ $lang->waterfallproduct->menu->plan = array('link' => "{$lang->planCommon}|prod
|
||||
$lang->waterfallproduct->menu->story = 'Story|product|browse|product={PRODUCT}';
|
||||
$lang->waterfallproduct->menu->track = 'Track|story|track|product={PRODUCT}';
|
||||
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$lang->waterfallproduct->menu->requirement = array('link' => "{$URCommon}|product|browse|productID={PRODUCT}&branch=&browseType=unclosed¶m=0&storyType=requirement");
|
||||
$lang->waterfallproduct->menu->story = array('link' => "{$SRCommon}|product|browse|productID={PRODUCT}");
|
||||
}
|
||||
$lang->waterfallproduct->menu->requirement = array('link' => "{$URCommon}|product|browse|productID={PRODUCT}&branch=&browseType=unclosed¶m=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', 'product', 'productplan', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'holiday', 'custom', 'auditcl', 'subject', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'issue', 'risk', 'pssp', 'sms', 'message', 'webhook', 'search');
|
||||
|
||||
+10
-17
@@ -125,11 +125,8 @@ $lang->common = new stdclass();
|
||||
$lang->common->common = 'Common Module';
|
||||
|
||||
global $config;
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$URCommon = zget($lang, 'URCommon', "UR");
|
||||
$SRCommon = zget($lang, 'SRCommon', "SR");
|
||||
}
|
||||
$URCommon = zget($lang, 'URCommon', "UR");
|
||||
$SRCommon = zget($lang, 'SRCommon', "SR");
|
||||
|
||||
/* Main menu. */
|
||||
$lang->mainNav = new stdclass();
|
||||
@@ -169,9 +166,9 @@ $lang->product->menu->home = 'Home|product|index|';
|
||||
$lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit');
|
||||
|
||||
$lang->product->viewMenu = new stdclass();
|
||||
if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->productURCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->viewMenu->requirement = array('link' => "$lang->productURCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->viewMenu->story = array('link' => "$lang->productSRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
if($config->URAndSR) $lang->product->viewMenu->track = array('link' => "Track|story|track|productID=%s");
|
||||
$lang->product->viewMenu->track = array('link' => "Track|story|track|productID=%s");
|
||||
$lang->product->viewMenu->plan = array('link' => "Plan|productplan|browse|productID=%s", 'subModule' => 'productplan');
|
||||
$lang->product->viewMenu->release = array('link' => "Release|release|browse|productID=%s", 'subModule' => 'release');
|
||||
$lang->product->viewMenu->roadmap = 'Roadmap|product|roadmap|productID=%s';
|
||||
@@ -281,6 +278,8 @@ $lang->my->menu->testtask = array('link' => 'Request|my|testtask|', 'subModul
|
||||
$lang->my->menu->story = array('link' => 'Story|my|story|', 'subModule' => 'story');
|
||||
$lang->my->menu->myExecution = "Execution|my|execution|";
|
||||
$lang->my->menu->dynamic = 'Dynamics|my|dynamic|';
|
||||
$lang->my->menu->profile = 'Profile|my|profile|';
|
||||
$lang->my->menu->contacts = 'Contacts|my|managecontacts|';
|
||||
|
||||
$lang->my->dividerMenu = ',program,requirement,dynamic,';
|
||||
|
||||
@@ -302,11 +301,8 @@ $lang->scrumproduct->menu->branch = '@branch@|branch|manage|productID=%s';
|
||||
$lang->scrumproduct->menu->module = 'Module|tree|browse|productID=%s&view=story';
|
||||
$lang->scrumproduct->menu->view = array('link' => 'Overview|product|view|productID=%s', 'alias' => 'edit');
|
||||
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$lang->product->menu->requirement = array('link' => "{$URCommon}|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->menu->story = array('link' => "{$SRCommon}|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
}
|
||||
$lang->product->menu->requirement = array('link' => "{$URCommon}|product|browse|productID=%s&branch=&browseType=unclosed¶m=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,';
|
||||
|
||||
@@ -956,11 +952,8 @@ $lang->waterfallproduct->menu->plan = array('link' => "{$lang->planCommon}|prod
|
||||
$lang->waterfallproduct->menu->story = 'Story|product|browse|product={PRODUCT}';
|
||||
$lang->waterfallproduct->menu->track = 'Track|story|track|product={PRODUCT}';
|
||||
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$lang->waterfallproduct->menu->requirement = array('link' => "{$URCommon}|product|browse|productID={PRODUCT}&branch=&browseType=unclosed¶m=0&storyType=requirement");
|
||||
$lang->waterfallproduct->menu->story = array('link' => "{$SRCommon}|product|browse|productID={PRODUCT}");
|
||||
}
|
||||
$lang->waterfallproduct->menu->requirement = array('link' => "{$URCommon}|product|browse|productID={PRODUCT}&branch=&browseType=unclosed¶m=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', 'product', 'productplan', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'holiday', 'custom', 'auditcl', 'subject', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'issue', 'risk', 'pssp', 'sms', 'message', 'webhook', 'search');
|
||||
|
||||
+10
-17
@@ -125,11 +125,8 @@ $lang->common = new stdclass();
|
||||
$lang->common->common = 'Module Commun';
|
||||
|
||||
global $config;
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$URCommon = zget($lang, 'URCommon', "UR");
|
||||
$SRCommon = zget($lang, 'SRCommon', "SR");
|
||||
}
|
||||
$URCommon = zget($lang, 'URCommon', "UR");
|
||||
$SRCommon = zget($lang, 'SRCommon', "SR");
|
||||
|
||||
/* Main menu. */
|
||||
$lang->mainNav = new stdclass();
|
||||
@@ -169,9 +166,9 @@ $lang->product->menu->home = 'Home|product|index|';
|
||||
$lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit');
|
||||
|
||||
$lang->product->viewMenu = new stdclass();
|
||||
if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->productURCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->viewMenu->requirement = array('link' => "$lang->productURCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->viewMenu->story = array('link' => "$lang->productSRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
if($config->URAndSR) $lang->product->viewMenu->track = array('link' => "Track|story|track|productID=%s");
|
||||
$lang->product->viewMenu->track = array('link' => "Track|story|track|productID=%s");
|
||||
$lang->product->viewMenu->plan = array('link' => "Plan|productplan|browse|productID=%s", 'subModule' => 'productplan');
|
||||
$lang->product->viewMenu->release = array('link' => "Release|release|browse|productID=%s", 'subModule' => 'release');
|
||||
$lang->product->viewMenu->roadmap = 'Roadmap|product|roadmap|productID=%s';
|
||||
@@ -281,6 +278,8 @@ $lang->my->menu->testtask = array('link' => 'Recette|my|testtask|', 'subModul
|
||||
$lang->my->menu->story = array('link' => 'Story|my|story|', 'subModule' => 'story');
|
||||
$lang->my->menu->myExecution = "Execution|my|execution|";
|
||||
$lang->my->menu->dynamic = 'Historique|my|dynamic|';
|
||||
$lang->my->menu->profile = 'Profile|my|profile|';
|
||||
$lang->my->menu->contacts = 'Contacts|my|managecontacts|';
|
||||
|
||||
$lang->my->dividerMenu = ',program,requirement,dynamic,';
|
||||
|
||||
@@ -302,11 +301,8 @@ $lang->scrumproduct->menu->branch = '@branch@|branch|manage|productID=%s';
|
||||
$lang->scrumproduct->menu->module = 'Module|tree|browse|productID=%s&view=story';
|
||||
$lang->scrumproduct->menu->view = array('link' => 'Overview|product|view|productID=%s', 'alias' => 'edit');
|
||||
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$lang->product->menu->requirement = array('link' => "{$URCommon}|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->menu->story = array('link' => "{$SRCommon}|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
}
|
||||
$lang->product->menu->requirement = array('link' => "{$URCommon}|product|browse|productID=%s&branch=&browseType=unclosed¶m=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,';
|
||||
|
||||
@@ -956,11 +952,8 @@ $lang->waterfallproduct->menu->plan = array('link' => "{$lang->planCommon}|prod
|
||||
$lang->waterfallproduct->menu->story = 'Story|product|browse|product={PRODUCT}';
|
||||
$lang->waterfallproduct->menu->track = 'Track|story|track|product={PRODUCT}';
|
||||
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$lang->waterfallproduct->menu->requirement = array('link' => "{$URCommon}|product|browse|productID={PRODUCT}&branch=&browseType=unclosed¶m=0&storyType=requirement");
|
||||
$lang->waterfallproduct->menu->story = array('link' => "{$SRCommon}|product|browse|productID={PRODUCT}");
|
||||
}
|
||||
$lang->waterfallproduct->menu->requirement = array('link' => "{$URCommon}|product|browse|productID={PRODUCT}&branch=&browseType=unclosed¶m=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', 'product', 'productplan', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'holiday', 'custom', 'auditcl', 'subject', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'issue', 'risk', 'pssp', 'sms', 'message', 'webhook', 'search');
|
||||
|
||||
@@ -49,6 +49,7 @@ $lang->my->menuOrder[60] = 'dynamic';
|
||||
$lang->my->menuOrder[65] = 'profile';
|
||||
$lang->my->menuOrder[70] = 'changePassword';
|
||||
$lang->my->menuOrder[75] = 'score';
|
||||
$lang->my->menuOrder[80] = 'contacts';
|
||||
$lang->todo->menuOrder = $lang->my->menuOrder;
|
||||
|
||||
/* product menu order. */
|
||||
|
||||
+10
-17
@@ -125,11 +125,8 @@ $lang->common = new stdclass();
|
||||
$lang->common->common = 'Module chung';
|
||||
|
||||
global $config;
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$URCommon = zget($lang, 'URCommon', "UR");
|
||||
$SRCommon = zget($lang, 'SRCommon', "SR");
|
||||
}
|
||||
$URCommon = zget($lang, 'URCommon', "UR");
|
||||
$SRCommon = zget($lang, 'SRCommon', "SR");
|
||||
|
||||
/* Main menu. */
|
||||
$lang->mainNav = new stdclass();
|
||||
@@ -169,9 +166,9 @@ $lang->product->menu->home = 'Home|product|index|';
|
||||
$lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit');
|
||||
|
||||
$lang->product->viewMenu = new stdclass();
|
||||
if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->productURCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->viewMenu->requirement = array('link' => "$lang->productURCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->viewMenu->story = array('link' => "$lang->productSRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
if($config->URAndSR) $lang->product->viewMenu->track = array('link' => "Track|story|track|productID=%s");
|
||||
$lang->product->viewMenu->track = array('link' => "Track|story|track|productID=%s");
|
||||
$lang->product->viewMenu->plan = array('link' => "Plan|productplan|browse|productID=%s", 'subModule' => 'productplan');
|
||||
$lang->product->viewMenu->release = array('link' => "Release|release|browse|productID=%s", 'subModule' => 'release');
|
||||
$lang->product->viewMenu->roadmap = 'Roadmap|product|roadmap|productID=%s';
|
||||
@@ -281,6 +278,8 @@ $lang->my->menu->testtask = array('link' => 'Yêu cầu|my|testtask|', 'subMo
|
||||
$lang->my->menu->story = array('link' => 'Câu chuyện|my|story|', 'subModule' => 'story');
|
||||
$lang->my->menu->myExecution = "Execution|my|execution|";
|
||||
$lang->my->menu->dynamic = 'Lịch sử|my|dynamic|';
|
||||
$lang->my->menu->profile = 'Profile|my|profile|';
|
||||
$lang->my->menu->contacts = 'Contacts|my|managecontacts|';
|
||||
|
||||
$lang->my->dividerMenu = ',program,requirement,dynamic,';
|
||||
|
||||
@@ -302,11 +301,8 @@ $lang->scrumproduct->menu->branch = '@branch@|branch|manage|productID=%s';
|
||||
$lang->scrumproduct->menu->module = 'Module|tree|browse|productID=%s&view=story';
|
||||
$lang->scrumproduct->menu->view = array('link' => 'Overview|product|view|productID=%s', 'alias' => 'edit');
|
||||
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$lang->product->menu->requirement = array('link' => "{$URCommon}|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->menu->story = array('link' => "{$SRCommon}|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
}
|
||||
$lang->product->menu->requirement = array('link' => "{$URCommon}|product|browse|productID=%s&branch=&browseType=unclosed¶m=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,';
|
||||
|
||||
@@ -956,11 +952,8 @@ $lang->waterfallproduct->menu->plan = array('link' => "{$lang->planCommon}|prod
|
||||
$lang->waterfallproduct->menu->story = 'Story|product|browse|product={PRODUCT}';
|
||||
$lang->waterfallproduct->menu->track = 'Track|story|track|product={PRODUCT}';
|
||||
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$lang->waterfallproduct->menu->requirement = array('link' => "{$URCommon}|product|browse|productID={PRODUCT}&branch=&browseType=unclosed¶m=0&storyType=requirement");
|
||||
$lang->waterfallproduct->menu->story = array('link' => "{$SRCommon}|product|browse|productID={PRODUCT}");
|
||||
}
|
||||
$lang->waterfallproduct->menu->requirement = array('link' => "{$URCommon}|product|browse|productID={PRODUCT}&branch=&browseType=unclosed¶m=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', 'product', 'productplan', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'holiday', 'custom', 'auditcl', 'subject', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'issue', 'risk', 'pssp', 'sms', 'message', 'webhook', 'search');
|
||||
|
||||
@@ -125,11 +125,8 @@ $lang->common = new stdclass();
|
||||
$lang->common->common = '公有模块';
|
||||
|
||||
global $config;
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$URCommon = zget($lang, 'URCommon', "用户需求");
|
||||
$SRCommon = zget($lang, 'SRCommon', "软件需求");
|
||||
}
|
||||
$URCommon = zget($lang, 'URCommon', "用户需求");
|
||||
$SRCommon = zget($lang, 'SRCommon', "软件需求");
|
||||
|
||||
/* 主导航菜单。*/
|
||||
$lang->mainNav = new stdclass();
|
||||
@@ -169,9 +166,9 @@ $lang->product->menu->home = '主页|product|index|';
|
||||
$lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit');
|
||||
|
||||
$lang->product->viewMenu = new stdclass();
|
||||
if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->productURCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->viewMenu->requirement = array('link' => "$lang->productURCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->viewMenu->story = array('link' => "$lang->productSRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
if($config->URAndSR) $lang->product->viewMenu->track = array('link' => "跟踪矩阵|story|track|productID=%s");
|
||||
$lang->product->viewMenu->track = array('link' => "跟踪矩阵|story|track|productID=%s");
|
||||
$lang->product->viewMenu->plan = array('link' => "计划|productplan|browse|productID=%s", 'subModule' => 'productplan');
|
||||
$lang->product->viewMenu->release = array('link' => '发布|release|browse|productID=%s', 'subModule' => 'release');
|
||||
$lang->product->viewMenu->roadmap = '路线图|product|roadmap|productID=%s';
|
||||
@@ -281,6 +278,8 @@ $lang->my->menu->testtask = array('link' => '测试|my|testtask|', 'subModule
|
||||
$lang->my->menu->story = array('link' => "需求|my|story|", 'subModule' => 'story');
|
||||
$lang->my->menu->myExecution = "{$lang->executionCommon}|my|execution|";
|
||||
$lang->my->menu->dynamic = '动态|my|dynamic|';
|
||||
$lang->my->menu->profile = '档案|my|profile|';
|
||||
$lang->my->menu->contacts = '联系人|my|managecontacts|';
|
||||
|
||||
$lang->my->dividerMenu = ',program,requirement,dynamic,';
|
||||
|
||||
@@ -302,11 +301,8 @@ $lang->scrumproduct->menu->branch = '@branch@|branch|manage|productID=%s';
|
||||
$lang->scrumproduct->menu->module = '模块|tree|browse|productID=%s&view=story';
|
||||
$lang->scrumproduct->menu->view = array('link' => '概况|product|view|productID=%s', 'alias' => 'edit');
|
||||
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$lang->scrumproduct->menu->requirement = array('link' => "{$lang->projectURCommon}|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->scrumproduct->menu->story = array('link' => "{$lang->projectSRCommon}|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
}
|
||||
$lang->scrumproduct->menu->requirement = array('link' => "{$lang->projectURCommon}|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->scrumproduct->menu->story = array('link' => "{$lang->projectSRCommon}|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
|
||||
$lang->product->dividerMenu = ',project,doc,';
|
||||
|
||||
@@ -956,11 +952,8 @@ $lang->waterfallproduct->menu->plan = array('link' => "{$lang->planCommon}|prod
|
||||
$lang->waterfallproduct->menu->story = '需求|product|browse|product={PRODUCT}';
|
||||
$lang->waterfallproduct->menu->track = '跟踪矩阵|story|track|product={PRODUCT}';
|
||||
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$lang->waterfallproduct->menu->requirement = array('link' => "{$URCommon}|product|browse|productID={PRODUCT}&branch=&browseType=unclosed¶m=0&storyType=requirement");
|
||||
$lang->waterfallproduct->menu->story = array('link' => "{$SRCommon}|product|browse|productID={PRODUCT}");
|
||||
}
|
||||
$lang->waterfallproduct->menu->requirement = array('link' => "{$URCommon}|product|browse|productID={PRODUCT}&branch=&browseType=unclosed¶m=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', 'product', 'productplan', 'projectbuild', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'holiday', 'custom', 'auditcl', 'subject', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'issue', 'risk', 'pssp', 'sms', 'message', 'webhook', 'search');
|
||||
|
||||
@@ -125,11 +125,8 @@ $lang->common = new stdclass();
|
||||
$lang->common->common = '公有模組';
|
||||
|
||||
global $config;
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$URCommon = zget($lang, 'URCommon', "用戶需求");
|
||||
$SRCommon = zget($lang, 'SRCommon', "軟件需求");
|
||||
}
|
||||
$URCommon = zget($lang, 'URCommon', "用戶需求");
|
||||
$SRCommon = zget($lang, 'SRCommon', "軟件需求");
|
||||
|
||||
/* 主導航菜單。*/
|
||||
$lang->mainNav = new stdclass();
|
||||
@@ -169,9 +166,9 @@ $lang->product->menu->home = '主頁|product|index|';
|
||||
$lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit');
|
||||
|
||||
$lang->product->viewMenu = new stdclass();
|
||||
if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->productURCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->viewMenu->requirement = array('link' => "$lang->productURCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->viewMenu->story = array('link' => "$lang->productSRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
if($config->URAndSR) $lang->product->viewMenu->track = array('link' => "跟蹤矩陣|story|track|productID=%s");
|
||||
$lang->product->viewMenu->track = array('link' => "跟蹤矩陣|story|track|productID=%s");
|
||||
$lang->product->viewMenu->plan = array('link' => "計劃|productplan|browse|productID=%s", 'subModule' => 'productplan');
|
||||
$lang->product->viewMenu->release = array('link' => '發佈|release|browse|productID=%s', 'subModule' => 'release');
|
||||
$lang->product->viewMenu->roadmap = '路線圖|product|roadmap|productID=%s';
|
||||
@@ -302,11 +299,8 @@ $lang->scrumproduct->menu->branch = '@branch@|branch|manage|productID=%s';
|
||||
$lang->scrumproduct->menu->module = '模組|tree|browse|productID=%s&view=story';
|
||||
$lang->scrumproduct->menu->view = array('link' => '概況|product|view|productID=%s', 'alias' => 'edit');
|
||||
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$lang->scrumproduct->menu->requirement = array('link' => "{$lang->projectURCommon}|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->scrumproduct->menu->story = array('link' => "{$lang->projectSRCommon}|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
}
|
||||
$lang->scrumproduct->menu->requirement = array('link' => "{$lang->projectURCommon}|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->scrumproduct->menu->story = array('link' => "{$lang->projectSRCommon}|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
|
||||
$lang->product->dividerMenu = ',project,doc,';
|
||||
|
||||
@@ -956,11 +950,8 @@ $lang->waterfallproduct->menu->plan = array('link' => "{$lang->planCommon}|prod
|
||||
$lang->waterfallproduct->menu->story = '需求|product|browse|product={PRODUCT}';
|
||||
$lang->waterfallproduct->menu->track = '跟蹤矩陣|story|track|product={PRODUCT}';
|
||||
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$lang->waterfallproduct->menu->requirement = array('link' => "{$URCommon}|product|browse|productID={PRODUCT}&branch=&browseType=unclosed¶m=0&storyType=requirement");
|
||||
$lang->waterfallproduct->menu->story = array('link' => "{$SRCommon}|product|browse|productID={PRODUCT}");
|
||||
}
|
||||
$lang->waterfallproduct->menu->requirement = array('link' => "{$URCommon}|product|browse|productID={PRODUCT}&branch=&browseType=unclosed¶m=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', 'product', 'productplan', 'projectbuild', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'holiday', 'custom', 'auditcl', 'subject', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'issue', 'risk', 'pssp', 'sms', 'message', 'webhook', 'search');
|
||||
|
||||
@@ -95,6 +95,7 @@ function getExecutions()
|
||||
})
|
||||
}
|
||||
}
|
||||
adjustMenuWidth();
|
||||
</script>
|
||||
<main id='main' <?php if(!empty($config->sso->redirect)) echo "class='ranzhiFixedTfootAction'";?> >
|
||||
<div class='container'>
|
||||
|
||||
+19
-23
@@ -594,35 +594,31 @@ class customModel extends model
|
||||
$data = fixer::input('post')->get();
|
||||
$lang = $this->app->getClientLang();
|
||||
|
||||
$this->loadModel('setting')->setItem("system.custom.URAndSR", $data->URAndSR);
|
||||
if($data->URAndSR)
|
||||
/* If has custom UR and SR name. */
|
||||
$newKey = '';
|
||||
if(isset($data->URSRCustom))
|
||||
{
|
||||
/* If has custom UR and SR name. */
|
||||
$newKey = '';
|
||||
if(isset($data->URSRCustom))
|
||||
{
|
||||
if(!$data->URName || !$data->SRName) return false;
|
||||
if(!$data->URName || !$data->SRName) return false;
|
||||
|
||||
$newKey = max(array_keys($this->lang->custom->URSRList)) + 1;
|
||||
$URSRName = $data->URName . '/' . $data->SRName;
|
||||
$newKey = max(array_keys($this->lang->custom->URSRList)) + 1;
|
||||
$URSRName = $data->URName . '/' . $data->SRName;
|
||||
|
||||
/* Delete old lang data, and add new. */
|
||||
$this->lang->custom->URSRList[$newKey] = $URSRName;
|
||||
$this->lang->custom->URList[$newKey] = $data->URName;
|
||||
$this->lang->custom->SRList[$newKey] = $data->SRName;
|
||||
$this->deleteItems("lang=$lang&module=custom§ion=URSRList");
|
||||
$this->deleteItems("lang=$lang&module=custom§ion=URList");
|
||||
$this->deleteItems("lang=$lang&module=custom§ion=SRList");
|
||||
/* Delete old lang data, and add new. */
|
||||
$this->lang->custom->URSRList[$newKey] = $URSRName;
|
||||
$this->lang->custom->URList[$newKey] = $data->URName;
|
||||
$this->lang->custom->SRList[$newKey] = $data->SRName;
|
||||
$this->deleteItems("lang=$lang&module=custom§ion=URSRList");
|
||||
$this->deleteItems("lang=$lang&module=custom§ion=URList");
|
||||
$this->deleteItems("lang=$lang&module=custom§ion=SRList");
|
||||
|
||||
foreach($this->lang->custom->URSRList as $key => $value) $this->setItem("$lang.custom.URSRList.{$key}.1", $value);
|
||||
foreach($this->lang->custom->URList as $key => $value) $this->setItem("$lang.custom.URList.{$key}.1", $value);
|
||||
foreach($this->lang->custom->SRList as $key => $value) $this->setItem("$lang.custom.SRList.{$key}.1", $value);
|
||||
}
|
||||
|
||||
$URSRName = $newKey ? $newKey : $data->URSRCommon;
|
||||
$this->setting->setItem("system.custom.URSRName", $URSRName);
|
||||
foreach($this->lang->custom->URSRList as $key => $value) $this->setItem("$lang.custom.URSRList.{$key}.1", $value);
|
||||
foreach($this->lang->custom->URList as $key => $value) $this->setItem("$lang.custom.URList.{$key}.1", $value);
|
||||
foreach($this->lang->custom->SRList as $key => $value) $this->setItem("$lang.custom.SRList.{$key}.1", $value);
|
||||
}
|
||||
|
||||
$URSRName = $newKey ? $newKey : $data->URSRCommon;
|
||||
$this->loadModel('setting')->setItem("system.custom.URSRName", $URSRName);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,16 +20,11 @@
|
||||
<form class="load-indicator main-form form-ajax" method='post'>
|
||||
<div class='modal-body'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-160px'> <?php echo $lang->custom->waterfall->URAndSR;?> </th>
|
||||
<td> <?php echo html::radio('URAndSR', $lang->custom->waterfallOptions->URAndSR, zget($this->config->custom, 'URAndSR', '0'));?> </td>
|
||||
<td></td><td></td><td></td><td></td>
|
||||
</tr>
|
||||
<?php $hidden = zget($this->config->custom, 'URAndSR', 0) == 0 ? 'hidden' : '';?>
|
||||
<tr class="<?php echo $hidden;?>" id='URSRName'>
|
||||
<th><?php echo $lang->custom->waterfall->URSRName;?></th>
|
||||
<tr id='URSRName'>
|
||||
<th class='w-160px'><?php echo $lang->custom->waterfall->URSRName;?></th>
|
||||
<td><?php echo html::select('URSRCommon', $lang->custom->URSRList, zget($config->custom, 'URSRName', 1), "class='form-control chosen'");?></td>
|
||||
<td><?php echo html::checkbox('URSRCustom', $lang->custom->common, "class='form-control'");?></td>
|
||||
<td></td><td></td><td></td><td></td>
|
||||
</tr>
|
||||
<tr class='hidden' id='customURSR'>
|
||||
<th></th>
|
||||
|
||||
@@ -21,9 +21,7 @@
|
||||
</button>
|
||||
<ul class='dropdown-menu'>
|
||||
<li><?php echo html::a($this->inLink('story', "type=$type"), $lang->generalSR);?></li>
|
||||
<?php if($config->URAndSR):?>
|
||||
<li><?php echo html::a($this->inLink('story', "type=$type&storyType=requirement"), $lang->generalUR);?></li>
|
||||
<?php endif;?>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -194,7 +194,7 @@ class product extends control
|
||||
$storyCases = $this->loadModel('testcase')->getStoryCaseCounts($storyIdList);
|
||||
|
||||
/* Change for requirement story title. */
|
||||
if($storyType == 'requirement' and $this->config->URAndSR)
|
||||
if($storyType == 'requirement')
|
||||
{
|
||||
$this->lang->story->title = str_replace($this->lang->productSRCommon, $this->lang->productURCommon, $this->lang->story->title);
|
||||
$this->config->product->search['fields']['title'] = $this->lang->story->title;
|
||||
|
||||
@@ -1239,11 +1239,8 @@ class productModel extends model
|
||||
$rate = count($stories) == 0 || $rateCount == 0 ? 0 : round(count($cases) / $rateCount, 2);
|
||||
|
||||
$storyCommon = $this->lang->productSRCommon;
|
||||
if($this->config->URAndSR)
|
||||
{
|
||||
if($storyType == 'requirement') $storyCommon = $this->lang->productURCommon;
|
||||
if($storyType == 'story') $storyCommon = $this->lang->productSRCommon;
|
||||
}
|
||||
if($storyType == 'requirement') $storyCommon = $this->lang->productURCommon;
|
||||
if($storyType == 'story') $storyCommon = $this->lang->productSRCommon;
|
||||
|
||||
return sprintf($this->lang->product->storySummary, $allCount, $storyCommon, $totalEstimate, $rate * 100 . "%");
|
||||
}
|
||||
|
||||
@@ -55,13 +55,11 @@
|
||||
<?php echo html::select('type', $productTypeList, 'normal', "class='form-control'");?>
|
||||
</td><td></td>
|
||||
</tr>
|
||||
<?php if($config->URAndSR):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->product->storyConcept;?></th>
|
||||
<td><?php echo html::select('storyConcept', $lang->custom->URSRList, zget($config->custom, 'URSRName', 1), "class='form-control chosen'");?></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr class='hide'>
|
||||
<th><?php echo $lang->product->status;?></th>
|
||||
<td><?php echo html::hidden('status', 'normal');?></td>
|
||||
|
||||
@@ -55,13 +55,11 @@
|
||||
<th><?php echo $lang->product->type;?></th>
|
||||
<td><?php echo html::select('type', $lang->product->typeList, $product->type, "class='form-control'");?></td><td></td>
|
||||
</tr>
|
||||
<?php if($config->URAndSR):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->product->storyConcept;?></th>
|
||||
<td><?php echo html::select('storyConcept', $lang->custom->URSRList, $product->storyConcept, "class='form-control chosen'");?></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<th><?php echo $lang->product->status;?></th>
|
||||
<td><?php echo html::select('status', $lang->product->statusList, $product->status, "class='form-control'");?></td><td></td>
|
||||
|
||||
@@ -503,7 +503,7 @@ class productplan extends control
|
||||
$this->loadModel('bug');
|
||||
$plan = $this->productplan->getByID($planID);
|
||||
$this->commonAction($plan->product, $plan->branch);
|
||||
$products = $this->product->getProductPairsByProject($this->session->PRJ);
|
||||
$products = $this->product->getPairs('nocode');
|
||||
$productID = $plan->product;
|
||||
$queryID = ($browseType == 'bysearch') ? (int)$param : 0;
|
||||
|
||||
|
||||
@@ -131,14 +131,12 @@
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<?php $this->printExtendFields('', 'table');?>
|
||||
<?php if($config->URAndSR):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->program->PRJStoryConcept;?></th>
|
||||
<td>
|
||||
<?php echo html::select('storyConcept', $lang->custom->URSRList, zget($config->custom, 'URSRName', 1), "class='form-control chosen'");?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<th><?php echo $lang->program->PRJDesc;?></th>
|
||||
<td colspan='3'>
|
||||
|
||||
@@ -131,14 +131,12 @@
|
||||
<td></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<?php if($config->URAndSR):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->program->PRJStoryConcept;?></th>
|
||||
<td>
|
||||
<?php echo html::select('storyConcept', $lang->custom->URSRList, $project->storyConcept, "class='form-control chosen'");?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<th><?php echo $lang->program->PRJDesc;?></th>
|
||||
<td colspan='3'>
|
||||
|
||||
@@ -1022,7 +1022,7 @@ class projectModel extends model
|
||||
->beginIF($status == 'undone')->andWhere('status')->notIN('done,closed')->fi()
|
||||
->beginIF($status != 'all' and $status != 'undone')->andWhere('status')->in($status)->fi()
|
||||
->andWhere('deleted')->eq('0')
|
||||
->orderBy('id_asc')
|
||||
->orderBy('begin_asc')
|
||||
->beginIF($limit)->limit($limit)->fi()
|
||||
->fetchAll('id');
|
||||
|
||||
|
||||
@@ -472,7 +472,7 @@ class story extends control
|
||||
*/
|
||||
public function replaceURLang($type)
|
||||
{
|
||||
if($type == 'requirement' and $this->config->URAndSR)
|
||||
if($type == 'requirement')
|
||||
{
|
||||
$storyLang = $this->lang->story;
|
||||
$SRCommon = $this->lang->productSRCommon;
|
||||
|
||||
@@ -14,14 +14,11 @@ $lang->story->create = "Story hinzufügen";
|
||||
$lang->story->createStory = "Story hinzufügen";
|
||||
$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->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->story->batchCreate = "Mehere hinzufügen";
|
||||
$lang->story->change = "Ändern";
|
||||
|
||||
@@ -14,14 +14,11 @@ $lang->story->create = "Create Story";
|
||||
$lang->story->createStory = 'Create Story';
|
||||
$lang->story->createRequirement = 'Create Requirement';
|
||||
|
||||
if($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->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->story->batchCreate = "Batch Create";
|
||||
$lang->story->change = "Change";
|
||||
|
||||
@@ -14,14 +14,11 @@ $lang->story->create = "Créer Story";
|
||||
$lang->story->createStory = "Créer 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->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->story->batchCreate = "Créer par Lot";
|
||||
$lang->story->change = "Changer";
|
||||
|
||||
@@ -14,14 +14,11 @@ $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->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->story->batchCreate = "Tạo hàng loạt";
|
||||
$lang->story->change = "Thay đổi";
|
||||
|
||||
@@ -14,14 +14,11 @@ $lang->story->create = "提{$lang->productSRCommon}";
|
||||
$lang->story->createStory = "提{$lang->productSRCommon}";
|
||||
$lang->story->createRequirement = "提{$lang->productSRCommon}";
|
||||
|
||||
if($config->URAndSR)
|
||||
{
|
||||
$lang->story->requirement = zget($lang, 'productURCommon', "用户需求");
|
||||
$lang->story->story = zget($lang, 'productSRCommon', "软件需求");
|
||||
$lang->story->createStory = '添加' . $lang->story->story;
|
||||
$lang->story->createRequirement = '添加' . $lang->story->requirement;
|
||||
$lang->story->affectedStories = "影响的{$lang->story->story}";
|
||||
}
|
||||
$lang->story->requirement = zget($lang, 'productURCommon', "用户需求");
|
||||
$lang->story->story = zget($lang, 'productSRCommon', "软件需求");
|
||||
$lang->story->createStory = '添加' . $lang->story->story;
|
||||
$lang->story->createRequirement = '添加' . $lang->story->requirement;
|
||||
$lang->story->affectedStories = "影响的{$lang->story->story}";
|
||||
|
||||
$lang->story->batchCreate = "批量创建";
|
||||
$lang->story->change = "变更";
|
||||
|
||||
@@ -3168,7 +3168,7 @@ class storyModel extends model
|
||||
->fetchPairs('id', 'title');
|
||||
|
||||
/* For requirement children. */
|
||||
if($type == 'requirement' && $this->config->URAndSR)
|
||||
if($type == 'requirement')
|
||||
{
|
||||
$relations = $this->dao->select('DISTINCT AID, BID')->from(TABLE_RELATION)
|
||||
->where('AID')->in(array_keys($stories))
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
<?php endif;?>
|
||||
<?php endif;?>
|
||||
</tr>
|
||||
<?php if($config->URAndSR and $type == 'story'):?>
|
||||
<?php if($type == 'story'):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->story->requirement;?></th>
|
||||
<td colspan=2><?php echo html::select('URS[]', $URS, '', "class='form-control chosen' multiple");?></td>
|
||||
|
||||
@@ -389,17 +389,14 @@
|
||||
<div class="cell">
|
||||
<div class='tabs'>
|
||||
<ul class='nav nav-tabs'>
|
||||
<?php if($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>
|
||||
<?php else:?>
|
||||
<li class='active'><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>
|
||||
<?php endif;?>
|
||||
</ul>
|
||||
<div class='tab-content'>
|
||||
<?php if($config->URAndSR):?>
|
||||
<div class='tab-pane active' id='legendStories'>
|
||||
<ul class="list-unstyled">
|
||||
<?php
|
||||
@@ -416,7 +413,6 @@
|
||||
<?php if(!empty($relations)) echo html::a('javascript:void(0)', $lang->story->unlink . $linkLang, '', "class='btn btn-info' id='unlinkStory'");?></li>
|
||||
</ul>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<div class='tab-pane active' id='legendProjectAndTask'>
|
||||
<ul class="list-unstyled">
|
||||
<?php
|
||||
|
||||
@@ -796,6 +796,42 @@ function toggleFold(form, unfoldIdList, objectID, objectType)
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Adjust menu width.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function adjustMenuWidth()
|
||||
{
|
||||
$mainHeader = $('#mainHeader .container');
|
||||
if($mainHeader.length == 0) return false;
|
||||
|
||||
$navbar = $mainHeader.find('#navbar .nav');
|
||||
|
||||
mainHeaderWidth = $mainHeader.width() - 10;
|
||||
headingWidth = $mainHeader.find('#heading').width() + 30;
|
||||
navbarWidth = $navbar.width();
|
||||
toolbarWidth = $mainHeader.find('#toolbar').width() + 20;
|
||||
|
||||
if(mainHeaderWidth < headingWidth + navbarWidth + toolbarWidth)
|
||||
{
|
||||
delta = (headingWidth + navbarWidth + toolbarWidth) - mainHeaderWidth;
|
||||
delta = Math.ceil(delta / $navbar.children('li').length / 2);
|
||||
|
||||
aTagPadding = $navbar.find('a:first').css('padding-left').replace('px', '');
|
||||
dividerMargin = $navbar.find('.divider').css('margin-left').replace('px', '');
|
||||
|
||||
newPadding = aTagPadding - delta;
|
||||
newMargin = dividerMargin - delta - 1;
|
||||
if(newPadding < 0) newPadding = 0;
|
||||
if(newMargin < 0) newMargin = 0;
|
||||
|
||||
$navbar.children('li').find('a').css('padding-left', newPadding).css('padding-right', newPadding);
|
||||
$navbar.find('.divider').css('margin-left', newMargin).css('margin-right', newMargin);
|
||||
}
|
||||
}
|
||||
|
||||
/* Ping the server every some minutes to keep the session. */
|
||||
needPing = true;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user