* Fix systemMode bug.
This commit is contained in:
@@ -681,14 +681,7 @@ $lang->action->label->release = 'Release|release|view|productID=%s';
|
||||
$lang->action->label->story = 'Story|story|view|storyID=%s';
|
||||
$lang->action->label->program = "Program|program|pgmproduct|programID=%s";
|
||||
$lang->action->label->project = "Project|project|index|projectID=%s";
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->action->label->execution = "Execution|execution|task|executionID=%s";
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->action->label->execution = "Execution|execution|task|executionID=%s";
|
||||
}
|
||||
$lang->action->label->execution = "Execution|execution|task|executionID=%s";
|
||||
|
||||
$lang->action->label->task = 'Aufgaben|task|view|taskID=%s';
|
||||
$lang->action->label->build = 'Builds|build|view|buildID=%s';
|
||||
|
||||
@@ -681,14 +681,7 @@ $lang->action->label->release = 'Release|release|view|productID=%s';
|
||||
$lang->action->label->story = 'Story|story|view|storyID=%s';
|
||||
$lang->action->label->program = "Program|program|product|programID=%s";
|
||||
$lang->action->label->project = "Project|project|index|projectID=%s";
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->action->label->execution = "Execution|execution|task|executionID=%s";
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->action->label->execution = "$lang->executionCommon|execution|task|executionID=%s";
|
||||
}
|
||||
$lang->action->label->execution = "Execution|execution|task|executionID=%s";
|
||||
|
||||
$lang->action->label->task = 'Task|task|view|taskID=%s';
|
||||
$lang->action->label->build = 'Build|build|view|buildID=%s';
|
||||
|
||||
@@ -681,14 +681,7 @@ $lang->action->label->release = 'Release|release|view|productID=%s';
|
||||
$lang->action->label->story = 'Story|story|view|storyID=%s';
|
||||
$lang->action->label->program = "Program|program|pgmproduct|programID=%s";
|
||||
$lang->action->label->project = "Project|program|index|projectID=%s";
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->action->label->execution = "Execution|execution|task|executionID=%s";
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->action->label->execution = "Execution|execution|task|executionID=%s";
|
||||
}
|
||||
$lang->action->label->execution = "Execution|execution|task|executionID=%s";
|
||||
|
||||
$lang->action->label->task = 'Tâche|task|view|taskID=%s';
|
||||
$lang->action->label->build = 'Build|build|view|buildID=%s';
|
||||
|
||||
@@ -536,14 +536,7 @@ $lang->action->label->release = 'Phát hành|release|view|productID=%s';
|
||||
$lang->action->label->story = 'Câu chuyện|story|view|storyID=%s';
|
||||
$lang->action->label->program = "Program|program|pgmproduct|programID=%s";
|
||||
$lang->action->label->project = "Project|program|index|projectID=%s";
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->action->label->execution = "Execution|execution|task|executionID=%s";
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->action->label->execution = "$lang->executionCommon|execution|task|executionID=%s";
|
||||
}
|
||||
$lang->action->label->execution = "Execution|execution|task|executionID=%s";
|
||||
$lang->action->label->task = 'Nhiệm vụ|task|view|taskID=%s';
|
||||
$lang->action->label->build = 'Bản dựng|build|view|buildID=%s';
|
||||
$lang->action->label->bug = 'Bug|bug|view|bugID=%s';
|
||||
|
||||
@@ -99,7 +99,7 @@ $lang->action->objectTypes['productplan'] = '计划';
|
||||
$lang->action->objectTypes['release'] = '发布';
|
||||
$lang->action->objectTypes['program'] = '项目集';
|
||||
$lang->action->objectTypes['project'] = '项目';
|
||||
$lang->action->objectTypes['execution'] = $config->systemMode == 'new' ? '执行' : $lang->executionCommon;
|
||||
$lang->action->objectTypes['execution'] = '执行';
|
||||
$lang->action->objectTypes['task'] = '任务';
|
||||
$lang->action->objectTypes['build'] = '版本';
|
||||
$lang->action->objectTypes['job'] = '构建';
|
||||
@@ -681,14 +681,7 @@ $lang->action->label->release = '发布|release|view|productID=%s';
|
||||
$lang->action->label->story = "{$lang->SRCommon}|story|view|storyID=%s";
|
||||
$lang->action->label->program = "项目集|program|product|programID=%s";
|
||||
$lang->action->label->project = "项目|project|index|projectID=%s";
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->action->label->execution = "执行|execution|task|executionID=%s";
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->action->label->execution = "$lang->executionCommon|execution|task|executionID=%s";
|
||||
}
|
||||
$lang->action->label->execution = "执行|execution|task|executionID=%s";
|
||||
|
||||
$lang->action->label->task = '任务|task|view|taskID=%s';
|
||||
$lang->action->label->build = '版本|build|view|buildID=%s';
|
||||
|
||||
@@ -90,7 +90,7 @@ $lang->action->objectTypes['productplan'] = '計劃';
|
||||
$lang->action->objectTypes['release'] = '發佈';
|
||||
$lang->action->objectTypes['program'] = '項目集';
|
||||
$lang->action->objectTypes['project'] = '項目';
|
||||
$lang->action->objectTypes['execution'] = $config->systemMode == 'new' ? '執行' : $lang->executionCommon;
|
||||
$lang->action->objectTypes['execution'] = '執行';
|
||||
$lang->action->objectTypes['task'] = '任務';
|
||||
$lang->action->objectTypes['build'] = '版本';
|
||||
$lang->action->objectTypes['job'] = '構建';
|
||||
@@ -560,20 +560,13 @@ $lang->action->dynamicAction->entry['created'] = '添加應用';
|
||||
$lang->action->dynamicAction->entry['edited'] = '編輯應用';
|
||||
|
||||
/* 用來生成相應對象的連結。*/
|
||||
$lang->action->label->product = $lang->productCommon . '|product|view|productID=%s';
|
||||
$lang->action->label->productplan = "計劃|productplan|view|productID=%s";
|
||||
$lang->action->label->release = '發佈|release|view|productID=%s';
|
||||
$lang->action->label->story = "{$lang->SRCommon}|story|view|storyID=%s";
|
||||
$lang->action->label->program = "項目集|program|product|programID=%s";
|
||||
$lang->action->label->project = "項目|project|index|projectID=%s";
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->action->label->execution = "執行|execution|task|executionID=%s";
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->action->label->execution = "$lang->executionCommon|execution|task|executionID=%s";
|
||||
}
|
||||
$lang->action->label->product = $lang->productCommon . '|product|view|productID=%s';
|
||||
$lang->action->label->productplan = "計劃|productplan|view|productID=%s";
|
||||
$lang->action->label->release = '發佈|release|view|productID=%s';
|
||||
$lang->action->label->story = "{$lang->SRCommon}|story|view|storyID=%s";
|
||||
$lang->action->label->program = "項目集|program|product|programID=%s";
|
||||
$lang->action->label->project = "項目|project|index|projectID=%s";
|
||||
$lang->action->label->execution = "執行|execution|task|executionID=%s";
|
||||
$lang->action->label->task = '任務|task|view|taskID=%s';
|
||||
$lang->action->label->build = '版本|build|view|buildID=%s';
|
||||
$lang->action->label->bug = 'Bug|bug|view|bugID=%s';
|
||||
|
||||
@@ -1761,7 +1761,7 @@ class actionModel extends model
|
||||
$action = $this->getById($actionID);
|
||||
if($action->action != 'deleted') return;
|
||||
|
||||
if($this->config->systemMode == 'new' and $action->objectType == 'execution')
|
||||
if($action->objectType == 'execution')
|
||||
{
|
||||
$execution = $this->dao->select('*')->from(TABLE_EXECUTION)->where('id')->eq($action->objectID)->fetch();
|
||||
if($execution->deleted and empty($execution->project)) return print(js::error($this->lang->action->undeletedTips));
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
<th class='c-object-type'><?php common::printOrderLink('objectType', $orderBy, $vars, $lang->action->objectType);?></th>
|
||||
<th class='c-id'><?php common::printOrderLink('objectID', $orderBy, $vars, $lang->idAB);?></th>
|
||||
<th><?php echo $lang->action->objectName;?></th>
|
||||
<?php if($config->systemMode == 'new' and $currentObjectType == 'execution'):?>
|
||||
<?php if($currentObjectType == 'execution'):?>
|
||||
<th class='w-250px'><?php echo $this->lang->project->project;?></th>
|
||||
<?php endif;?>
|
||||
<?php if(strpos(',story,requirement,', ",$currentObjectType,") !== false):?>
|
||||
@@ -146,7 +146,7 @@
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
<?php if($config->systemMode == 'new' and $currentObjectType == 'execution'):?>
|
||||
<?php if($currentObjectType == 'execution'):?>
|
||||
<td class="c-name flex" title="<?php echo $projectList[$action->project]->name;?>">
|
||||
<span class="text-ellipsis"><?php echo $projectList[$action->project]->name;?></span>
|
||||
<?php if($projectList[$action->project]->deleted):?>
|
||||
|
||||
@@ -1737,10 +1737,8 @@ class block extends control
|
||||
$this->app->loadClass('pager', true);
|
||||
$pager = pager::init(0, $count, 1);
|
||||
|
||||
$projectPairs = array();
|
||||
if($this->config->systemMode == 'new') $projectPairs = $this->dao->select('id,name')->from(TABLE_PROJECT)->where('type')->eq('project')->fetchPairs('id', 'name');
|
||||
|
||||
$projectID = $this->view->block->module == 'my' ? 0 : (int)$this->session->project;
|
||||
$projectPairs = $this->dao->select('id,name')->from(TABLE_PROJECT)->where('type')->eq('project')->fetchPairs('id', 'name');
|
||||
$projectID = $this->view->block->module == 'my' ? 0 : (int)$this->session->project;
|
||||
|
||||
$this->view->executionStats = $this->execution->getStatData($projectID, $status, 0, 0, false, 'skipParent', 'id_asc', $pager);
|
||||
}
|
||||
|
||||
+11
-17
@@ -252,14 +252,11 @@ $lang->block->default['full']['my']['3']['grid'] = 4;
|
||||
$lang->block->default['full']['my']['3']['source'] = 'todo';
|
||||
$lang->block->default['full']['my']['3']['params']['count'] = '20';
|
||||
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->block->default['full']['my']['4']['title'] = 'Project Statistic';
|
||||
$lang->block->default['full']['my']['4']['block'] = 'statistic';
|
||||
$lang->block->default['full']['my']['4']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['4']['grid'] = 8;
|
||||
$lang->block->default['full']['my']['4']['params']['count'] = '20';
|
||||
}
|
||||
$lang->block->default['full']['my']['4']['title'] = 'Project Statistic';
|
||||
$lang->block->default['full']['my']['4']['block'] = 'statistic';
|
||||
$lang->block->default['full']['my']['4']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['4']['grid'] = 8;
|
||||
$lang->block->default['full']['my']['4']['params']['count'] = '20';
|
||||
|
||||
$lang->block->default['full']['my']['5']['title'] = 'Personal Contribution';
|
||||
$lang->block->default['full']['my']['5']['block'] = 'contribute';
|
||||
@@ -284,13 +281,10 @@ $lang->block->default['full']['my']['7']['params']['issueCount'] = '20';
|
||||
$lang->block->default['full']['my']['7']['params']['storyCount'] = '20';
|
||||
$lang->block->default['full']['my']['7']['params']['meetingCount'] = '20';
|
||||
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->block->default['full']['my']['8']['title'] = 'Human Input';
|
||||
$lang->block->default['full']['my']['8']['block'] = 'projectteam';
|
||||
$lang->block->default['full']['my']['8']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['8']['grid'] = 8;
|
||||
}
|
||||
$lang->block->default['full']['my']['8']['title'] = 'Human Input';
|
||||
$lang->block->default['full']['my']['8']['block'] = 'projectteam';
|
||||
$lang->block->default['full']['my']['8']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['8']['grid'] = 8;
|
||||
|
||||
$lang->block->default['full']['my']['9']['title'] = 'Project List';
|
||||
$lang->block->default['full']['my']['9']['block'] = 'project';
|
||||
@@ -321,7 +315,7 @@ $lang->block->availableBlocks->issue = 'My Issues';
|
||||
$lang->block->availableBlocks->meeting = 'My Meetings';
|
||||
$lang->block->availableBlocks->feedback = 'My Feedbacks';
|
||||
|
||||
if($config->systemMode == 'new') $lang->block->moduleList['project'] = 'Project';
|
||||
$lang->block->moduleList['project'] = 'Project';
|
||||
$lang->block->moduleList['product'] = $lang->productCommon;
|
||||
$lang->block->moduleList['execution'] = $lang->execution->common;
|
||||
$lang->block->moduleList['qa'] = 'QA';
|
||||
@@ -332,7 +326,7 @@ $lang->block->modules['project']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['project']->availableBlocks->project = 'Project List';
|
||||
$lang->block->modules['project']->availableBlocks->recentproject = 'Recent Projects';
|
||||
$lang->block->modules['project']->availableBlocks->statistic = 'Project Statistic';
|
||||
if($config->systemMode == 'new') $lang->block->modules['project']->availableBlocks->projectteam = 'ProjectHuman Input';
|
||||
$lang->block->modules['project']->availableBlocks->projectteam = 'ProjectHuman Input';
|
||||
|
||||
$lang->block->modules['scrum']['index'] = new stdclass();
|
||||
$lang->block->modules['scrum']['index']->availableBlocks = new stdclass();
|
||||
|
||||
@@ -536,8 +536,7 @@ $lang->block->flowchart = array();
|
||||
$lang->block->flowchart['admin'] = array('管理員', '維護公司', '添加用戶', '維護權限');
|
||||
if($config->systemMode == 'new') $lang->block->flowchart['program'] = array('項目集負責人', '創建項目集', '關聯產品', "創建項目", "制定預算和規劃", '添加干係人');
|
||||
$lang->block->flowchart['product'] = array($lang->productCommon . '經理', '創建' . $lang->productCommon, '維護模組', "維護計劃", "維護需求", '創建發佈');
|
||||
$lang->block->flowchart['project'] = array('項目經理', '創建' . $lang->executionCommon, '維護團隊', "關聯需求", '分解任務', '跟蹤進度');
|
||||
if($config->systemMode == 'new') $lang->block->flowchart['project'] = array('項目經理', '創建項目、' . $lang->executionCommon, '維護團隊', "關聯需求", '分解任務', '跟蹤進度');
|
||||
$lang->block->flowchart['project'] = array('項目經理', '創建項目、' . $lang->executionCommon, '維護團隊', "關聯需求", '分解任務', '跟蹤進度');
|
||||
$lang->block->flowchart['dev'] = array('研發人員', '領取任務和Bug', '設計實現方案', '更新狀態', '完成任務和Bug', '提交代碼');
|
||||
$lang->block->flowchart['tester'] = array('測試人員', '撰寫用例', '執行用例', '提交Bug', '驗證Bug', '關閉Bug');
|
||||
|
||||
|
||||
@@ -45,10 +45,8 @@
|
||||
<div class='col'>
|
||||
<div class='panel-content'>
|
||||
<div class='panel-heading not-move-handler'>
|
||||
<?php if($config->systemMode == 'new'):?>
|
||||
<?php $labelClass = $project->model == 'waterfall' ? 'label-warning' : 'label-info';?>
|
||||
<span class='project-type-label label <?php echo $labelClass;?> label-outline'><?php echo $lang->project->{$project->model};?></span>
|
||||
<?php endif;?>
|
||||
<strong class='project-name' title='<?php echo $project->name;?>'> <?php echo html::a($viewLink, $project->name);?> </strong>
|
||||
<nav class='panel-actions nav nav-default'>
|
||||
<li class='dropdown'>
|
||||
|
||||
@@ -2,7 +2,6 @@ $(function()
|
||||
{
|
||||
var page = window.page || '';
|
||||
var flow = window.flow;
|
||||
if(typeof(systemMode) == undefined) var systemMode = '';
|
||||
|
||||
$('#subNavbar a[data-toggle=dropdown]').parent().addClass('dropdown dropdown-hover');
|
||||
|
||||
@@ -302,13 +301,6 @@ function loadProductStories(productID)
|
||||
*/
|
||||
function loadProductProjects(productID)
|
||||
{
|
||||
if(systemMode == 'classic')
|
||||
{
|
||||
var projectID = $('#execution').find("option:selected").val();
|
||||
loadProductExecutions(productID, projectID);
|
||||
return true;
|
||||
}
|
||||
|
||||
branch = $('#branch').val();
|
||||
if(typeof(branch) == 'undefined') branch = 0;
|
||||
|
||||
@@ -340,7 +332,7 @@ function loadProductExecutions(productID, projectID = 0)
|
||||
$('#executionIdBox').load(link, function()
|
||||
{
|
||||
$(this).find('select').chosen();
|
||||
if(typeof(bugExecution) == 'string' && systemMode != 'classic') $('#executionIdBox').prepend("<span class='input-group-addon' id='executionBox' style='border-left-width: 0px;'>" + bugExecution + "</span>");
|
||||
if(typeof(bugExecution) == 'string') $('#executionIdBox').prepend("<span class='input-group-addon' id='executionBox' style='border-left-width: 0px;'>" + bugExecution + "</span>");
|
||||
if(required) $(this).find('#execution_chosen').addClass('required');
|
||||
changeAssignedTo(projectID);
|
||||
});
|
||||
|
||||
@@ -33,19 +33,13 @@ $('#toTaskButton').on('click', function()
|
||||
var executionID = $('#execution').val();
|
||||
var executionID = executionID ? executionID : 0;
|
||||
|
||||
if(systemMode == 'new' && projectID && executionID != 0)
|
||||
if(projectID && executionID != 0)
|
||||
{
|
||||
$('#cancelButton').click();
|
||||
link = createLink('task', 'create', 'executionID=' + executionID + '&storyID=0&moduleID=0&taskID=0&todoID=0&extra=projectID=' + projectID + '&bugID=' + bugID);
|
||||
window.parent.$.apps.open(link, 'execution');
|
||||
}
|
||||
else if(systemMode == 'classic' && executionID)
|
||||
{
|
||||
$('#cancelButton').click();
|
||||
var link = createLink('task', 'create', 'executionID=' + executionID + '&storyID=0&moduleID=0&taskID=0&todoID=0&extra=projectID=0&bugID=' + bugID);
|
||||
window.parent.$.apps.open(link, 'execution');
|
||||
}
|
||||
else if(systemMode == 'new' && projectID == 0)
|
||||
else if(projectID == 0)
|
||||
{
|
||||
alert(errorNoProject);
|
||||
}
|
||||
|
||||
@@ -191,7 +191,7 @@ global $config;
|
||||
/* Legend list. */
|
||||
$lang->bug->legendBasicInfo = 'Basis Info';
|
||||
$lang->bug->legendAttatch = 'Anlagen';
|
||||
$lang->bug->legendPRJExecStoryTask = $config->systemMode == 'new' ? 'Project/' . $lang->executionCommon . '/Story/Task' : $lang->executionCommon . '/Story/Task';
|
||||
$lang->bug->legendPRJExecStoryTask = 'Project/' . $lang->executionCommon . '/Story/Task';
|
||||
$lang->bug->legendExecStoryTask = $lang->executionCommon . '/Story/Task';
|
||||
$lang->bug->lblTypeAndSeverity = 'Typ/Schwere';
|
||||
$lang->bug->lblSystemBrowserAndHardware = 'System/Browser';
|
||||
|
||||
@@ -191,7 +191,7 @@ global $config;
|
||||
/* Legend list. */
|
||||
$lang->bug->legendBasicInfo = 'Basic Info';
|
||||
$lang->bug->legendAttatch = 'Files';
|
||||
$lang->bug->legendPRJExecStoryTask = $config->systemMode == 'new' ? 'Project/' . $lang->executionCommon . '/Story/Task' : $lang->executionCommon . '/Story/Task';
|
||||
$lang->bug->legendPRJExecStoryTask = 'Project/' . $lang->executionCommon . '/Story/Task';
|
||||
$lang->bug->legendExecStoryTask = $lang->executionCommon . '/Story/Task';
|
||||
$lang->bug->lblTypeAndSeverity = 'Type/Severity';
|
||||
$lang->bug->lblSystemBrowserAndHardware = 'System/Browser';
|
||||
|
||||
@@ -191,7 +191,7 @@ global $config;
|
||||
/* Legend list. */
|
||||
$lang->bug->legendBasicInfo = 'Infos de Base';
|
||||
$lang->bug->legendAttatch = 'Fichiers';
|
||||
$lang->bug->legendPRJExecStoryTask = $config->systemMode == 'new' ? 'Project/' . $lang->executionCommon . '/Story/Task' : $lang->executionCommon . '/Story/Task';
|
||||
$lang->bug->legendPRJExecStoryTask = 'Project/' . $lang->executionCommon . '/Story/Task';
|
||||
$lang->bug->legendExecStoryTask = $lang->executionCommon . '/Story/Tâche';
|
||||
$lang->bug->lblTypeAndSeverity = 'Type/Severité';
|
||||
$lang->bug->lblSystemBrowserAndHardware = 'Système/Browser';
|
||||
|
||||
@@ -23,7 +23,7 @@ foreach($products as $product)
|
||||
{
|
||||
$selected = $product->id == $productID ? 'selected' : '';
|
||||
$productName = $product->program ? zget($programs, $product->program, '') . '/' : '';
|
||||
$productName .= ($config->systemMode == 'new' and $product->line) ? zget($lines, $product->line, '') . '/' . $product->name : $product->name;
|
||||
$productName .= $product->line ? zget($lines, $product->line, '') . '/' . $product->name : $product->name;
|
||||
$objectID = ($product->type != 'platform' && $module == 'branch' && $method == 'manage') ? $productID : $product->id;
|
||||
$linkHtml = $this->product->setParamsForLink($module, $link, $projectID, $product->id);
|
||||
$productsHtml .= html::a($linkHtml, $productName, '', "class='text-primary $selected' title='{$productName}' data-key='" . zget($productsPinYin, $product->name, '') . "' data-app='{$this->app->tab}'");
|
||||
|
||||
@@ -56,9 +56,7 @@ foreach(explode(',', $config->bug->create->requiredFields) as $field)
|
||||
<th class='c-id'><?php echo $lang->idAB;?></th>
|
||||
<th class='c-branch<?php echo zget($visibleFields, $product->type, ' hidden')?> branchBox'> <?php echo $lang->product->branch;?></th>
|
||||
<th class='c-module<?php echo zget($requiredFields, 'module', '', ' required');?>'> <?php echo $lang->bug->module;?></th>
|
||||
<?php if($config->systemMode == 'new'):?>
|
||||
<th class='c-project<?php echo zget($visibleFields, 'project', ' hidden') . zget($requiredFields, 'project', '', ' required');?> projectBox'><?php echo $lang->bug->project;?></th>
|
||||
<?php endif;?>
|
||||
<th class='c-execution<?php echo zget($visibleFields, 'execution', ' hidden') . zget($requiredFields, 'execution', '', ' required');?> executionBox'><?php echo (isset($project->model) and $project->model == 'kanban') ? $lang->bug->kanban : $lang->bug->execution;?></th>
|
||||
<th class='c-build required'><?php echo $lang->bug->openedBuild;?></th>
|
||||
<th class='c-title required'><?php echo $lang->bug->title;?></th>
|
||||
@@ -107,9 +105,7 @@ foreach(explode(',', $config->bug->create->requiredFields) as $field)
|
||||
<td class='text-left'><?php echo $i;?></td>
|
||||
<td class='<?php echo zget($visibleFields, $product->type, ' hidden')?> branchBox' style='overflow:visible'><?php echo html::select("branches[$i]", $branches, $branch, "class='form-control chosen' onchange='setBranchRelated(this.value, $productID, $i)'");?></td>
|
||||
<td><?php echo html::select("modules[$i]", $moduleOptionMenu, $moduleID, "class='form-control chosen'");?></td>
|
||||
<?php if($config->systemMode == 'new'):?>
|
||||
<td class='<?php echo zget($visibleFields, 'project', ' hidden')?> projectBox' style='overflow:visible'><?php echo html::select("projects[$i]", $projects, $projectID, "class='form-control chosen' onchange = 'loadProductExecutionsByProject($productID, this.value, $i)'");?></td>
|
||||
<?php endif;?>
|
||||
<td class='<?php echo zget($visibleFields, 'execution', ' hidden')?> executionBox' style='overflow:visible'><?php echo html::select("executions[$i]", $executions, $executionID, "class='form-control chosen' onchange='loadExecutionBuilds($productID, this.value, $i)'");?></td>
|
||||
<td id='buildBox<?php echo $i;?>'><?php echo html::select("openedBuilds[$i][]", $builds, 'trunk', "class='form-control chosen' multiple");?></td>
|
||||
<td>
|
||||
@@ -165,9 +161,7 @@ foreach(explode(',', $config->bug->create->requiredFields) as $field)
|
||||
<td><?php echo $i;?></td>
|
||||
<td class='<?php echo zget($visibleFields, $product->type, ' hidden')?> branchBox' style='overflow:visible'><?php echo html::select("branches[$i]", $branches, $branch, "class='form-control chosen' onchange='setBranchRelated(this.value, $productID, $i)'");?></td>
|
||||
<td><?php echo html::select("modules[$i]", $moduleOptionMenu, $moduleID, "class='form-control chosen'");?></td>
|
||||
<?php if($config->systemMode == 'new'):?>
|
||||
<td class='<?php echo zget($visibleFields, 'project', ' hidden')?> projectBox' style='overflow:visible'><?php echo html::select("projects[$i]", $projects, $projectID, "class='form-control chosen' onchange = 'loadProductExecutionsByProject($productID, this.value, $i)'");?></td>
|
||||
<?php endif;?>
|
||||
<td class='<?php echo zget($visibleFields, 'execution', ' hidden')?> executionBox' style='overflow:visible'><?php echo html::select("executions[$i]", $executions, $executionID, "class='form-control chosen' onchange='loadExecutionBuilds($productID, this.value, $i)'");?></td>
|
||||
<td id='buildBox<?php echo $i;?>'><?php echo html::select("openedBuilds[$i][]", $builds, '', "class='form-control chosen' multiple");?></td>
|
||||
<td>
|
||||
@@ -228,9 +222,7 @@ foreach(explode(',', $config->bug->create->requiredFields) as $field)
|
||||
<td>%s</td>
|
||||
<td class='<?php echo zget($visibleFields, $product->type, ' hidden')?> productBox' style='overflow:visible'><?php echo html::select("branches[%s]", $branches, $branch, "class='form-control chosen' onchange='setBranchRelated(this.value, $productID, \"%s\")'");?></td>
|
||||
<td><?php echo html::select("modules[%s]", $moduleOptionMenu, $moduleID, "class='form-control chosen'");?></td>
|
||||
<?php if($config->systemMode == 'new'):?>
|
||||
<td class='<?php echo zget($visibleFields, 'project', ' hidden')?> projectBox' style='overflow:visible'><?php echo html::select("projects[%s]", $projects, $projectID, "class='form-control chosen' onchange = 'loadProductExecutionsByProject($productID, this.value, \"%s\")'");?></td>
|
||||
<?php endif;?>
|
||||
<td class='<?php echo zget($visibleFields, 'execution', ' hidden')?> executionBox' style='overflow:visible'><?php echo html::select("executions[%s]", $executions, $executionID, "class='form-control chosen' onchange='loadExecutionBuilds($productID, this.value, \"%s\")'");?></td>
|
||||
<td id='buildBox%s'><?php echo html::select("openedBuilds[%s][]", $builds, '', "class='form-control chosen' multiple");?></td>
|
||||
<td>
|
||||
@@ -273,9 +265,7 @@ foreach(explode(',', $config->bug->create->requiredFields) as $field)
|
||||
<td><?php echo $i;?></td>
|
||||
<td class='<?php echo zget($visibleFields, $product->type, ' hidden')?> branchBox' style='overflow:visible'><?php echo html::select("branches[$i]", $branches, $branch, "class='form-control chosen' onchange='setBranchRelated(this.value, $productID, $i)'");?></td>
|
||||
<td><?php echo html::select("modules[$i]", $moduleOptionMenu, $moduleID, "class='form-control chosen'");?></td>
|
||||
<?php if($config->systemMode == 'new'):?>
|
||||
<td class='<?php echo zget($visibleFields, 'project', ' hidden')?> projectBox' style='overflow:visible'><?php echo html::select("projects[$i]", $projects, $projectID, "class='form-control chosen' onchange = 'loadProductExecutionsByProject($productID, this.value, $i)'");?></td>
|
||||
<?php endif;?>
|
||||
<td class='<?php echo zget($visibleFields, 'execution', ' hidden')?> executionBox' style='overflow:visible'><?php echo html::select("executions[$i]", $executions, $executionID, "class='form-control chosen' onchange='loadExecutionBuilds($productID, this.value, $i)'");?></td>
|
||||
<td id='buildBox<?php echo $i;?>'><?php echo html::select("openedBuilds[$i][]", $builds, '', "class='form-control chosen' multiple");?></td>
|
||||
<td>
|
||||
|
||||
@@ -386,7 +386,6 @@ if($this->app->tab == 'project') js::set('objectID', $projectID);
|
||||
</div>
|
||||
<?php js::set('bugModule', $lang->bug->module);?>
|
||||
<?php js::set('bugExecution', $projectModel == 'kanban' ? $lang->bug->kanban : $lang->bug->execution);?>
|
||||
<?php js::set('systemMode', $config->systemMode);?>
|
||||
<script>
|
||||
$(function(){parent.$('body.hide-modal-close').removeClass('hide-modal-close');})
|
||||
</script>
|
||||
|
||||
@@ -24,7 +24,6 @@ js::set('oldStoryID' , $bug->story);
|
||||
js::set('oldTaskID' , $bug->task);
|
||||
js::set('oldOpenedBuild' , $bug->openedBuild);
|
||||
js::set('oldResolvedBuild' , $bug->resolvedBuild);
|
||||
js::set('systemMode' , $config->systemMode);
|
||||
js::set('confirmUnlinkBuild' , sprintf($lang->bug->confirmUnlinkBuild, zget($resolvedBuilds, $bug->resolvedBuild)));
|
||||
js::set('tab' , $this->app->tab);
|
||||
js::set('bugID' , $bug->id);
|
||||
@@ -204,7 +203,7 @@ if($this->app->tab == 'project') js::set('objectID', $bug->project);
|
||||
</table>
|
||||
</div>
|
||||
<div class='detail'>
|
||||
<div class='detail-title'><?php echo $config->systemMode == 'class' ? $lang->bug->legendExecStoryTask : $lang->bug->legendPRJExecStoryTask;?></div>
|
||||
<div class='detail-title'><?php echo $lang->bug->legendPRJExecStoryTask;?></div>
|
||||
<table class='table table-form'>
|
||||
<tbody>
|
||||
<tr>
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<?php js::set('sysurl', common::getSysUrl());?>
|
||||
<?php js::set('confrimToStory', $lang->bug->confirmToStory);?>
|
||||
<?php js::set('systemMode', $config->systemMode);?>
|
||||
<?php js::set('tab', $app->tab);?>
|
||||
<?php js::set('bugID', $bug->id);?>
|
||||
<?php js::set('branchID', $bug->branch);?>
|
||||
@@ -459,7 +458,6 @@
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<table class='table table-form'>
|
||||
<?php if($this->config->systemMode == 'new'):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->bug->project;?></th>
|
||||
<td class='required'><?php echo html::select('taskProjects', $projects, '', "class='form-control chosen' onchange='loadProductExecutions({$productID}, this.value)'");?></td>
|
||||
@@ -468,12 +466,6 @@
|
||||
<th id='executionHead'><?php echo $lang->bug->execution;?></th>
|
||||
<td id='executionBox' class='required'><?php echo html::select('execution', '', '', "class='form-control chosen'");?></td>
|
||||
</tr>
|
||||
<?php else:?>
|
||||
<tr>
|
||||
<th><?php echo $lang->execution->common;?></th>
|
||||
<td><?php echo html::select('execution', $projects, '', "class='form-control chosen'");?></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<td colspan='2' class='text-center'>
|
||||
<?php echo html::commonButton($lang->bug->nextStep, "id='toTaskButton'", 'btn btn-primary btn-wide');?>
|
||||
|
||||
@@ -181,7 +181,7 @@ class caselibModel extends model
|
||||
$lib = fixer::input('post')
|
||||
->stripTags($this->config->caselib->editor->create['id'], $this->config->allowedTags)
|
||||
->setForce('type', 'library')
|
||||
->setIF($this->config->systemMode == 'new' and $this->lang->navGroup->caselib != 'qa', 'project', $this->session->project)
|
||||
->setIF($this->lang->navGroup->caselib != 'qa', 'project', $this->session->project)
|
||||
->add('addedBy', $this->app->user->account)
|
||||
->add('addedDate', helper::now())
|
||||
->remove('uid')
|
||||
@@ -263,7 +263,7 @@ class caselibModel extends model
|
||||
|
||||
$cases = $this->dao->select('*')->from(TABLE_CASE)->where($caseQuery)
|
||||
->beginIF($queryLibID != 'all')->andWhere('lib')->eq((int)$libID)->fi()
|
||||
->beginIF($this->config->systemMode == 'new' and $this->app->tab != 'qa')->andWhere('project')->eq($this->session->project)->fi()
|
||||
->beginIF($this->app->tab != 'qa')->andWhere('project')->eq($this->session->project)->fi()
|
||||
->andWhere('product')->eq(0)
|
||||
->andWhere('deleted')->eq(0)
|
||||
->orderBy($sort)->page($pager)->fetchAll();
|
||||
@@ -582,7 +582,7 @@ class caselibModel extends model
|
||||
$data[$i]->status = $forceNotReview ? 'normal' : 'wait';
|
||||
$data[$i]->version = 1;
|
||||
$data[$i]->project = 0;
|
||||
if($this->config->systemMode == 'new' and $this->lang->navGroup->caselib != 'qa' and $this->session->project) $data[$i]->project = $this->session->project;
|
||||
if($this->lang->navGroup->caselib != 'qa' and $this->session->project) $data[$i]->project = $this->session->project;
|
||||
|
||||
$this->dao->insert(TABLE_CASE)->data($data[$i])
|
||||
->autoCheck()
|
||||
|
||||
@@ -161,7 +161,7 @@ $lang->my->common = 'My';
|
||||
$lang->program->common = 'Program';
|
||||
$lang->product->common = 'Product';
|
||||
$lang->project->common = 'Project';
|
||||
$lang->execution->common = $config->systemMode == 'new' ? 'Execution' : $lang->executionCommon;
|
||||
$lang->execution->common = 'Execution';
|
||||
$lang->kanban->common = 'Kanban';
|
||||
$lang->qa->common = 'QA';
|
||||
$lang->devops->common = 'DevOps';
|
||||
|
||||
@@ -161,7 +161,7 @@ $lang->my->common = 'My';
|
||||
$lang->program->common = 'Program';
|
||||
$lang->product->common = 'Product';
|
||||
$lang->project->common = 'Project';
|
||||
$lang->execution->common = $config->systemMode == 'new' ? 'Execution' : $lang->executionCommon;
|
||||
$lang->execution->common = 'Execution';
|
||||
$lang->kanban->common = 'Kanban';
|
||||
$lang->qa->common = 'QA';
|
||||
$lang->devops->common = 'DevOps';
|
||||
|
||||
+13
-34
@@ -138,23 +138,16 @@ list($executionModule, $executionMethod) = explode('-', $config->executionLink);
|
||||
|
||||
/* Main menu. */
|
||||
$lang->mainNav = new stdclass();
|
||||
$lang->mainNav->my = '<i class="icon icon-menu-my"></i> My|my|index|';
|
||||
$lang->mainNav->product = "<i class='icon icon-menu-product'></i> Product|$productModule|$productMethod|";
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->mainNav->project = "<i class='icon icon-project'></i> Project|$projectModule|$projectMethod|";
|
||||
$lang->mainNav->execution = "<i class='icon icon-run'></i> Execution|$executionModule|$executionMethod|";
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->mainNav->execution = "<i class='icon icon-run'></i> $lang->executionCommon|$executionModule|$executionMethod|";
|
||||
}
|
||||
$lang->mainNav->qa = '<i class="icon icon-test"></i> Test|qa|index|';
|
||||
$lang->mainNav->repo = '<i class="icon icon-code1"></i> Code|repo|browse|';
|
||||
$lang->mainNav->doc = '<i class="icon icon-doc"></i> Doc|doc|index|';
|
||||
$lang->mainNav->report = "<i class='icon icon-statistic'></i> Statistic|report|productsummary|";
|
||||
$lang->mainNav->system = '<i class="icon icon-menu-users"></i> System|company|browse|';
|
||||
$lang->mainNav->admin = '<i class="icon icon-menu-backend"></i> Admin|admin|index|';
|
||||
$lang->mainNav->my = '<i class="icon icon-menu-my"></i> My|my|index|';
|
||||
$lang->mainNav->product = "<i class='icon icon-menu-product'></i> Product|$productModule|$productMethod|";
|
||||
$lang->mainNav->project = "<i class='icon icon-project'></i> Project|$projectModule|$projectMethod|";
|
||||
$lang->mainNav->execution = "<i class='icon icon-run'></i> Execution|$executionModule|$executionMethod|";
|
||||
$lang->mainNav->qa = '<i class="icon icon-test"></i> Test|qa|index|';
|
||||
$lang->mainNav->repo = '<i class="icon icon-code1"></i> Code|repo|browse|';
|
||||
$lang->mainNav->doc = '<i class="icon icon-doc"></i> Doc|doc|index|';
|
||||
$lang->mainNav->report = "<i class='icon icon-statistic'></i> Statistic|report|productsummary|";
|
||||
$lang->mainNav->system = '<i class="icon icon-menu-users"></i> System|company|browse|';
|
||||
$lang->mainNav->admin = '<i class="icon icon-menu-backend"></i> Admin|admin|index|';
|
||||
if($config->systemMode == 'new') $lang->mainNav->program = "<i class='icon icon-program'></i> Program|$programModule|$programMethod|";
|
||||
|
||||
$lang->dividerMenu = ',qa,report,admin,';
|
||||
@@ -167,14 +160,7 @@ $lang->program->menu->browse = array('link' => 'Program|program|browse|', 'alias
|
||||
|
||||
$lang->project = new stdclass();
|
||||
$lang->project->menu = new stdclass();
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->project->menu->browse = array('link' => 'Project|project|browse|');
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->project->menu->browse = array('link' => "$lang->executionCommon|project|browse|");
|
||||
}
|
||||
$lang->project->menu->browse = array('link' => 'Project|project|browse|');
|
||||
|
||||
$lang->project->dividerMenu = ',execution,programplan,doc,dynamic,';
|
||||
|
||||
@@ -303,15 +289,8 @@ $lang->my->menu = new stdclass();
|
||||
|
||||
$lang->my->menu->index = 'Index|my|index';
|
||||
$lang->my->menu->myWork = array('link' => 'Work|my|work|mode=task');
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->my->menu->myProject = array('link' => 'Project|my|project|');
|
||||
$lang->my->menu->myExecution = 'Execution|my|execution|type=undone';
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->my->menu->myExecution = $lang->executionCommon . '|my|execution|type=undone';
|
||||
}
|
||||
$lang->my->menu->myProject = array('link' => 'Project|my|project|');
|
||||
$lang->my->menu->myExecution = 'Execution|my|execution|type=undone';
|
||||
$lang->my->menu->contribute = array('link' => 'Contribute|my|contribute|mode=task');
|
||||
$lang->my->menu->dynamic = 'Dynamic|my|dynamic|';
|
||||
$lang->my->menu->score = 'Score|my|score|';
|
||||
|
||||
@@ -146,7 +146,7 @@ $lang->my->common = '地盤';
|
||||
$lang->program->common = '項目集';
|
||||
$lang->product->common = '產品';
|
||||
$lang->project->common = '項目';
|
||||
$lang->execution->common = $config->systemMode == 'new' ? '執行' : $lang->executionCommon;
|
||||
$lang->execution->common = '執行';
|
||||
$lang->kanban->common = '看板';
|
||||
$lang->qa->common = '測試';
|
||||
$lang->devops->common = 'DevOps';
|
||||
|
||||
@@ -611,8 +611,8 @@ class commonModel extends model
|
||||
if(empty($object)) unset($lang->createIcons['story'], $lang->createIcons['task'], $lang->createIcons['execution']);
|
||||
}
|
||||
|
||||
if($config->edition == 'open') unset($lang->createIcons['effort']);
|
||||
if($config->systemMode != 'new') unset($lang->createIcons['program']);
|
||||
if($config->edition == 'open') unset($lang->createIcons['effort']);
|
||||
if($config->systemMode == 'lean') unset($lang->createIcons['program']);
|
||||
|
||||
/* Check whether the creation permission is available, and print create buttons. */
|
||||
|
||||
@@ -1238,7 +1238,7 @@ class commonModel extends model
|
||||
echo "<ul id='searchTypeMenu' class='dropdown-menu'>";
|
||||
|
||||
$searchObjects = $lang->searchObjects;
|
||||
if($config->systemMode != 'new') unset($searchObjects['program']);
|
||||
if($config->systemMode == 'lean') unset($searchObjects['program']);
|
||||
|
||||
foreach($searchObjects as $key => $value)
|
||||
{
|
||||
|
||||
@@ -11,7 +11,7 @@ $config->company->dynamic->search['module'] = 'action';
|
||||
|
||||
if($config->vision == 'rnd') $config->company->dynamic->search['fields']['product'] = $lang->action->product;
|
||||
|
||||
if($config->systemMode == 'new') $config->company->dynamic->search['fields']['project'] = '项目';
|
||||
$config->company->dynamic->search['fields']['project'] = '项目';
|
||||
$config->company->dynamic->search['fields']['execution'] = $lang->action->execution;
|
||||
$config->company->dynamic->search['fields']['actor'] = $lang->action->actor;
|
||||
$config->company->dynamic->search['fields']['objectID'] = $lang->action->objectID;
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php js::set('browseType', $browseType);?>
|
||||
<?php js::set('systemMode', $config->systemMode);?>
|
||||
<div id="mainMenu" class="clearfix">
|
||||
<div class="btn-toolbar pull-left">
|
||||
<?php foreach($lang->action->periods as $period => $label):?>
|
||||
|
||||
@@ -17,7 +17,7 @@ $config->custom->requiredModules[15] = 'story';
|
||||
$config->custom->requiredModules[20] = 'productplan';
|
||||
$config->custom->requiredModules[25] = 'release';
|
||||
|
||||
if($config->systemMode == 'new') $config->custom->requiredModules[30] = 'project';
|
||||
$config->custom->requiredModules[30] = 'project';
|
||||
$config->custom->requiredModules[35] = 'execution';
|
||||
$config->custom->requiredModules[40] = 'task';
|
||||
$config->custom->requiredModules[45] = 'build';
|
||||
|
||||
@@ -21,11 +21,7 @@ class custom extends control
|
||||
{
|
||||
if($this->config->vision == 'lite') return print(js::locate(inlink('execution')));
|
||||
|
||||
if(($this->config->systemMode == 'new') and common::hasPriv('custom', 'set'))
|
||||
{
|
||||
return print(js::locate(inlink('set', "module=project&field=" . key($this->lang->custom->project->fields))));
|
||||
}
|
||||
|
||||
if(common::hasPriv('custom', 'set')) return print(js::locate(inlink('set', "module=project&field=" . key($this->lang->custom->project->fields))));
|
||||
if(common::hasPriv('custom', 'product')) return print(js::locate(inlink('product')));
|
||||
if(common::hasPriv('custom', 'execution')) return print(js::locate(inlink('execution')));
|
||||
|
||||
@@ -609,7 +605,7 @@ class custom extends control
|
||||
if($this->config->edition != 'max') $this->loadModel('setting')->setItem('system.custom.hourPoint', $this->post->hourPoint);
|
||||
|
||||
$this->app->loadLang('common');
|
||||
$locate = $this->config->systemMode == 'new' ? inlink('flow') : 'top';
|
||||
$locate = inlink('flow');
|
||||
|
||||
return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $locate));
|
||||
}
|
||||
|
||||
@@ -48,9 +48,8 @@ $lang->custom->switch = "Switch";
|
||||
$lang->custom->oneUnit = "One {$lang->hourCommon}";
|
||||
$lang->custom->convertRelationTitle = "Please firstly set the conversion factor from {$lang->hourCommon} to %s";
|
||||
|
||||
if($config->systemMode == 'new') $lang->custom->execution = 'Execution';
|
||||
if($config->systemMode == 'classic' || !$config->systemMode) $lang->custom->execution = $lang->executionCommon;
|
||||
$lang->custom->defaultProgram = 'Default program';
|
||||
$lang->custom->execution = 'Execution';
|
||||
$lang->custom->defaultProgram = 'Default program';
|
||||
|
||||
$lang->custom->unitList['efficiency'] = 'Working Hours/';
|
||||
$lang->custom->unitList['manhour'] = 'Man-hour/';
|
||||
@@ -80,7 +79,7 @@ $lang->custom->numberError = 'The interval must be greater than zero!';
|
||||
$lang->custom->closedExecution = 'Closed ' . $lang->executionCommon;
|
||||
$lang->custom->closedProduct = 'Closed ' . $lang->productCommon;
|
||||
|
||||
if($config->systemMode == 'new') $lang->custom->object['project'] = 'Project';
|
||||
$lang->custom->object['project'] = 'Project';
|
||||
$lang->custom->object['product'] = $lang->productCommon;
|
||||
$lang->custom->object['execution'] = $lang->custom->execution;
|
||||
$lang->custom->object['story'] = 'Câu chuyện';
|
||||
@@ -200,17 +199,9 @@ $lang->custom->weekendList[2] = '2 ngày nghỉ';
|
||||
$lang->custom->weekendList[1] = '1 ngày nghỉ';
|
||||
|
||||
global $config;
|
||||
if($config->systemMode == 'classic')
|
||||
{
|
||||
$lang->custom->sprintConceptList[0] = 'Product - Project';
|
||||
$lang->custom->sprintConceptList[1] = 'Product - Iteration';
|
||||
$lang->custom->sprintConceptList[2] = 'Product - Sprint';
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->custom->sprintConceptList[0] = 'Program - Product - Iteration';
|
||||
$lang->custom->sprintConceptList[1] = 'Program - Product - Sprint';
|
||||
}
|
||||
$lang->custom->sprintConceptList[0] = 'Product - Project';
|
||||
$lang->custom->sprintConceptList[1] = 'Product - Iteration';
|
||||
$lang->custom->sprintConceptList[2] = 'Product - Sprint';
|
||||
|
||||
$lang->custom->workingList['full'] = 'Quản lý vòng đời ứng dụng';
|
||||
|
||||
|
||||
@@ -49,9 +49,7 @@ $lang->custom->switch = "切換";
|
||||
$lang->custom->oneUnit = "一個{$lang->hourCommon}";
|
||||
$lang->custom->convertRelationTitle = "請先設置{$lang->hourCommon}轉換為%s的換算係數";
|
||||
$lang->custom->superReviewers = "超級評審人";
|
||||
|
||||
if($config->systemMode == 'new') $lang->custom->execution = '執行';
|
||||
if($config->systemMode == 'classic' || !$config->systemMode) $lang->custom->execution = $lang->executionCommon;
|
||||
$lang->custom->execution = '執行';
|
||||
|
||||
$lang->custom->unitList['efficiency'] = '工時/';
|
||||
$lang->custom->unitList['manhour'] = '人時/';
|
||||
@@ -81,7 +79,7 @@ $lang->custom->numberError = '區間必須大於零';
|
||||
$lang->custom->closedExecution = '已關閉' . $lang->custom->execution;
|
||||
$lang->custom->closedProduct = '已關閉' . $lang->productCommon;
|
||||
|
||||
if($config->systemMode == 'new') $lang->custom->object['project'] = '項目';
|
||||
$lang->custom->object['project'] = '項目';
|
||||
$lang->custom->object['product'] = $lang->productCommon;
|
||||
$lang->custom->object['execution'] = $lang->custom->execution;
|
||||
$lang->custom->object['story'] = $lang->SRCommon;
|
||||
@@ -202,17 +200,9 @@ $lang->custom->weekendList[2] = '雙休';
|
||||
$lang->custom->weekendList[1] = '單休';
|
||||
|
||||
global $config;
|
||||
if($config->systemMode == 'classic')
|
||||
{
|
||||
$lang->custom->sprintConceptList[0] = '產品 - 項目';
|
||||
$lang->custom->sprintConceptList[1] = '產品 - 迭代';
|
||||
$lang->custom->sprintConceptList[2] = '產品 - 衝刺';
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->custom->sprintConceptList[0] = '項目 - 產品 - 迭代';
|
||||
$lang->custom->sprintConceptList[1] = '項目 - 產品 - 衝刺';
|
||||
}
|
||||
$lang->custom->sprintConceptList[0] = '產品 - 項目';
|
||||
$lang->custom->sprintConceptList[1] = '產品 - 迭代';
|
||||
$lang->custom->sprintConceptList[2] = '產品 - 衝刺';
|
||||
|
||||
$lang->custom->workingList['full'] = '完整研發管理工具';
|
||||
|
||||
|
||||
@@ -348,7 +348,7 @@ class doc extends control
|
||||
unset($this->lang->doc->menu->product['subMenu']);
|
||||
unset($this->lang->doc->menu->custom['subMenu']);
|
||||
unset($this->lang->doc->menu->execution['subMenu']);
|
||||
if($this->config->systemMode == 'new') unset($this->lang->doc->menu->project['subMenu']);
|
||||
unset($this->lang->doc->menu->project['subMenu']);
|
||||
}
|
||||
|
||||
$this->config->showMainMenu = (strpos($this->config->doc->textTypes, $docType) === false or $from == 'template');
|
||||
|
||||
@@ -163,7 +163,7 @@ $lang->doc->allExecutions = 'Alle' . $lang->executionCommon;
|
||||
$lang->doc->allProjects = 'All' . $lang->projectCommon . 's';
|
||||
|
||||
$lang->doc->libTypeList['product'] = $lang->productCommon . ' Bibliothek';
|
||||
if($config->systemMode == 'new') $lang->doc->libTypeList['project'] = 'Project Library';
|
||||
$lang->doc->libTypeList['project'] = 'Project Library';
|
||||
$lang->doc->libTypeList['execution'] = $lang->execution->common . ' Bibliothek';
|
||||
$lang->doc->libTypeList['api'] = 'API Library';
|
||||
$lang->doc->libTypeList['custom'] = 'Eigene Bibliothek';
|
||||
|
||||
@@ -163,7 +163,7 @@ $lang->doc->allExecutions = 'All' . $lang->executionCommon . 's';
|
||||
$lang->doc->allProjects = 'All' . $lang->projectCommon . 's';
|
||||
|
||||
$lang->doc->libTypeList['product'] = $lang->productCommon . ' Library';
|
||||
if($config->systemMode == 'new') $lang->doc->libTypeList['project'] = 'Project Library';
|
||||
$lang->doc->libTypeList['project'] = 'Project Library';
|
||||
$lang->doc->libTypeList['execution'] = $lang->execution->common . ' Library';
|
||||
$lang->doc->libTypeList['api'] = 'API Library';
|
||||
$lang->doc->libTypeList['custom'] = 'Custom Library';
|
||||
|
||||
@@ -163,7 +163,7 @@ $lang->doc->allExecutions = 'Tous les' . $lang->executionCommon . 's';
|
||||
$lang->doc->allProjects = 'All' . $lang->projectCommon . 's';
|
||||
|
||||
$lang->doc->libTypeList['product'] = $lang->productCommon . ' Library';
|
||||
if($config->systemMode == 'new') $lang->doc->libTypeList['project'] = 'Project Library';
|
||||
$lang->doc->libTypeList['project'] = 'Project Library';
|
||||
$lang->doc->libTypeList['execution'] = 'Bibliothèque ' . $lang->execution->common;
|
||||
$lang->doc->libTypeList['api'] = 'API Library';
|
||||
$lang->doc->libTypeList['custom'] = 'Bib. Personnalisée';
|
||||
|
||||
@@ -163,7 +163,7 @@ $lang->doc->allExecutions = '所有' . $lang->executionCommon;
|
||||
$lang->doc->allProjects = '所有' . $lang->projectCommon;
|
||||
|
||||
$lang->doc->libTypeList['product'] = $lang->productCommon . '文档库';
|
||||
if($config->systemMode == 'new') $lang->doc->libTypeList['project'] = '项目文档库';
|
||||
$lang->doc->libTypeList['project'] = '项目文档库';
|
||||
$lang->doc->libTypeList['execution'] = $lang->execution->common . '文档库';
|
||||
$lang->doc->libTypeList['api'] = '接口库';
|
||||
$lang->doc->libTypeList['custom'] = '自定义文档库';
|
||||
|
||||
@@ -154,7 +154,7 @@ $lang->doc->allProduct = '所有' . $lang->productCommon;
|
||||
$lang->doc->allExecutions = '所有' . $lang->executionCommon;
|
||||
|
||||
$lang->doc->libTypeList['product'] = $lang->productCommon . '文檔庫';
|
||||
if($config->systemMode == 'new') $lang->doc->libTypeList['project'] = '項目文檔庫';
|
||||
$lang->doc->libTypeList['project'] = '項目文檔庫';
|
||||
$lang->doc->libTypeList['execution'] = $lang->execution->common . '文檔庫';
|
||||
$lang->doc->libTypeList['custom'] = '自定義文檔庫';
|
||||
|
||||
|
||||
@@ -1577,7 +1577,7 @@ class docModel extends model
|
||||
$orderedExecutions = array();
|
||||
foreach($executions as $id => $execution)
|
||||
{
|
||||
$execution->name = $this->config->systemMode == 'new' ? zget($projectPairs, $execution->project) . ' / ' . $execution->name : $execution->name;
|
||||
$execution->name = zget($projectPairs, $execution->project) . ' / ' . $execution->name;
|
||||
|
||||
if($execution->status != 'done' and $execution->status != 'closed' and $execution->PM == $this->app->user->account)
|
||||
{
|
||||
@@ -2336,7 +2336,7 @@ class docModel extends model
|
||||
|
||||
if($this->app->tab == 'doc' and $type != 'custom' and $type != 'book')
|
||||
{
|
||||
$objectTitle = ($this->config->systemMode == 'new' and $type == 'execution') ? substr($objects[$objectID], strpos($objects[$objectID], '/') + 1) : $objects[$objectID];
|
||||
$objectTitle = $type == 'execution' ? substr($objects[$objectID], strpos($objects[$objectID], '/') + 1) : $objects[$objectID];
|
||||
|
||||
$output = <<<EOT
|
||||
<div class='btn-group angle-btn'>
|
||||
|
||||
+11
-17
@@ -54,7 +54,7 @@ $config->execution->search['fields']['desc'] = $lang->task->desc;
|
||||
$config->execution->search['fields']['assignedTo'] = $lang->task->assignedTo;
|
||||
$config->execution->search['fields']['pri'] = $lang->task->pri;
|
||||
|
||||
if($app->tab == 'my' and $config->systemMode == 'new') $config->execution->search['fields']['project'] = $lang->task->project;
|
||||
if($app->tab == 'my') $config->execution->search['fields']['project'] = $lang->task->project;
|
||||
$config->execution->search['fields']['execution'] = $lang->task->execution;
|
||||
$config->execution->search['fields']['module'] = $lang->task->module;
|
||||
$config->execution->search['fields']['estimate'] = $lang->task->estimate;
|
||||
@@ -89,7 +89,7 @@ $config->execution->search['params']['desc'] = array('operator' => 'in
|
||||
$config->execution->search['params']['assignedTo'] = array('operator' => '=', 'control' => 'select', 'values' => 'users');
|
||||
$config->execution->search['params']['pri'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->task->priList);
|
||||
|
||||
if($app->tab == 'my' and $config->systemMode == 'new') $config->execution->search['params']['project'] = array('operator' => '=', 'control' => 'select', 'values' => '');
|
||||
if($app->tab == 'my') $config->execution->search['params']['project'] = array('operator' => '=', 'control' => 'select', 'values' => '');
|
||||
$config->execution->search['params']['execution'] = array('operator' => '=', 'control' => 'select', 'values' => '');
|
||||
$config->execution->search['params']['module'] = array('operator' => 'belong', 'control' => 'select', 'values' => '');
|
||||
$config->execution->search['params']['estimate'] = array('operator' => '=', 'control' => 'input', 'values' => '');
|
||||
@@ -124,7 +124,7 @@ $config->execution->all->search['module'] = 'execution';
|
||||
$config->execution->all->search['fields']['name'] = $lang->execution->execName;
|
||||
$config->execution->all->search['fields']['id'] = $lang->execution->execId;
|
||||
$config->execution->all->search['fields']['status'] = $lang->execution->execStatus;
|
||||
if($config->systemMode == 'new') $config->execution->all->search['fields']['project'] = $lang->execution->project;
|
||||
$config->execution->all->search['fields']['project'] = $lang->execution->project;
|
||||
$config->execution->all->search['fields']['PM'] = $lang->execution->owner;
|
||||
$config->execution->all->search['fields']['openedBy'] = $lang->execution->openedBy;
|
||||
$config->execution->all->search['fields']['openedDate'] = $lang->execution->openedDate;
|
||||
@@ -139,7 +139,7 @@ $config->execution->all->search['fields']['closedDate'] = $lang->execution->
|
||||
$config->execution->all->search['params']['name'] = array('operator' => 'include', 'control' => 'input', 'values' => '');
|
||||
$config->execution->all->search['params']['id'] = array('operator' => '=', 'control' => 'input', 'values' => '');
|
||||
$config->execution->all->search['params']['status'] = array('operator' => '=', 'control' => 'select', 'values' => array('') + $lang->execution->statusList);
|
||||
if($config->systemMode == 'new') $config->execution->all->search['params']['project'] = array('operator' => '=', 'control' => 'select', 'values' => '');
|
||||
$config->execution->all->search['params']['project'] = array('operator' => '=', 'control' => 'select', 'values' => '');
|
||||
$config->execution->all->search['params']['PM'] = array('operator' => '=', 'control' => 'select', 'values' => 'users');
|
||||
$config->execution->all->search['params']['openedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users');
|
||||
$config->execution->all->search['params']['openedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date');
|
||||
@@ -173,18 +173,15 @@ $config->execution->gantt->linkType['end']['end'] = 2;
|
||||
$config->execution->gantt->linkType['begin']['end'] = 3;
|
||||
|
||||
$config->execution->datatable = new stdclass();
|
||||
if((!isset($config->setCode) or $config->setCode == 1) and $config->systemMode == 'new')
|
||||
if(!isset($config->setCode) or $config->setCode == 1)
|
||||
{
|
||||
$config->execution->datatable->defaultField = array('id', 'name', 'code', 'project', 'PM', 'status', 'progress', 'begin', 'end', 'estimate', 'consumed', 'left', 'burn');
|
||||
}
|
||||
elseif($config->systemMode == 'new')
|
||||
else
|
||||
{
|
||||
$config->execution->datatable->defaultField = array('id', 'name', 'project', 'PM', 'status', 'progress', 'begin', 'end', 'estimate', 'consumed', 'left', 'burn');
|
||||
}
|
||||
else
|
||||
{
|
||||
$config->execution->datatable->defaultField = array('id', 'name', 'PM', 'status', 'progress', 'begin', 'end', 'estimate', 'consumed', 'left', 'burn');
|
||||
}
|
||||
|
||||
|
||||
$config->execution->datatable->fieldList['id']['title'] = 'idAB';
|
||||
$config->execution->datatable->fieldList['id']['fixed'] = 'left';
|
||||
@@ -204,13 +201,10 @@ if(!isset($config->setCode) or $config->setCode == 1)
|
||||
$config->execution->datatable->fieldList['code']['required'] = 'no';
|
||||
}
|
||||
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$config->execution->datatable->fieldList['project']['title'] = 'project';
|
||||
$config->execution->datatable->fieldList['project']['fixed'] = 'no';
|
||||
$config->execution->datatable->fieldList['project']['width'] = '100';
|
||||
$config->execution->datatable->fieldList['project']['required'] = 'no';
|
||||
}
|
||||
$config->execution->datatable->fieldList['project']['title'] = 'project';
|
||||
$config->execution->datatable->fieldList['project']['fixed'] = 'no';
|
||||
$config->execution->datatable->fieldList['project']['width'] = '100';
|
||||
$config->execution->datatable->fieldList['project']['required'] = 'no';
|
||||
|
||||
$config->execution->datatable->fieldList['PM']['title'] = 'owner';
|
||||
$config->execution->datatable->fieldList['PM']['fixed'] = 'no';
|
||||
|
||||
@@ -138,7 +138,7 @@ function loadBranches(product)
|
||||
if($inputgroup.find('select').size() >= 2) $inputgroup.removeClass('has-branch').find('select:last').remove();
|
||||
if($inputgroup.find('.chosen-container').size() >= 2) $inputgroup.find('.chosen-container:last').remove();
|
||||
|
||||
var projectID = (typeof(systemMode) != 'undefined' && systemMode == 'new') ? $('#project').val() : 0;
|
||||
var projectID = $('#project').val();
|
||||
if(typeof(projectID) == 'undefined') projectID = 0;
|
||||
|
||||
var index = $inputgroup.find('select:first').attr('id').replace('products' , '');
|
||||
|
||||
@@ -49,22 +49,19 @@ $(function()
|
||||
|
||||
$('#teams_chosen').click(function()
|
||||
{
|
||||
if(systemMode == 'new')
|
||||
$('#teams_chosen ul li').each(function(index)
|
||||
{
|
||||
$('#teams_chosen ul li').each(function(index)
|
||||
if(index == 0)
|
||||
{
|
||||
if(index == 0)
|
||||
{
|
||||
var projectName = subString($(this).text(), 56);
|
||||
$(this).text(projectName);
|
||||
$(this).append(' <label class="label">' + projectCommon + '</label>');
|
||||
}
|
||||
else
|
||||
{
|
||||
$(this).prepend(' ');
|
||||
}
|
||||
})
|
||||
}
|
||||
var projectName = subString($(this).text(), 56);
|
||||
$(this).text(projectName);
|
||||
$(this).append(' <label class="label">' + projectCommon + '</label>');
|
||||
}
|
||||
else
|
||||
{
|
||||
$(this).prepend(' ');
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
$('#teams').change(function()
|
||||
|
||||
@@ -22,22 +22,19 @@ $(function()
|
||||
{
|
||||
$('#execution_chosen, #execution + .picker').click(function()
|
||||
{
|
||||
if(systemMode == 'new')
|
||||
$('#execution_chosen ul li, #pickerDropMenu-pk_execution div a').each(function(index)
|
||||
{
|
||||
$('#execution_chosen ul li, #pickerDropMenu-pk_execution div a').each(function(index)
|
||||
if(index == 0)
|
||||
{
|
||||
if(index == 0)
|
||||
{
|
||||
var projectName = subString($(this).text(), 56);
|
||||
$(this).text(projectName);
|
||||
$(this).append(' <label class="label">' + projectCommon + '</label>');
|
||||
}
|
||||
else
|
||||
{
|
||||
$(this).prepend(' ');
|
||||
}
|
||||
})
|
||||
}
|
||||
var projectName = subString($(this).text(), 56);
|
||||
$(this).text(projectName);
|
||||
$(this).append(' <label class="label">' + projectCommon + '</label>');
|
||||
}
|
||||
else
|
||||
{
|
||||
$(this).prepend(' ');
|
||||
}
|
||||
})
|
||||
});
|
||||
})
|
||||
|
||||
|
||||
@@ -193,16 +193,8 @@ $lang->execution->statusList['suspended'] = 'Ausgesetzt';
|
||||
$lang->execution->statusList['closed'] = 'Geschlossen';
|
||||
|
||||
global $config;
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->execution->aclList['private'] = 'Private (for team members and project stakeholders)';
|
||||
$lang->execution->aclList['open'] = 'Inherited Project ACL (for who can access the current project)';
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->execution->aclList['private'] = 'Private (for team members and project stakeholders)';
|
||||
$lang->execution->aclList['open'] = 'Public (for who can access the current project)';
|
||||
}
|
||||
$lang->execution->aclList['private'] = 'Private (for team members and project stakeholders)';
|
||||
$lang->execution->aclList['open'] = 'Inherited Project ACL (for who can access the current project)';
|
||||
|
||||
$lang->execution->kanbanAclList['private'] = 'Private';
|
||||
$lang->execution->kanbanAclList['open'] = 'Inherited Project';
|
||||
|
||||
@@ -193,16 +193,8 @@ $lang->execution->statusList['suspended'] = 'Suspended';
|
||||
$lang->execution->statusList['closed'] = 'Closed';
|
||||
|
||||
global $config;
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->execution->aclList['private'] = 'Private (for team members and project stakeholders)';
|
||||
$lang->execution->aclList['open'] = 'Inherited Project ACL (for who can access the current project)';
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->execution->aclList['private'] = 'Private (for team members and project stakeholders)';
|
||||
$lang->execution->aclList['open'] = "Public (Users who can visit project can access it.)";
|
||||
}
|
||||
$lang->execution->aclList['private'] = 'Private (for team members and project stakeholders)';
|
||||
$lang->execution->aclList['open'] = 'Inherited Project ACL (for who can access the current project)';
|
||||
|
||||
$lang->execution->kanbanAclList['private'] = 'Private';
|
||||
$lang->execution->kanbanAclList['open'] = 'Inherited Project';
|
||||
|
||||
@@ -193,16 +193,8 @@ $lang->execution->statusList['suspended'] = 'Suspendu';
|
||||
$lang->execution->statusList['closed'] = 'Fermé';
|
||||
|
||||
global $config;
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->execution->aclList['private'] = 'Private (for team members and project stakeholders)';
|
||||
$lang->execution->aclList['open'] = 'Inherited Project ACL (for who can access the current project)';
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->execution->aclList['private'] = 'Private (for team members and project stakeholders)';
|
||||
$lang->execution->aclList['open'] = 'Inherited Execution ACL (for who can access the current project)';
|
||||
}
|
||||
$lang->execution->aclList['private'] = 'Private (for team members and project stakeholders)';
|
||||
$lang->execution->aclList['open'] = 'Inherited Project ACL (for who can access the current project)';
|
||||
|
||||
$lang->execution->kanbanAclList['private'] = 'Private';
|
||||
$lang->execution->kanbanAclList['open'] = 'Inherited Project';
|
||||
|
||||
@@ -101,9 +101,7 @@ $lang->execution->copyNoExecution = 'There are no ' . $lang->executionCommon . '
|
||||
$lang->execution->noTeam = 'No team members at the moment';
|
||||
$lang->execution->or = ' or ';
|
||||
$lang->execution->selectProject = 'Please select project';
|
||||
|
||||
if($this->config->systemMode == 'new') $lang->execution->copyTeamTip = "select Project/{$lang->execution->common} to copy its members";
|
||||
if($this->config->systemMode == 'classic') $lang->execution->copyTeamTip = "select Project/{$lang->executionCommon} to copy its members";
|
||||
$lang->execution->copyTeamTip = "select Project/{$lang->execution->common} to copy its members";
|
||||
|
||||
$lang->execution->start = 'Bắt đầu';
|
||||
$lang->execution->activate = 'Kích hoạt';
|
||||
@@ -147,16 +145,8 @@ $lang->execution->statusList['suspended'] = 'Đã đình chỉ';
|
||||
$lang->execution->statusList['closed'] = 'Đã đóng';
|
||||
|
||||
global $config;
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->execution->aclList['private'] = 'Private (for team members and project stakeholders)';
|
||||
$lang->execution->aclList['open'] = 'Inherited Execution ACL (for who can access the current project)';
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->execution->aclList['private'] = 'Private (for team members and project stakeholders)';
|
||||
$lang->execution->aclList['open'] = "Public (Users who can visit {$lang->executionCommon} can access it.)";
|
||||
}
|
||||
$lang->execution->aclList['private'] = 'Private (for team members and project stakeholders)';
|
||||
$lang->execution->aclList['open'] = 'Inherited Execution ACL (for who can access the current project)';
|
||||
|
||||
$lang->execution->storyPoint = 'Story Point';
|
||||
|
||||
|
||||
@@ -193,16 +193,8 @@ $lang->execution->statusList['suspended'] = '已挂起';
|
||||
$lang->execution->statusList['closed'] = '已关闭';
|
||||
|
||||
global $config;
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->execution->aclList['private'] = "私有(团队成员和项目负责人、干系人可访问)";
|
||||
$lang->execution->aclList['open'] = "继承项目访问权限(能访问当前项目,即可访问)";
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->execution->aclList['private'] = "私有(团队成员和项目负责人可访问)";
|
||||
$lang->execution->aclList['open'] = "公开(有项目视图权限即可访问)";
|
||||
}
|
||||
$lang->execution->aclList['private'] = "私有(团队成员和项目负责人、干系人可访问)";
|
||||
$lang->execution->aclList['open'] = "继承项目访问权限(能访问当前项目,即可访问)";
|
||||
|
||||
$lang->execution->kanbanAclList['private'] = '私有';
|
||||
$lang->execution->kanbanAclList['open'] = '继承项目';
|
||||
|
||||
@@ -111,13 +111,11 @@ $lang->execution->batchCreateStory = "批量新建{$lang->SRCommon}";
|
||||
$lang->execution->batchCreateTask = '批量建任務';
|
||||
|
||||
/* Fields of zt_team. */
|
||||
$lang->execution->root = '源ID';
|
||||
$lang->execution->estimate = '預計';
|
||||
$lang->execution->consumed = '消耗';
|
||||
$lang->execution->left = '剩餘';
|
||||
|
||||
if($this->config->systemMode == 'new') $lang->execution->copyTeamTip = "可以選擇複製項目或{$lang->execution->common}團隊的成員";
|
||||
if($this->config->systemMode == 'classic') $lang->execution->copyTeamTip = "可以選擇複製{$lang->executionCommon}團隊的成員";
|
||||
$lang->execution->root = '源ID';
|
||||
$lang->execution->estimate = '預計';
|
||||
$lang->execution->consumed = '消耗';
|
||||
$lang->execution->left = '剩餘';
|
||||
$lang->execution->copyTeamTip = "可以選擇複製項目或{$lang->execution->common}團隊的成員";
|
||||
|
||||
$lang->execution->start = "開始";
|
||||
$lang->execution->activate = "激活";
|
||||
@@ -160,16 +158,8 @@ $lang->execution->statusList['suspended'] = '已掛起';
|
||||
$lang->execution->statusList['closed'] = '已關閉';
|
||||
|
||||
global $config;
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->execution->aclList['private'] = "私有(團隊成員和項目負責人、干係人可訪問)";
|
||||
$lang->execution->aclList['open'] = "繼承項目訪問權限(能訪問當前項目,即可訪問)";
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->execution->aclList['private'] = "私有(團隊成員和{$lang->executionCommon}負責人可訪問)";
|
||||
$lang->execution->aclList['open'] = "公開(有{$lang->executionCommon}視圖權限即可訪問)";
|
||||
}
|
||||
$lang->execution->aclList['private'] = "私有(團隊成員和項目負責人、干係人可訪問)";
|
||||
$lang->execution->aclList['open'] = "繼承項目訪問權限(能訪問當前項目,即可訪問)";
|
||||
|
||||
$lang->execution->storyPoint = '故事點';
|
||||
|
||||
@@ -322,10 +312,8 @@ $lang->execution->noExecutions = "暫時沒有{$lang->execution->common}
|
||||
$lang->execution->noPrintData = "暫無數據可打印";
|
||||
$lang->execution->noMembers = '暫時沒有團隊成員。';
|
||||
$lang->execution->workloadTotal = "工作量占比累計不應當超過100, 當前產品下的工作量之和為%s";
|
||||
// $lang->execution->linkProjectStoryTip = "(關聯{$lang->SRCommon}來源於項目下所關聯的{$lang->SRCommon})";
|
||||
$lang->execution->linkAllStoryTip = "(項目下還未關聯{$lang->SRCommon},可直接關聯該{$lang->execution->common}所關聯產品的{$lang->SRCommon})";
|
||||
if($config->systemMode == 'classic') $lang->execution->copyTeamTitle = "選擇一個{$lang->execution->common}團隊來複制";
|
||||
if($config->systemMode == 'new') $lang->execution->copyTeamTitle = "選擇一個{$lang->project->common}或{$lang->execution->common}團隊來複制";
|
||||
$lang->execution->copyTeamTitle = "選擇一個{$lang->project->common}或{$lang->execution->common}團隊來複制";
|
||||
|
||||
/* 交互提示。*/
|
||||
$lang->execution->confirmDelete = "您確定刪除{$lang->executionCommon}[%s]嗎?";
|
||||
|
||||
@@ -346,7 +346,7 @@ class executionModel extends model
|
||||
->remove('products, workDays, delta, branch, uid, plans, teams, teamMembers, contactListMenu, heightType')
|
||||
->get();
|
||||
|
||||
if($this->config->systemMode == 'new' && !empty($sprint->parent))
|
||||
if(!empty($sprint->parent))
|
||||
{
|
||||
$project = $this->loadModel('project')->getByID($sprint->parent);
|
||||
$sprint->hasProduct = $project->hasProduct;
|
||||
@@ -4833,7 +4833,7 @@ class executionModel extends model
|
||||
$onlyChildStage = ($execution->grade == 2 and $execution->project != $execution->parent);
|
||||
|
||||
if(!$isStage and in_array($col->id, array('percent', 'attribute', 'actions'))) return;
|
||||
if(($this->config->systemMode == 'classic' or ($this->config->systemMode == 'new' and $this->app->tab != 'execution')) and $col->id == 'project') return;
|
||||
if($this->app->tab != 'execution' and $col->id == 'project') return;
|
||||
|
||||
if($col->show)
|
||||
{
|
||||
@@ -4892,7 +4892,7 @@ class executionModel extends model
|
||||
case 'name':
|
||||
$label = $execution->type == 'stage' ? 'label-warning' : 'label-info';
|
||||
$executionLink = $execution->projectModel == 'kanban' ? html::a(helper::createLink('execution', 'kanban', 'executionID=' . $execution->id), $execution->name, '', "class='text-ellipsis'") : html::a(helper::createLink('execution', 'task', 'execution=' . $execution->id), $execution->name, '', "class='text-ellipsis'");
|
||||
if($this->config->systemMode != 'classic' and !$onlyChildStage) echo "<span class='project-type-label label label-outline $label'>{$this->lang->execution->typeList[$execution->type]}</span>";
|
||||
if(!$onlyChildStage) echo "<span class='project-type-label label label-outline $label'>{$this->lang->execution->typeList[$execution->type]}</span>";
|
||||
if($onlyChildStage) echo "<span class='label label-badge label-light label-children'>{$this->lang->programplan->childrenAB}</span> ";
|
||||
echo !empty($execution->children) ? "<span class='text-ellipsis'>$execution->name</span>" : $executionLink;
|
||||
if(isset($execution->delay)) echo "<span class='label label-danger label-badge'>{$this->lang->execution->delayed}</span> ";
|
||||
|
||||
@@ -57,16 +57,16 @@ foreach($executions as $projectID => $projectExecutions)
|
||||
}
|
||||
$executionsPinYin = common::convert2Pinyin($executionNames);
|
||||
|
||||
$myExecutionsHtml = $config->systemMode == 'new' ? '<ul class="tree tree-angles" data-ride="tree">' : '<ul class="noProject">';
|
||||
$normalExecutionsHtml = $config->systemMode == 'new' ? '<ul class="tree tree-angles" data-ride="tree">' : '<ul class="noProject">';
|
||||
$closedExecutionsHtml = $config->systemMode == 'new' ? '<ul class="tree tree-angles" data-ride="tree">' : '<ul class="noProject">';
|
||||
$myExecutionsHtml = '<ul class="tree tree-angles" data-ride="tree">';
|
||||
$normalExecutionsHtml = '<ul class="tree tree-angles" data-ride="tree">';
|
||||
$closedExecutionsHtml = '<ul class="tree tree-angles" data-ride="tree">';
|
||||
|
||||
$kanbanLink = $this->createLink('execution', 'kanban', "executionID=%s");
|
||||
$taskLink = $this->createLink('execution', 'task', "executionID=%s");
|
||||
foreach($executions as $projectID => $projectExecutions)
|
||||
{
|
||||
/* Adapt to the old version. */
|
||||
if($projectID and $config->systemMode == 'new')
|
||||
if($projectID)
|
||||
{
|
||||
$projectName = zget($projects, $projectID);
|
||||
|
||||
@@ -112,7 +112,7 @@ foreach($executions as $projectID => $projectExecutions)
|
||||
}
|
||||
}
|
||||
}
|
||||
else if($execution->grade == 1 or $config->systemMode == 'classic')
|
||||
else if($execution->grade == 1)
|
||||
{
|
||||
if($execution->status != 'done' and $execution->status != 'closed' and ($execution->PM == $this->app->user->account or isset($execution->teams[$this->app->user->account])))
|
||||
{
|
||||
|
||||
@@ -55,7 +55,7 @@ js::set('isCNLang', !$this->loadModel('common')->checkNotCN())
|
||||
</div>
|
||||
<div class='btn-toolbar pull-right'>
|
||||
<?php common::printLink('execution', 'export', "status=$status&productID=$productID&orderBy=$orderBy&from=$from", "<i class='icon-export muted'> </i> " . $lang->export, '', "class='btn btn-link export'")?>
|
||||
<?php if(common::hasPriv('execution', 'create')) echo html::a($this->createLink('execution', 'create'), "<i class='icon icon-sm icon-plus'></i> " . ((($from == 'execution') and ($config->systemMode == 'new')) ? $lang->execution->createExec : $lang->execution->create), '', "class='btn btn-primary create-execution-btn' data-app='execution' onclick='$(this).removeAttr(\"data-toggle\")'");?>
|
||||
<?php if(common::hasPriv('execution', 'create')) echo html::a($this->createLink('execution', 'create'), "<i class='icon icon-sm icon-plus'></i> " . ($from == 'execution' ? $lang->execution->createExec : $lang->execution->create), '', "class='btn btn-primary create-execution-btn' data-app='execution' onclick='$(this).removeAttr(\"data-toggle\")'");?>
|
||||
</div>
|
||||
</div>
|
||||
<div id='mainContent' class="main-row fade">
|
||||
@@ -66,7 +66,7 @@ js::set('isCNLang', !$this->loadModel('common')->checkNotCN())
|
||||
<span class="text-muted"><?php echo $from == 'execution' ? $lang->execution->noExecutions : $lang->execution->noExecution;?></span>
|
||||
<?php if(empty($allExecutionsNum)):?>
|
||||
<?php if(common::hasPriv('execution', 'create')):?>
|
||||
<?php echo html::a($this->createLink('execution', 'create'), "<i class='icon icon-plus'></i> " . (($from == 'execution' and $config->systemMode == 'new') ? $lang->execution->createExec : $lang->execution->create), '', "class='btn btn-info' data-app='execution'");?>
|
||||
<?php echo html::a($this->createLink('execution', 'create'), "<i class='icon icon-plus'></i> " . ($from == 'execution' ? $lang->execution->createExec : $lang->execution->create), '', "class='btn btn-info' data-app='execution'");?>
|
||||
<?php endif;?>
|
||||
<?php endif;?>
|
||||
</p>
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-id'><?php echo $lang->idAB;?></th>
|
||||
<?php if($config->systemMode == 'new' and isset($project) and $project->model == 'scrum'):?>
|
||||
<?php if(isset($project) and $project->model == 'scrum'):?>
|
||||
<th class='c-project required <?php echo $minWidth?>' style="width:100%"><?php echo $lang->execution->projectName;?></th>
|
||||
<?php endif;?>
|
||||
<th class='required <?php echo $minWidth?>' style="width:100%"><?php echo $lang->execution->$name;?></th>
|
||||
@@ -82,7 +82,7 @@
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo sprintf('%03d', $executionID) . html::hidden("executionIDList[$executionID]", $executionID);?></td>
|
||||
<?php if($config->systemMode == 'new' and isset($project) and $project->model == 'scrum'):?>
|
||||
<?php if(isset($project) and $project->model == 'scrum'):?>
|
||||
<td class='text-left' style='overflow:visible'><?php echo html::select("projects[$executionID]", $allProjects, $executions[$executionID]->project, "class='form-control picker-select' data-lastselected='{$executions[$executionID]->project}' onchange='changeProject(this, $executionID, {$executions[$executionID]->project})'");?></td>
|
||||
<?php endif;?>
|
||||
<td title='<?php echo $executions[$executionID]->name?>'><?php echo html::input("names[$executionID]", $executions[$executionID]->name, "class='form-control'");?></td>
|
||||
|
||||
@@ -36,11 +36,9 @@
|
||||
if(common::canModify('execution', $execution)) common::printLink('execution', 'fixFirst', "execution=$execution->id", $lang->execution->fixFirst, '', "class='btn btn-link iframe' data-width='700'");
|
||||
echo $lang->execution->howToUpdateBurn;
|
||||
?>
|
||||
<?php if($config->systemMode == 'new'):?>
|
||||
<div class='input-control w-150px'>
|
||||
<?php echo html::select('burnBy', $lang->execution->burnByList, $burnBy, "class='form-control chosen'");?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php if($interval):?>
|
||||
<div class='input-control thWidth'>
|
||||
<?php echo html::select('interval', $dayList, $interval, "class='form-control chosen'");?>
|
||||
|
||||
@@ -10,13 +10,12 @@
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php $showExecutionExec = !empty($from) and ($from == 'execution' || $from == 'doc') and ($config->systemMode == 'new');?>
|
||||
<?php $showExecutionExec = !empty($from) and ($from == 'execution' || $from == 'doc');?>
|
||||
<?php if(isset($tips)):?>
|
||||
<?php $defaultURL = $this->createLink('execution', 'task', "execution=$executionID");?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<body>
|
||||
<?php $tipsModal = $this->config->systemMode == 'new' ? 'newTipsModal' : 'classicTipsModal';?>
|
||||
<div class='modal-dialog' id='<?php echo $tipsModal;?>'>
|
||||
<div class='modal-dialog' id='newTipsModal'>
|
||||
<div class='modal-header'>
|
||||
<a href='<?php echo $defaultURL;?>' class='close'><i class="icon icon-close"></i></a>
|
||||
<h4 class='modal-title' id='myModalLabel'><?php echo $lang->execution->tips;?></h4>
|
||||
@@ -40,10 +39,8 @@
|
||||
<?php js::set('productID', empty($productID) ? 0 : $productID);?>
|
||||
<?php js::set('isStage', $isStage);?>
|
||||
<?php js::set('copyExecutionID', $copyExecutionID);?>
|
||||
<?php js::set('systemMode', $config->systemMode);?>
|
||||
<?php js::set('projectCommon', $lang->project->common);?>
|
||||
<?php js::set('multiBranchProducts', $multiBranchProducts);?>
|
||||
<?php js::set('systemMode', $config->systemMode);?>
|
||||
<?php js::set('projectID', $projectID);?>
|
||||
<?php js::set('copyExecutionID', $copyExecutionID);?>
|
||||
<?php js::set('cancelCopy', $lang->execution->cancelCopy);?>
|
||||
@@ -260,9 +257,7 @@
|
||||
<div class='modal-header'>
|
||||
<button type='button' class='close' data-dismiss='modal'><i class="icon icon-close"></i></button>
|
||||
<div class='titleBox'><h4 class='modal-title' id='myModalLabel'><?php echo $lang->execution->copyTitle;?></h4></div>
|
||||
<?php if($this->config->systemMode == 'new'):?>
|
||||
<div class='projectSelect'><?php echo html::select("project", $copyProjects, $projectID, "class='form-control chosen' required onchange='loadProjectExecutions(this.value)'");?></div>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
<div class='modal-body'>
|
||||
<?php if(count($executions) == 1):?>
|
||||
@@ -272,7 +267,7 @@
|
||||
</div>
|
||||
<?php else:?>
|
||||
<div id='copyProjects' class='row'>
|
||||
<?php if($config->systemMode == 'new' and $projectID == 0) $executions = $copyExecutions;?>
|
||||
<?php if($projectID == 0) $executions = $copyExecutions;?>
|
||||
<?php foreach ($executions as $id => $execution):?>
|
||||
<?php if(empty($id)):?>
|
||||
<?php if($copyExecutionID != 0):?>
|
||||
|
||||
@@ -23,10 +23,10 @@
|
||||
<small><?php echo $lang->arrow . ' ' . $lang->execution->edit;?></small>
|
||||
</h2>
|
||||
</div>
|
||||
<?php if($config->systemMode == 'new') echo html::hidden('project', $project->id);?>
|
||||
<?php echo html::hidden('project', $project->id);?>
|
||||
<form class='load-indicator main-form form-ajax' method='post' target='hiddenwin' id='dataform'>
|
||||
<table class='table table-form'>
|
||||
<?php if($config->systemMode == 'new' and isset($project)):?>
|
||||
<?php if(isset($project)):?>
|
||||
<?php if($project->model == 'scrum'):?>
|
||||
<tr>
|
||||
<th class='w-120px'><?php echo $lang->execution->projectName;?></th>
|
||||
@@ -236,5 +236,4 @@
|
||||
<?php js::set('multiBranchProducts', $multiBranchProducts);?>
|
||||
<?php js::set('tip', $lang->execution->notAllowRemoveProducts);?>
|
||||
<?php js::set('confirmSync', $lang->execution->confirmSync);?>
|
||||
<?php js::set('systemMode', $config->systemMode);?>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php js::set('systemMode', $config->systemMode);?>
|
||||
<?php js::set('projectCommon', $lang->project->common);?>
|
||||
<?php js::set('executionID', $execution->id);?>
|
||||
<?php js::set('team2Import', $team2Import);?>
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php js::set('systemMode', $config->systemMode);?>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='btn-toolbar pull-left'>
|
||||
<span class='btn btn-link btn-active-text'><span class='text'><?php echo $lang->execution->manageProducts;?></span></span>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<?php if($execution->lifetime != 'ops') echo html::a($this->createLink('execution', 'linkstory', "executionID=$executionID"), $lang->execution->linkStory, '', "class='btn' data-app='execution'");?>
|
||||
<?php echo html::a($this->createLink('task', 'create', "execution=$executionID"), $lang->execution->createTask, '', "class='btn' data-app='execution'");?>
|
||||
<?php echo html::a($this->createLink('execution', 'task', "executionID=$executionID"), $lang->execution->goback, '', "class='btn' data-app='execution'");?>
|
||||
<?php if($this->config->systemMode == 'new') echo html::a('javascript:void(0)', $lang->execution->gobackExecution, '', "class='btn' onclick='closeTipsModal($projectID)' data-app='project'");?>
|
||||
<?php echo html::a('javascript:void(0)', $lang->execution->gobackExecution, '', "class='btn' onclick='closeTipsModal($projectID)' data-app='project'");?>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
@@ -312,7 +312,6 @@
|
||||
</div>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php if($this->config->systemMode == 'new'):?>
|
||||
<div class="detail">
|
||||
<div class="detail-title">
|
||||
<strong><?php echo $lang->project->project;?></strong>
|
||||
@@ -326,7 +325,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php if(!in_array($execution->attribute, array('request', 'design', 'review')) and $execution->projectInfo->hasProduct): ?>
|
||||
<div class="detail">
|
||||
<div class="detail-title">
|
||||
|
||||
@@ -269,12 +269,9 @@ class group extends control
|
||||
$groupUsers = $this->group->getUserPairs($groupID);
|
||||
$allUsers = $this->loadModel('dept')->getDeptUserPairs($deptID);
|
||||
$otherUsers = array_diff_assoc($allUsers, $groupUsers);
|
||||
$outsideUsers = $this->user->getPairs('outside|noclosed|noletter|noempty');
|
||||
|
||||
if($this->config->systemMode == 'new')
|
||||
{
|
||||
$outsideUsers = $this->user->getPairs('outside|noclosed|noletter|noempty');
|
||||
$this->view->outsideUsers = array_diff_assoc($outsideUsers, $groupUsers);
|
||||
}
|
||||
$this->view->outsideUsers = array_diff_assoc($outsideUsers, $groupUsers);
|
||||
|
||||
$title = $this->lang->company->common . $this->lang->colon . $group->name . $this->lang->colon . $this->lang->group->manageMember;
|
||||
$position[] = $group->name;
|
||||
|
||||
@@ -284,7 +284,7 @@ class groupModel extends model
|
||||
unset($executions[$object->parent]);
|
||||
}
|
||||
|
||||
$object->name = (isset($objects[$object->project]) and $this->config->systemMode == 'new') ? $objects[$object->project]->name . '/' . $object->name : $object->name;
|
||||
$object->name = isset($objects[$object->project]) ? $objects[$object->project]->name . '/' . $object->name : $object->name;
|
||||
$executions[$object->id] = $object->name;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
<?php endforeach;?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if($config->systemMode == 'new' and !empty($outsideUsers)):?>
|
||||
<?php if(!empty($outsideUsers)):?>
|
||||
<tr>
|
||||
<th class='w-140px'>
|
||||
<div class="checkbox-primary checkbox-inline checkbox-right check-all">
|
||||
|
||||
@@ -40,9 +40,7 @@
|
||||
<?php echo $lang->idAB;?>
|
||||
</th>
|
||||
<th class='c-name'><?php echo $lang->release->name;?></th>
|
||||
<?php if($config->systemMode == 'new'):?>
|
||||
<th class='c-name'><?php echo $lang->release->project;?></th>
|
||||
<?php endif;?>
|
||||
<th class='c-name'><?php echo $lang->release->build;?></th>
|
||||
<th class='c-date'><?php echo $lang->release->date;?></th>
|
||||
</tr>
|
||||
@@ -64,9 +62,7 @@
|
||||
<?php else:?>
|
||||
<td title='<?php echo $release->name;?>'><?php echo $release->name;?></td>
|
||||
<?php endif;?>
|
||||
<?php if($config->systemMode == 'new'):?>
|
||||
<td title='<?php echo $release->projectName;?>'><?php echo $release->projectName;?></td>
|
||||
<?php endif;?>
|
||||
<td title='<?php echo $release->buildName;?>'><?php echo $release->buildName;?></td>
|
||||
<td title='<?php echo $release->date;?>'><?php echo $release->date;?></td>
|
||||
</tr>
|
||||
|
||||
@@ -43,7 +43,6 @@ js::set('displayCards', $kanban->displayCards);
|
||||
js::set('fluidBoard', $kanban->fluidBoard);
|
||||
js::set('minColWidth', $kanban->fluidBoard == '0' ? $kanban->colWidth : $kanban->minColWidth);
|
||||
js::set('maxColWidth',$kanban->fluidBoard == '0' ? $kanban->colWidth : $kanban->maxColWidth);
|
||||
js::set('mode', $config->systemMode);
|
||||
js::set('alignment', $kanban->alignment);
|
||||
js::set('defaultMinColWidth', $this->config->minColWidth);
|
||||
js::set('defaultMaxColWidth', $this->config->maxColWidth);
|
||||
|
||||
@@ -62,7 +62,6 @@ $app->loadLang('execution');
|
||||
$app->loadLang('release');
|
||||
$app->loadLang('build');
|
||||
$app->loadLang('productplan');
|
||||
js::set('systemMode', $this->config->systemMode);
|
||||
?>
|
||||
<div class='panel'>
|
||||
<div class='panel-heading text-center'>
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php js::set('systemMode', $this->config->systemMode);?>
|
||||
<script>
|
||||
function getFeedbackID(obj)
|
||||
{
|
||||
|
||||
@@ -176,8 +176,7 @@ class personnel extends control
|
||||
$copyUsers = empty($copyID) ? array() : $this->personnel->getWhitelistAccount($copyID, $copyObjectType);
|
||||
$appendUsers = array_unique($deptUsers + $copyUsers);
|
||||
|
||||
$objectName = $this->lang->execution->common;
|
||||
if($this->config->systemMode == 'new') $objectName = $this->lang->projectCommon . $this->lang->execution->or . $objectName;
|
||||
$objectName = $this->lang->projectCommon . $this->lang->execution->or . $objectName;
|
||||
if($objectType == 'program') $objectName = $this->lang->program->common;
|
||||
if($objectType == 'product') $objectName = $this->lang->productCommon;
|
||||
if($objectType == 'project') $objectName = $this->lang->projectCommon;
|
||||
|
||||
@@ -139,6 +139,6 @@ $(function()
|
||||
|
||||
$('#object_chosen').click(function()
|
||||
{
|
||||
if(systemMode == 'new' && objectType == 'sprint') $('#object_chosen ul li:first').append(' <label class="label">' + projectCommon + '</label>')
|
||||
if(objectType == 'sprint') $('#object_chosen ul li:first').append(' <label class="label">' + projectCommon + '</label>')
|
||||
})
|
||||
})
|
||||
|
||||
+14
-23
@@ -464,14 +464,11 @@ class personnelModel extends model
|
||||
if($objectType == 'sprint')
|
||||
{
|
||||
$parentID = 0;
|
||||
if($this->config->systemMode == 'new')
|
||||
{
|
||||
$this->loadModel('execution');
|
||||
$execution = $this->execution->getByID($objectID);
|
||||
$parentID = $execution->project;
|
||||
$project = $this->execution->getByID($parentID);
|
||||
$objects = array($project->id => $project->name);
|
||||
}
|
||||
$this->loadModel('execution');
|
||||
$execution = $this->execution->getByID($objectID);
|
||||
$parentID = $execution->project;
|
||||
$project = $this->execution->getByID($parentID);
|
||||
$objects = array($project->id => $project->name);
|
||||
|
||||
$objects += $this->dao->select('id,name')->from(TABLE_EXECUTION)
|
||||
->where('project')->eq($parentID)
|
||||
@@ -482,7 +479,7 @@ class personnelModel extends model
|
||||
->fetchPairs();
|
||||
foreach($objects as $id => &$object)
|
||||
{
|
||||
if($id != $parentID and $this->config->systemMode == 'new') $object = ' ' . $object;
|
||||
if($id != $parentID) $object = ' ' . $object;
|
||||
}
|
||||
}
|
||||
elseif($objectType == 'project')
|
||||
@@ -637,13 +634,10 @@ class personnelModel extends model
|
||||
$product = $this->loadModel('product')->getById($objectID);
|
||||
if(empty($product)) return false;
|
||||
|
||||
if($this->config->systemMode == 'new')
|
||||
{
|
||||
$programWhitelist = $this->getWhitelistAccount($product->program, 'program');
|
||||
$newWhitelist = array_merge($programWhitelist, $accounts);
|
||||
$source = $source == 'upgrade' ? 'upgrade' : 'sync';
|
||||
$this->updateWhitelist($newWhitelist, 'program', $product->program, 'whitelist', $source, $updateType);
|
||||
}
|
||||
$programWhitelist = $this->getWhitelistAccount($product->program, 'program');
|
||||
$newWhitelist = array_merge($programWhitelist, $accounts);
|
||||
$source = $source == 'upgrade' ? 'upgrade' : 'sync';
|
||||
$this->updateWhitelist($newWhitelist, 'program', $product->program, 'whitelist', $source, $updateType);
|
||||
|
||||
/* Removal of persons from centralized program whitelisting. */
|
||||
if($updateType == 'replace')
|
||||
@@ -658,13 +652,10 @@ class personnelModel extends model
|
||||
$sprint = $this->dao->select('id,project')->from(TABLE_PROJECT)->where('id')->eq($objectID)->fetch();
|
||||
if(empty($sprint)) return false;
|
||||
|
||||
if($this->config->systemMode == 'new')
|
||||
{
|
||||
$projectWhitelist = $this->getWhitelistAccount($sprint->project, 'project');
|
||||
$newWhitelist = array_merge($projectWhitelist, $accounts);
|
||||
$source = $source == 'upgrade' ? 'upgrade' : 'sync';
|
||||
$this->updateWhitelist($newWhitelist, 'project', $sprint->project, 'whitelist', $source, $updateType);
|
||||
}
|
||||
$projectWhitelist = $this->getWhitelistAccount($sprint->project, 'project');
|
||||
$newWhitelist = array_merge($projectWhitelist, $accounts);
|
||||
$source = $source == 'upgrade' ? 'upgrade' : 'sync';
|
||||
$this->updateWhitelist($newWhitelist, 'project', $sprint->project, 'whitelist', $source, $updateType);
|
||||
|
||||
/* Removal of whitelisted persons from projects. */
|
||||
if($updateType == 'replace')
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php js::set('objectID', $objectID);?>
|
||||
<?php js::set('objectType', $objectType);?>
|
||||
<?php js::set('systemMode', $config->systemMode);?>
|
||||
<?php js::set('projectCommon', $lang->projectCommon);?>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='btn-toolbar pull-left'>
|
||||
|
||||
@@ -1457,7 +1457,7 @@ class product extends control
|
||||
$fields[$fieldName] = zget($productLang, $fieldName);
|
||||
|
||||
unset($fields[$key]);
|
||||
if($this->config->systemMode != 'new' and ($fieldName == 'line' or $fieldName == 'program')) unset($fields[$fieldName]);
|
||||
if($this->config->systemMode == 'lean' and ($fieldName == 'line' or $fieldName == 'program')) unset($fields[$fieldName]);
|
||||
}
|
||||
|
||||
$lastProgram = $lastLine = '';
|
||||
|
||||
@@ -150,7 +150,7 @@ $(function()
|
||||
$kanban.kanban(
|
||||
{
|
||||
data: data,
|
||||
noLaneName: isClassicMode,
|
||||
noLaneName: isLeanMode,
|
||||
virtualize: true,
|
||||
virtualCardList: true,
|
||||
calcColHeight: calcColHeight
|
||||
|
||||
@@ -33,15 +33,8 @@
|
||||
$kanbanColumns = array();
|
||||
$kanbanColumns['unclosedProduct'] = array('name' => $lang->product->unclosedProduct, 'type' => 'unclosedProduct');
|
||||
$kanbanColumns['unexpiredPlan'] = array('name' => $lang->product->unexpiredPlan, 'type' => 'unexpiredPlan');
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$kanbanColumns['doingProject'] = array('name' => $lang->product->doingProject, 'type' => 'doingProject');
|
||||
$kanbanColumns['doingExecution'] = array('name' => $lang->product->doingExecution, 'type' => 'doingExecution');
|
||||
}
|
||||
else
|
||||
{
|
||||
$kanbanColumns['doingExecution'] = array('name' => $lang->product->doingClassicExecution, 'type' => 'doingExecution');
|
||||
}
|
||||
$kanbanColumns['doingProject'] = array('name' => $lang->product->doingProject, 'type' => 'doingProject');
|
||||
$kanbanColumns['doingExecution'] = array('name' => $lang->product->doingExecution, 'type' => 'doingExecution');
|
||||
$kanbanColumns['normalRelease'] = array('name' => $lang->product->normalRelease, 'type' => 'normalRelease');
|
||||
$userPrivs = array();
|
||||
$userPrivs['product'] = common::hasPriv('product', 'browse');
|
||||
@@ -49,7 +42,6 @@ $userPrivs['productplan'] = common::hasPriv('productplan', 'view');
|
||||
$userPrivs['project'] = common::hasPriv('project', 'index');
|
||||
$userPrivs['execution'] = common::hasPriv('execution', 'task');
|
||||
$userPrivs['release'] = common::hasPriv('release', 'view');
|
||||
js::set('isClassicMode', $config->systemMode != 'new');
|
||||
js::set('kanbanColumns', array_values($kanbanColumns));
|
||||
js::set('userPrivs', $userPrivs);
|
||||
js::set('kanbanList', $kanbanList);
|
||||
@@ -63,6 +55,7 @@ js::set('classicExecution', $executionList);
|
||||
js::set('releaseList', $releaseList);
|
||||
js::set('hourList', $hourList);
|
||||
js::set('doingText', $lang->product->doing);
|
||||
js::set('isLeanMode', $config->systemMode == 'lean');
|
||||
?>
|
||||
<?php endif; ?>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<div class="tip"><a data-toggle='tooltip' title='<?php echo $lang->product->projectInfo;?>'><i class='icon-help'></i></a></div>
|
||||
|
||||
</div>
|
||||
<?php if($config->systemMode == 'new' and $branchStatus != 'closed'):?>
|
||||
<?php if($branchStatus != 'closed'):?>
|
||||
<div class="btn-toolbar pull-right">
|
||||
<?php if(common::hasPriv('project', 'manageProducts')) echo html::a('#link2Project', '<i class="icon-link"></i> ' . $lang->product->link2Project, '', "data-toggle='modal' class='btn btn-secondary'");?>
|
||||
<?php if(common::hasPriv('project', 'create')) common::printLink('project', 'createGuide', "programID=$product->program&from=project&productID=$productID&branchID=$branchID", '<i class="icon icon-plus"></i> ' . $lang->project->create, '', 'class="btn btn-primary" data-toggle="modal" data-target="#guideDialog"');?>
|
||||
@@ -29,13 +29,7 @@
|
||||
<div id="mainContent">
|
||||
<?php if(empty($projectStats)):?>
|
||||
<div class="table-empty-tip">
|
||||
<p>
|
||||
<?php if($config->systemMode == 'new'):?>
|
||||
<span class="text-muted"><?php echo $lang->project->empty;?></span>
|
||||
<?php else:?>
|
||||
<span class="text-muted"><?php echo $lang->execution->noExecution;?></span>
|
||||
<?php endif;?>
|
||||
</p>
|
||||
<p><span class="text-muted"><?php echo $lang->project->empty;?></span></p>
|
||||
</div>
|
||||
<?php else:?>
|
||||
<form class='main-table table-project'>
|
||||
@@ -45,10 +39,8 @@
|
||||
<th class='c-id'><?php echo $lang->idAB;?></th>
|
||||
<?php if($config->systemMode == 'new'):?>
|
||||
<th class='c-program'><?php echo $lang->program->common;?></th>
|
||||
<th><?php echo $lang->project->name;?></th>
|
||||
<?php else:?>
|
||||
<th><?php echo $lang->execution->name;?></th>
|
||||
<?php endif;?>
|
||||
<th><?php echo $lang->project->name;?></th>
|
||||
<?php if(strpos('all,undone', $status) !== false):?>
|
||||
<th class='c-status'><?php echo $lang->project->status;?></th>
|
||||
<?php endif;?>
|
||||
|
||||
@@ -160,10 +160,8 @@
|
||||
<tr>
|
||||
<th><?php echo $lang->story->statusList['reviewing'] . $space . $lang->story->common;?></th>
|
||||
<td><strong><?php echo $product->stories['reviewing']?></strong></td>
|
||||
<?php if($config->systemMode == 'new'):?>
|
||||
<th><?php echo $lang->product->projects?></th>
|
||||
<td><strong><?php echo $product->projects?></strong></td>
|
||||
<?php endif;?>
|
||||
<th><?php echo $lang->product->executions?></th>
|
||||
<td><strong><?php echo $product->executions?></strong></td>
|
||||
</tr>
|
||||
|
||||
@@ -121,7 +121,6 @@ function createCardMenu(options)
|
||||
if(privs.includes('createExecution'))
|
||||
{
|
||||
var className = '';
|
||||
var executionLink = systemMode == 'new' ? '#projects' : createLink('execution', 'create', "projectID=0&executionID=0©ExecutionID=0&plan=" + card.id + "&confirm=no&productID=" + productID);
|
||||
var today = new Date();
|
||||
var end = $.zui.createDate(card.end);
|
||||
if(end.getTime() < today.getTime())
|
||||
@@ -138,14 +137,7 @@ function createCardMenu(options)
|
||||
if(branchStatus == 'closed') className = 'disabled';
|
||||
}
|
||||
|
||||
if(systemMode == 'new')
|
||||
{
|
||||
items.push({label: productplanLang.createExecution, icon: 'plus', url: executionLink, className: className, attrs: {'data-toggle': 'modal', 'onclick': 'getPlanID(this,' + card.branch + ')', 'data-id': card.id}});
|
||||
}
|
||||
else
|
||||
{
|
||||
items.push({label: productplanLang.createExecution, icon: 'plus', url: executionLink, className: className});
|
||||
}
|
||||
items.push({label: productplanLang.createExecution, icon: 'plus', url: '#projects', className: className, attrs: {'data-toggle': 'modal', 'onclick': 'getPlanID(this,' + card.branch + ')', 'data-id': card.id}});
|
||||
}
|
||||
|
||||
if(privs.includes('linkStory')) items.push({label: productplanLang.linkStory, icon: 'link', url: createLink(rawModule, 'view', "planID=" + card.id + "&type=story&orderBy=id_desc&link=true")});
|
||||
|
||||
@@ -1169,15 +1169,7 @@ class productplanModel extends model
|
||||
|
||||
if($canClickExecution)
|
||||
{
|
||||
$executionLink = $this->config->systemMode == 'new' ? '#projects' : helper::createLink('execution', 'create', "projectID=0&executionID=0©ExecutionID=0&plan=$plan->id&confirm=no&productID=$plan->product");
|
||||
if($this->config->systemMode == 'new')
|
||||
{
|
||||
$menu .= html::a($executionLink, '<i class="icon-plus"></i>', '', "data-toggle='modal' data-id='$plan->id' onclick='getPlanID(this, $plan->branch)' class='btn' title='{$this->lang->productplan->createExecution}'");
|
||||
}
|
||||
else
|
||||
{
|
||||
$menu .= html::a($executionLink, '<i class="icon-plus"></i>', '', "class='btn' title='{$this->lang->productplan->createExecution}'");
|
||||
}
|
||||
$menu .= html::a('#projects', '<i class="icon-plus"></i>', '', "data-toggle='modal' data-id='$plan->id' onclick='getPlanID(this, $plan->branch)' class='btn' title='{$this->lang->productplan->createExecution}'");
|
||||
}
|
||||
elseif($canCreateExec)
|
||||
{
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
<?php js::set('projectNotEmpty', $lang->productplan->projectNotEmpty)?>
|
||||
<?php js::set('viewType', $viewType);?>
|
||||
<?php js::set('product', $product);?>
|
||||
<?php js::set('systemMode', $config->systemMode);?>
|
||||
<?php js::set('branchStatusList', $branchStatusList);?>
|
||||
<?php js::set('defaultMinColWidth', $this->config->minColWidth);?>
|
||||
<?php js::set('defaultMaxColWidth', $this->config->maxColWidth);?>
|
||||
|
||||
@@ -1036,7 +1036,7 @@ class programplanModel extends model
|
||||
->batchCheck($this->config->programplan->edit->requiredFields, 'notempty')
|
||||
->checkIF($plan->end != '0000-00-00', 'end', 'ge', $plan->begin)
|
||||
->checkIF($plan->percent != false, 'percent', 'float')
|
||||
->checkIF((!empty($plan->name) and $this->config->systemMode == 'new'), 'name', 'unique', "id != {$planID} and type in ('sprint','stage') and `project` = {$oldPlan->project}")
|
||||
->checkIF(!empty($plan->name), 'name', 'unique', "id != {$planID} and type in ('sprint','stage') and `project` = {$oldPlan->project}")
|
||||
->where('id')->eq($planID)
|
||||
->exec();
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ class project extends control
|
||||
public function __construct($moduleName = '', $methodName = '', $appName = '')
|
||||
{
|
||||
parent::__construct($moduleName, $methodName, $appName);
|
||||
$this->view->globalDisableProgram = $this->config->systemMode != 'new';
|
||||
$this->view->globalDisableProgram = $this->config->systemMode == 'lean';
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1732,20 +1732,17 @@ class project extends control
|
||||
}
|
||||
}
|
||||
|
||||
if($this->config->systemMode == 'new')
|
||||
$outsideUsers = $this->loadModel('user')->getPairs('outside|noclosed|noletter|noempty');
|
||||
if($project->acl != 'open')
|
||||
{
|
||||
$outsideUsers = $this->loadModel('user')->getPairs('outside|noclosed|noletter|noempty');
|
||||
if($project->acl != 'open')
|
||||
foreach($outsideUsers as $account => $outsideUser)
|
||||
{
|
||||
foreach($outsideUsers as $account => $outsideUser)
|
||||
{
|
||||
if(!isset($canViewMembers[$account])) unset($outsideUsers[$account]);
|
||||
}
|
||||
if(!isset($canViewMembers[$account])) unset($outsideUsers[$account]);
|
||||
}
|
||||
|
||||
$this->view->outsideUsers = array_diff_assoc($outsideUsers, $groupUsers);
|
||||
}
|
||||
|
||||
$this->view->outsideUsers = array_diff_assoc($outsideUsers, $groupUsers);
|
||||
|
||||
$title = $group->name . $this->lang->colon . $this->lang->group->manageMember;
|
||||
$position[] = $group->name;
|
||||
$position[] = $this->lang->group->manageMember;
|
||||
|
||||
@@ -289,7 +289,7 @@ $lang->project->kanbanSubAclList['open'] = "Open (accessible with project vie
|
||||
$lang->project->kanbanSubAclList['program'] = 'Open in the program (all upper-level program team leaders and stakeholders, the project leader, team members can access)';
|
||||
|
||||
global $config;
|
||||
if($config->systemMode != 'new')
|
||||
if($config->systemMode == 'lean')
|
||||
{
|
||||
unset($lang->project->subAclList['program']);
|
||||
unset($lang->project->kanbanSubAclList['program']);
|
||||
|
||||
@@ -288,7 +288,7 @@ $lang->project->kanbanSubAclList['open'] = "Open (accessible with project vie
|
||||
$lang->project->kanbanSubAclList['program'] = 'Open in the program (all upper-level program team leaders and stakeholders, the project leader, team members can access)';
|
||||
|
||||
global $config;
|
||||
if($config->systemMode != 'new')
|
||||
if($config->systemMode == 'lean')
|
||||
{
|
||||
unset($lang->project->subAclList['program']);
|
||||
unset($lang->project->kanbanSubAclList['program']);
|
||||
|
||||
@@ -289,7 +289,7 @@ $lang->project->kanbanSubAclList['open'] = "公开 (有项目视图权限即
|
||||
$lang->project->kanbanSubAclList['program'] = '项目集内公开(所有上级项目集负责人和干系人、项目负责人、团队成员可访问)';
|
||||
|
||||
global $config;
|
||||
if($config->systemMode != 'new')
|
||||
if($config->systemMode == 'lean')
|
||||
{
|
||||
unset($lang->project->subAclList['program']);
|
||||
unset($lang->project->kanbanSubAclList['program']);
|
||||
|
||||
@@ -2330,11 +2330,10 @@ class projectModel extends model
|
||||
$project = $this->getByID($projectID);
|
||||
if(empty($project)) return array();
|
||||
|
||||
$type = $this->config->systemMode == 'new' ? $project->type : 'project';
|
||||
return $this->dao->select("t1.*, t1.hours * t1.days AS totalHours, t2.id as userID, if(t2.deleted='0', t2.realname, t1.account) as realname")->from(TABLE_TEAM)->alias('t1')
|
||||
->leftJoin(TABLE_USER)->alias('t2')->on('t1.account = t2.account')
|
||||
->where('t1.root')->eq((int)$projectID)
|
||||
->andWhere('t1.type')->eq($type)
|
||||
->andWhere('t1.type')->eq($project->type)
|
||||
->andWhere('t2.deleted')->eq('0')
|
||||
->beginIF($this->config->vision)->andWhere("CONCAT(',', t2.visions, ',')")->like("%,{$this->config->vision},%")->fi()
|
||||
->fetchAll('account');
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/kanban.html.php';?>
|
||||
<?php if($this->config->systemMode != 'new'):?>
|
||||
<?php if($this->config->systemMode == 'lean'):?>
|
||||
<style>
|
||||
.kanban-lane-name{display:none;}
|
||||
.kanban-header-cols{left:0px !important;}
|
||||
|
||||
@@ -49,9 +49,7 @@
|
||||
<thead>
|
||||
<tr class='colhead'>
|
||||
<th class='c-id'><?php echo $lang->report->id;?></th>
|
||||
<?php if($this->config->systemMode == 'new'):?>
|
||||
<th><?php echo $lang->report->project;?></th>
|
||||
<?php endif;?>
|
||||
<th><?php echo $lang->report->execution;?></th>
|
||||
<th class="c-hours"><?php echo $lang->report->estimate;?></th>
|
||||
<th class="c-hours"><?php echo $lang->report->consumed;?></th>
|
||||
@@ -63,9 +61,7 @@
|
||||
<?php foreach($executions as $id =>$execution):?>
|
||||
<tr class="text-center">
|
||||
<td><?php echo $id;?></td>
|
||||
<?php if($this->config->systemMode == 'new'):?>
|
||||
<td class="text-left" title="<?php echo $execution->projectName;?>"><?php echo $execution->projectName;?></td>
|
||||
<?php endif;?>
|
||||
<td class="text-left" title="<?php echo $execution->name;?>"><?php echo html::a($this->createLink('execution', 'view', "executionID=$id"), $execution->name);?></td>
|
||||
<td><?php echo round($execution->estimate, 2);?></td>
|
||||
<td><?php echo round($execution->consumed, 2);?></td>
|
||||
|
||||
@@ -72,9 +72,7 @@
|
||||
<thead>
|
||||
<tr class='colhead text-center'>
|
||||
<th class="c-user"><?php echo $lang->report->user;?></th>
|
||||
<?php if($this->config->systemMode == 'new'):?>
|
||||
<th class="c-project"><?php echo $lang->report->project ;?>
|
||||
<?php endif;?>
|
||||
<th><?php echo $lang->report->execution;?></th>
|
||||
<th class="c-count"><?php echo $lang->report->task;?></th>
|
||||
<th class="c-hours"><?php echo $lang->report->remain;?></th>
|
||||
@@ -96,10 +94,10 @@
|
||||
<?php foreach($info['execution'] as $executionName => $executionInfo) $projectCount ++ ;?>
|
||||
<?php foreach($info['execution'] as $executionName => $executionInfo):?>
|
||||
<?php if($projectTimes != 1 || $userTimes != 1) echo "<tr>";?>
|
||||
<?php if($projectTimes == 1 && $this->config->systemMode == 'new'):?>
|
||||
<td class="text-center" rowspan="<?php echo $projectCount;?>" title="<?php echo $projectName;?>"><?php echo html::a($this->createLink('project', 'view', "projectID={$info['projectID']}"), $projectName);?></td>
|
||||
<?php if($projectTimes == 1):?>
|
||||
<td class="text-center" rowspan="<?php echo $projectCount;?>" title="<?php echo $projectName;?>"><?php echo html::a($this->createLink('project', 'view', "projectID={$info['projectID']}"), $projectName);?></td>
|
||||
<?php endif;?>
|
||||
<td class="text-center" title="<?php echo $executionName;?>"><?php echo html::a($this->createLink('execution', 'view', "executionID={$executionInfo['executionID']}"), $executionName);?></td>
|
||||
<td class="text-center" title="<?php echo $executionName;?>"><?php echo html::a($this->createLink('execution', 'view', "executionID={$executionInfo['executionID']}"), $executionName);?></td>
|
||||
<td class="text-center"><?php echo $executionInfo['count'];?></td>
|
||||
<td class="text-center"><?php echo $executionInfo['manhour'];?></td>
|
||||
<?php if($userTimes == 1):?>
|
||||
|
||||
@@ -20,8 +20,8 @@ class search extends control
|
||||
public function __construct($module = '', $method = '')
|
||||
{
|
||||
parent::__construct($module, $method);
|
||||
if($this->config->edition != 'max') unset($this->lang->search->modules['effort']);
|
||||
if($this->config->systemMode != 'new') unset($this->lang->search->modules['program'], $this->lang->search->modules['project']);
|
||||
if($this->config->edition != 'max') unset($this->lang->search->modules['effort']);
|
||||
if($this->config->systemMode == 'lean') unset($this->lang->search->modules['program']);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -236,7 +236,7 @@ class search extends control
|
||||
foreach($typeCount as $objectType => $count)
|
||||
{
|
||||
if(!isset($this->lang->search->modules[$objectType])) continue;
|
||||
if($this->config->systemMode != 'new' and $objectType == 'program') continue;
|
||||
if($this->config->systemMode == 'lean' and $objectType == 'program') continue;
|
||||
|
||||
$typeList[$objectType] = $this->lang->search->modules[$objectType];
|
||||
}
|
||||
|
||||
@@ -634,7 +634,7 @@ class searchModel extends model
|
||||
}
|
||||
else
|
||||
{
|
||||
if($this->config->systemMode != 'new') unset($this->config->search->fields->program);
|
||||
if($this->config->systemMode == 'lean') unset($this->config->search->fields->program);
|
||||
|
||||
foreach($this->config->search->fields as $objectType => $fields)
|
||||
{
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<span class='input-group-addon'><?php echo $lang->execution->selectDept?></span>
|
||||
<?php echo html::select('dept', $depts, $dept, "class='form-control chosen' onchange='setDeptUsers(this)' data-placeholder='{$lang->execution->selectDeptTitle}'");?>
|
||||
</div>
|
||||
<?php if($project->parent and $config->systemMode == 'new'):?>
|
||||
<?php if($project->parent):?>
|
||||
<?php echo html::a($this->createLink('stakeholder', 'batchcreate', "projectID={$projectID}&dept=&parent=$project->parent"), $lang->program->importStakeholder, '', 'class="btn btn-primary"');?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
|
||||
@@ -171,7 +171,7 @@ class story extends control
|
||||
$object = $this->dao->findById((int)$objectID)->from(TABLE_PROJECT)->fetch();
|
||||
if($object->type != 'project')
|
||||
{
|
||||
if($this->config->systemMode == 'new') $this->action->create('story', $storyID, 'linked2project', '', $object->project);
|
||||
$this->action->create('story', $storyID, 'linked2project', '', $object->project);
|
||||
|
||||
$actionType = $object->type == 'kanban' ? 'linked2kanban' : 'linked2execution';
|
||||
$this->action->create('story', $storyID, $actionType, '', $objectID);
|
||||
|
||||
@@ -279,7 +279,7 @@ $lang->story->lblClose = 'Close';
|
||||
$lang->story->lblTBC = 'Task/Bug/Case';
|
||||
|
||||
$lang->story->checkAffection = 'Impact';
|
||||
$lang->story->affectedProjects = $config->systemMode == 'new' ? "{$lang->project->common}s/{$lang->execution->common}s" : "{$lang->project->common}s";
|
||||
$lang->story->affectedProjects = "{$lang->project->common}s/{$lang->execution->common}s";
|
||||
$lang->story->affectedBugs = 'Bug';
|
||||
$lang->story->affectedCases = 'Fall';
|
||||
|
||||
|
||||
@@ -279,7 +279,7 @@ $lang->story->lblClose = 'Close';
|
||||
$lang->story->lblTBC = 'Task/Bug/Case';
|
||||
|
||||
$lang->story->checkAffection = 'Influence';
|
||||
$lang->story->affectedProjects = $config->systemMode == 'new' ? "{$lang->project->common}s/{$lang->execution->common}s" : "{$lang->project->common}s";
|
||||
$lang->story->affectedProjects = "{$lang->project->common}s/{$lang->execution->common}s";
|
||||
$lang->story->affectedBugs = 'Bugs';
|
||||
$lang->story->affectedCases = 'Cases';
|
||||
|
||||
|
||||
@@ -279,7 +279,7 @@ $lang->story->lblClose = 'Fermer';
|
||||
$lang->story->lblTBC = 'Tâche/Bug/CasTest';
|
||||
|
||||
$lang->story->checkAffection = 'Influence';
|
||||
$lang->story->affectedProjects = $config->systemMode == 'new' ? "{$lang->project->common}s/{$lang->execution->common}s" : "{$lang->project->common}s";
|
||||
$lang->story->affectedProjects = "{$lang->project->common}s/{$lang->execution->common}s";
|
||||
$lang->story->affectedBugs = 'Bugs';
|
||||
$lang->story->affectedCases = 'CasTests';
|
||||
|
||||
|
||||
@@ -271,7 +271,7 @@ $lang->story->lblClose = 'Đóng';
|
||||
$lang->story->lblTBC = 'Nhiệm vụ/Bug/Tình huống';
|
||||
|
||||
$lang->story->checkAffection = 'Ảnh hưởng';
|
||||
$lang->story->affectedProjects = $config->systemMode == 'new' ? "{$lang->project->common}s/{$lang->execution->common}s" : "{$lang->project->common}s";
|
||||
$lang->story->affectedProjects = "{$lang->project->common}s/{$lang->execution->common}s";
|
||||
$lang->story->affectedBugs = 'Bugs';
|
||||
$lang->story->affectedCases = 'Tình huống';
|
||||
|
||||
|
||||
@@ -279,7 +279,7 @@ $lang->story->lblClose = "关闭{$lang->SRCommon}";
|
||||
$lang->story->lblTBC = '任务Bug用例';
|
||||
|
||||
$lang->story->checkAffection = '影响范围';
|
||||
$lang->story->affectedProjects = $config->systemMode == 'new' ? "影响的{$lang->project->common}或{$lang->execution->common}" : "影响的{$lang->project->common}";
|
||||
$lang->story->affectedProjects = "影响的{$lang->project->common}或{$lang->execution->common}";
|
||||
$lang->story->affectedBugs = '影响的Bug';
|
||||
$lang->story->affectedCases = '影响的用例';
|
||||
|
||||
|
||||
@@ -259,7 +259,7 @@ $lang->story->lblClose = "關閉{$lang->SRCommon}";
|
||||
$lang->story->lblTBC = '任務Bug用例';
|
||||
|
||||
$lang->story->checkAffection = '影響範圍';
|
||||
$lang->story->affectedProjects = $config->systemMode == 'new' ? "影響的{$lang->project->common}或{$lang->execution->common}" : "影響的{$lang->project->common}";
|
||||
$lang->story->affectedProjects = "影響的{$lang->project->common}或{$lang->execution->common}";
|
||||
$lang->story->affectedBugs = '影響的Bug';
|
||||
$lang->story->affectedCases = '影響的用例';
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user