* Finish task #3846.

This commit is contained in:
liugang
2018-04-10 16:54:38 +08:00
parent 76887b37a4
commit fe3027623e
28 changed files with 101 additions and 122 deletions
+2 -1
View File
@@ -25,6 +25,7 @@ $lang->action->undelete = '還原';
$lang->action->hideOne = '隱藏';
$lang->action->hideAll = '全部隱藏';
$lang->action->editComment = '修改備註';
$lang->action->create = '添加備註';
$lang->action->comment = '備註';
$lang->action->trashTips = '提示:為了保證系統的完整性,禪道系統的刪除都是標記刪除。';
@@ -115,7 +116,7 @@ $lang->action->desc->finished = '$date, 由 <strong>$actor</strong> 完成
$lang->action->desc->paused = '$date, 由 <strong>$actor</strong> 暫停。' . "\n";
$lang->action->desc->verified = '$date, 由 <strong>$actor</strong> 驗收。' . "\n";
$lang->action->desc->diff1 = '修改了 <strong><i>%s</i></strong>,舊值為 "%s",新值為 "%s"。<br />' . "\n";
$lang->action->desc->diff2 = '修改了 <strong><i>%s</i></strong>,區別為:' . "\n" . "<blockquote>%s</blockquote>" . "\n<div class='hidden'>%s</div>";
$lang->action->desc->diff2 = '修改了 <strong><i>%s</i></strong>,區別為:' . "\n" . "<blockquote class='textdiff'>%s</blockquote>" . "\n<blockquote class='original'>%s</blockquote>";
$lang->action->desc->diff3 = '將檔案名 %s 改為 %s 。' . "\n";
$lang->action->desc->linked2bug = '$date 由 <strong>$actor</strong> 關聯到版本 <strong>$extra</strong>';
+4 -3
View File
@@ -69,11 +69,12 @@ class block extends control
{
$this->get->set('mode', 'getblocklist');
$this->view->blocks = $this->fetch('block', 'main', "module=$module&id=$id");
$this->view->module = $module;
}
$this->view->title = $title;
$this->view->block = $this->block->getByID($id);
$this->view->blockID = $id;
$this->view->title = $title;
$this->view->block = $this->block->getByID($id);
$this->view->blockID = $id;
$this->display();
}
+1
View File
@@ -89,4 +89,5 @@ $(function()
});
if(blockID) setTimeout(function(){getBlocks($('#modules').val());}, 200);
if(module) $blocksList.data('module', module);
});
+3 -3
View File
@@ -268,9 +268,9 @@ $lang->block->orderByList->story['status_desc'] = 'Status Descending';
$lang->block->orderByList->story['stage_asc'] = 'Stage Ascending';
$lang->block->orderByList->story['stage_desc'] = 'Stage Descending';
$lang->block->todoNum = 'Todo Number';
$lang->block->taskNum = 'Task Number';
$lang->block->bugNum = 'Bug Number';
$lang->block->todoNum = 'Todo Number';
$lang->block->taskNum = 'Task Number';
$lang->block->bugNum = 'Bug Number';
$lang->block->typeList = new stdclass();
+3 -3
View File
@@ -268,9 +268,9 @@ $lang->block->orderByList->story['status_desc'] = '状态倒序';
$lang->block->orderByList->story['stage_asc'] = '阶段正序';
$lang->block->orderByList->story['stage_desc'] = '阶段倒序';
$lang->block->todoNum = '待办数';
$lang->block->taskNum = '任务数';
$lang->block->bugNum = 'Bug数';
$lang->block->todoNum = '待办数';
$lang->block->taskNum = '任务数';
$lang->block->bugNum = 'Bug数';
$lang->block->typeList = new stdclass();
+4 -4
View File
@@ -268,9 +268,9 @@ $lang->block->orderByList->story['status_desc'] = '狀態倒序';
$lang->block->orderByList->story['stage_asc'] = '階段正序';
$lang->block->orderByList->story['stage_desc'] = '階段倒序';
$lang->block->todoNum = '待辦數';
$lang->block->taskNum = '任務數';
$lang->block->bugNum = 'Bug數';
$lang->block->todoNum = '待辦數';
$lang->block->taskNum = '任務數';
$lang->block->bugNum = 'Bug數';
$lang->block->typeList = new stdclass();
@@ -326,7 +326,7 @@ $lang->block->modules['common']->moreLinkList = new stdclass();
$lang->block->modules['common']->moreLinkList->dynamic = 'company|dynamic|';
$lang->block->welcomeList['06:00'] = '%s,早上好!';
$lang->block->welcomeList['11:30'] = '%s,中文好!';
$lang->block->welcomeList['11:30'] = '%s,中午好!';
$lang->block->welcomeList['13:30'] = '%s,下午好!';
$lang->block->welcomeList['19:00'] = '%s,晚上好!';
+8 -4
View File
@@ -17,6 +17,7 @@ include '../../common/view/chosen.html.php';
?>
<?php if(isset($pageCSS)) css::internal($pageCSS); ?>
<form class="form-horizontal load-indicator" id="blockAdminForm" method='post' target='hiddenwin'>
<?php if(!empty($modules)):?>
<div class="form-group">
<label for="modules" class="col-sm-3"><?php echo $lang->block->lblModule;?></label>
<div class="col-sm-7">
@@ -27,7 +28,9 @@ include '../../common/view/chosen.html.php';
<?php echo html::select('modules', $modules, $moduleID, "class='form-control chosen'")?>
</div>
</div>
<?php else:?>
<?php echo html::hidden('modules', $module);?>
<?php endif;?>
<!-- #blockParams 用于动态加载区块设置参数 -->
<div id="blocksList"><?php if(!empty($blocks)) echo $blocks;?></div>
@@ -36,10 +39,11 @@ include '../../common/view/chosen.html.php';
<div class="form-group form-actions">
<div class="col-sm-7 col-sm-offset-3">
<button type="submit" class="btn btn-wide btn-primary">保存</button> &nbsp;
<button type="cancel" class="btn btn-wide btn-gray" data-dismiss="modal">取消</button>
<button type="submit" class="btn btn-wide btn-primary"><?php echo $lang->save;?></button> &nbsp;
<button type="cancel" class="btn btn-wide btn-gray" data-dismiss="modal"><?php echo $lang->cancel;?></button>
</div>
</div>
</form>
<?php js::set('blockID', $blockID)?>
<?php js::set('blockID', $blockID);?>
<?php if(!empty($module)) js::set('module', $module);?>
<?php if(isset($pageJS)) js::execute($pageJS);?>
+2 -2
View File
@@ -32,7 +32,7 @@ $useGuest = $this->app->user->account == 'guest';
<?php endif;?>
<nav class='panel-actions nav nav-default'>
<?php if(!empty($block->moreLink)):?>
<?php echo '<li>' . html::a($block->moreLink, " <i class='icon icon-more'></i>") . '</li>'; ?>
<?php echo '<li>' . html::a($block->moreLink, 'MORE', '', "title='{$lang->more}'") . '</li>'; ?>
<?php endif; ?>
<li class='dropdown'>
<a href='javascript:;' data-toggle='dropdown' class='panel-action'><i class='icon icon-ellipsis-v'></i></a>
@@ -72,7 +72,7 @@ $useGuest = $this->app->user->account == 'guest';
<?php endif;?>
<nav class='panel-actions nav nav-default'>
<?php if(!empty($block->moreLink)):?>
<?php echo '<li>' . html::a($block->moreLink, " <i class='icon icon-more'></i>") . '</li>';?>
<?php echo '<li>' . html::a($block->moreLink, 'MORE', '', "title='{$lang->more}'") . '</li>';?>
<?php endif; ?>
<li class='dropdown'>
<a href='javascript:;' data-toggle='dropdown' class='panel-action'><i class='icon icon-ellipsis-v'></i></a>
+11 -7
View File
@@ -14,11 +14,13 @@
<table class='table table-borderless table-hover table-fixed-head block-plan'>
<thead>
<tr>
<th width='50'><?php echo $lang->idAB?></th>
<th> <?php echo $lang->productplan->product;?></th>
<th> <?php echo $lang->productplan->title;?></th>
<th width='80'><?php echo $lang->productplan->begin;?></th>
<th width='80'><?php echo $lang->productplan->end;?></th>
<?php if($longBlock):?>
<th class='text-center w-50px'><?php echo $lang->idAB?></th>
<th><?php echo $lang->productplan->product;?></th>
<?php endif;?>
<th><?php echo $lang->productplan->title;?></th>
<th class='text-center w-100px'><?php echo $lang->productplan->begin;?></th>
<th class='text-center w-100px'><?php echo $lang->productplan->end;?></th>
</tr>
</thead>
<tbody>
@@ -28,11 +30,13 @@
$viewLink = $this->createLink('productplan', 'view', "planID={$plan->id}");
?>
<tr data-url='<?php echo empty($sso) ? $viewLink : $sso . $sign . 'referer=' . base64_encode($viewLink); ?>' <?php echo $appid?>>
<?php if($longBlock):?>
<td class='text-center'><?php echo $plan->id;?></td>
<td title='<?php echo $plan->productName?>'><?php echo $plan->productName?></td>
<?php endif;?>
<td title='<?php echo $plan->title?>'><?php echo $plan->title?></td>
<td><?php echo $plan->begin?></td>
<td><?php echo $plan->end?></td>
<td class='text-center'><?php echo $plan->begin?></td>
<td class='text-center'><?php echo $plan->end?></td>
</tr>
<?php endforeach;?>
</tbody>
+4 -4
View File
@@ -16,12 +16,12 @@
<tr>
<th class='c-name'><?php echo $lang->product->name;?></th>
<th class='c-plans'><?php echo $lang->product->plans;?></th>
<th class="c-publishs"><?php echo $lang->product->releases;?></th>
<th class='c-publishs'><?php echo $lang->product->releases;?></th>
<?php if($longBlock):?>
<th class="c-project"><?php echo $lang->product->currentProject;?></th>
<th class='c-project'><?php echo $lang->product->currentProject;?></th>
<?php endif;?>
<th class="c-stories" title='<?php echo $lang->story->common;?>'><?php echo $lang->story->statusList['active'];?></th>
<th class="c-bugs" title='<?php echo $lang->bug->common;?>'><?php echo $lang->bug->unResolved;?></th>
<th class='c-stories'><?php echo $lang->story->statusList['active'] . $lang->story->common;?></th>
<th class='c-bugs'><?php echo $lang->bug->unResolved . $lang->bug->common;?></th>
</tr>
</thead>
<tbody>
+9 -9
View File
@@ -14,12 +14,12 @@
<table class='table table-borderless table-hover table-fixed block-release'>
<thead>
<tr>
<th width='50'><?php echo $lang->idAB?></th>
<th> <?php echo $lang->release->product;?></th>
<th> <?php echo $lang->release->name;?></th>
<th> <?php echo $lang->release->build;?></th>
<th width='80'><?php echo $lang->release->date;?></th>
<th width='70'><?php echo $lang->release->status;?></th>
<th class='text-center w-50px'><?php echo $lang->idAB?></th>
<th><?php echo $lang->release->product;?></th>
<th><?php echo $lang->release->name;?></th>
<th><?php echo $lang->release->build;?></th>
<th class='text-center w-80px'><?php echo $lang->release->date;?></th>
<th class='text-center w-70px'><?php echo $lang->release->status;?></th>
</tr>
</thead>
<tbody>
@@ -30,9 +30,9 @@
?>
<tr data-url='<?php echo empty($sso) ? $viewLink : $sso . $sign . 'referer=' . base64_encode($viewLink); ?>' <?php echo $appid?>>
<td class='text-center'><?php echo $release->id;?></td>
<td class='text-left' title='<?php echo $release->productName?>'><?php echo $release->productName?></td>
<td class='text-center' title='<?php echo $release->name?>'><?php echo $release->name?></td>
<td class='text-center' title='<?php echo $release->buildName?>'><?php echo $release->buildName?></td>
<td title='<?php echo $release->productName?>'><?php echo $release->productName?></td>
<td title='<?php echo $release->name?>'><?php echo $release->name?></td>
<td title='<?php echo $release->buildName?>'><?php echo $release->buildName?></td>
<td class='text-center'><?php echo $release->date?></td>
<td class='text-center'><?php echo $lang->release->statusList[$release->status]?></td>
</tr>
+1 -5
View File
@@ -40,11 +40,7 @@
<?php if($longBlock):?>
<td class='c-estimate'><?php echo $story->estimate?></td>
<?php endif;?>
<td class='c-status' title='<?php echo zget($lang->story->statusList, $story->status)?>'>
<span class='story-status-<?php echo $story->status?>'>
<span class='label label-dot'></span><span class='status-text'><?php echo zget($lang->story->statusList, $story->status);?></span>
</span>
</td>
<td class='c-status'><?php echo zget($lang->story->statusList, $story->status);?></td>
<?php if($longBlock):?>
<td class='c-stage'>
<span class='story-stage-<?php echo $story->stage?>'>
+1 -1
View File
@@ -104,7 +104,7 @@ $lang->common->common = 'Common Module';
/* 主导航菜单。*/
$lang->menu = new stdclass();
$lang->menu->my = '<span>Dashboard</span>|my|index';
$lang->menu->product = $lang->productCommon . '|product|index';
$lang->menu->product = $lang->productCommon . '|product|index|locate=no';
$lang->menu->project = $lang->projectCommon . '|project|index';
$lang->menu->qa = 'QA|qa|index';
$lang->menu->doc = 'Doc|doc|index';
+1 -1
View File
@@ -104,7 +104,7 @@ $lang->common->common = '公有模块';
/* 主导航菜单。*/
$lang->menu = new stdclass();
$lang->menu->my = '<span> 我的地盘</span>|my|index';
$lang->menu->product = $lang->productCommon . '|product|index';
$lang->menu->product = $lang->productCommon . '|product|index|locate=no';
$lang->menu->project = $lang->projectCommon . '|project|index';
$lang->menu->qa = '测试|qa|index';
$lang->menu->doc = '文档|doc|index';
+8 -43
View File
@@ -30,6 +30,7 @@ $lang->runInfo = "<div class='row'><div class='u-1 a-center' id='debugbar
$lang->agreement = "已閲讀並同意<a href='http://zpl.pub/page/zplv12.html' target='_blank'>《Z PUBLIC LICENSE授權協議1.2》</a>。<span class='text-danger'>未經許可,不得去除、隱藏或遮掩禪道軟件的任何標誌及連結。</span>";
$lang->reset = '重填';
$lang->cancel = '取消';
$lang->refresh = '刷新';
$lang->edit = '編輯';
$lang->delete = '刪除';
@@ -103,7 +104,7 @@ $lang->common->common = '公有模組';
/* 主導航菜單。*/
$lang->menu = new stdclass();
$lang->menu->my = '<span> 我的地盤</span>|my|index';
$lang->menu->product = $lang->productCommon . '|product|index';
$lang->menu->product = $lang->productCommon . '|product|index|locate=no';
$lang->menu->project = $lang->projectCommon . '|project|index';
$lang->menu->qa = '測試|qa|index';
$lang->menu->doc = '文檔|doc|index';
@@ -167,7 +168,7 @@ $lang->my = new stdclass();
$lang->my->menu = new stdclass();
$lang->my->menu->index = '首頁|my|index';
$lang->my->menu->todo = array('link' => '待辦|my|todo|', 'subModule' => 'todo');
$lang->my->menu->calendar = array('link' => '日程|my|calendar|', 'subModule' => 'todo', 'alias' => 'todo');
$lang->my->menu->task = array('link' => '任務|my|task|', 'subModule' => 'task');
$lang->my->menu->bug = array('link' => 'Bug|my|bug|', 'subModule' => 'bug');
$lang->my->menu->testtask = array('link' => '測試|my|testtask|', 'subModule' => 'testcase,testtask', 'alias' => 'testcase');
@@ -189,7 +190,6 @@ $lang->score->menu = $lang->my->menu;
$lang->product = new stdclass();
$lang->product->menu = new stdclass();
$lang->product->menu->list = array('link' => '%s', 'fixed' => true);
$lang->product->menu->story = array('link' => '需求|product|browse|productID=%s', 'alias' => 'batchedit', 'subModule' => 'story');
$lang->product->menu->dynamic = '動態|product|dynamic|productID=%s';
$lang->product->menu->plan = array('link' => '計劃|productplan|browse|productID=%s', 'subModule' => 'productplan');
@@ -200,9 +200,6 @@ $lang->product->menu->branch = '@branch@|branch|manage|productID=%s';
$lang->product->menu->module = '模組|tree|browse|productID=%s&view=story';
$lang->product->menu->view = array('link' => '概況|product|view|productID=%s', 'alias' => 'edit');
$lang->product->menu->project = "{$lang->projectCommon}|product|project|status=all&productID=%s";
$lang->product->menu->create = array('link' => "<i class='icon-plus'></i>&nbsp;添加{$lang->productCommon}|product|create", 'float' => 'right');
$lang->product->menu->all = array('link' => "<i class='icon-cubes'></i>&nbsp;所有{$lang->productCommon}|product|all|productID=%s", 'float' => 'right');
$lang->product->menu->index = array('link' => "<i class='icon-home'></i>{$lang->productCommon}主頁|product|index|locate=no", 'float' => 'right');
$lang->story = new stdclass();
$lang->productplan = new stdclass();
@@ -218,7 +215,6 @@ $lang->release->menu = $lang->product->menu;
$lang->project = new stdclass();
$lang->project->menu = new stdclass();
$lang->project->menu->list = array('link' => '%s', 'fixed' => true);
$lang->project->menu->task = array('link' => '任務|project|task|projectID=%s', 'subModule' => 'task,tree', 'alias' => 'grouptask,importtask,burn,importbug,kanban,printkanban,tree');
$lang->project->menu->story = array('link' => '需求|project|story|projectID=%s', 'subModule' => 'story', 'alias' => 'linkstory,storykanban');
$lang->project->menu->bug = 'Bug|project|bug|projectID=%s';
@@ -229,9 +225,6 @@ $lang->project->menu->team = array('link' => '團隊|project|team|projectID=
$lang->project->menu->doc = array('link' => '文檔|doc|objectLibs|type=project&objectID=%s&from=project', 'subModule' => 'doc');
$lang->project->menu->product = $lang->productCommon . '|project|manageproducts|projectID=%s';
$lang->project->menu->view = array('link' => '概況|project|view|projectID=%s', 'alias' => 'edit,start,suspend,putoff,close');
$lang->project->menu->create = array('link' => "<i class='icon-plus'></i>&nbsp;添加{$lang->projectCommon}|project|create", 'float' => 'right');
$lang->project->menu->all = array('link' => "<i class='icon-th-large'></i>&nbsp;所有{$lang->projectCommon}|project|all|status=undone&projectID=%s", 'float' => 'right');
$lang->project->menu->index = array('link' => "<i class='icon-home'></i>{$lang->projectCommon}主頁|project|index|locate=no", 'float' => 'right');
$lang->task = new stdclass();
$lang->build = new stdclass();
@@ -242,38 +235,32 @@ $lang->build->menu = $lang->project->menu;
$lang->qa = new stdclass();
$lang->qa->menu = new stdclass();
$lang->qa->menu->product = array('link' => '%s', 'fixed' => true);
$lang->qa->menu->bug = array('link' => 'Bug|bug|browse|productID=%s');
$lang->qa->menu->testcase = array('link' => '用例|testcase|browse|productID=%s');
$lang->qa->menu->testtask = array('link' => '測試單|testtask|browse|productID=%s');
$lang->qa->menu->testsuite = array('link' => '套件|testsuite|browse|productID=%s');
$lang->qa->menu->report = array('link' => '報告|testreport|browse|productID=%s');
$lang->qa->menu->caselib = array('link' => '用例庫|testsuite|library');
$lang->qa->menu->index = array('link' => "<i class='icon-home'></i>測試主頁|qa|index|locate=no&productID=%s", 'float' => 'right');
$lang->bug = new stdclass();
$lang->bug->menu = new stdclass();
$lang->bug->menu->product = array('link' => '%s', 'fixed' => true);
$lang->bug->menu->bug = array('link' => 'Bug|bug|browse|productID=%s', 'alias' => 'view,create,batchcreate,edit,resolve,close,activate,report,batchedit,batchactivate,confirmbug,assignto', 'subModule' => 'tree');
$lang->bug->menu->testcase = array('link' => '用例|testcase|browse|productID=%s');
$lang->bug->menu->testtask = array('link' => '測試單|testtask|browse|productID=%s');
$lang->bug->menu->testsuite = array('link' => '套件|testsuite|browse|productID=%s');
$lang->bug->menu->report = array('link' => '報告|testreport|browse|productID=%s');
$lang->bug->menu->caselib = array('link' => '用例庫|testsuite|library');
$lang->bug->menu->index = array('link' => "<i class='icon-home'></i>測試主頁|qa|index|locate=no&productID=%s", 'float' => 'right');
$lang->testcase = new stdclass();
$lang->testcase->menu = new stdclass();
$lang->testcase->menu->product = array('link' => '%s', 'fixed' => true);
$lang->testcase->menu->bug = array('link' => 'Bug|bug|browse|productID=%s');
$lang->testcase->menu->testcase = array('link' => '用例|testcase|browse|productID=%s', 'alias' => 'view,create,batchcreate,edit,batchedit,showimport,groupcase,importfromlib', 'subModule' => 'tree');
$lang->testcase->menu->testtask = array('link' => '測試單|testtask|browse|productID=%s', 'alias' => 'view,create,edit,linkcase,cases,start,close,batchrun,groupcase,report');
$lang->testcase->menu->testsuite = array('link' => '套件|testsuite|browse|productID=%s', 'alias' => 'view,create,edit,linkcase');
$lang->testcase->menu->report = array('link' => '報告|testreport|browse|productID=%s', 'alias' => 'view,create,edit');
$lang->testcase->menu->caselib = array('link' => '用例庫|testsuite|library');
$lang->testcase->menu->index = array('link' => "<i class='icon-home'></i>測試主頁|qa|index|locate=no&productID=%s", 'float' => 'right');
$lang->testtask = new stdclass();
$lang->testtask->menu = $lang->testcase->menu;
@@ -284,15 +271,12 @@ $lang->testreport->menu = $lang->testcase->menu;
$lang->caselib = new stdclass();
$lang->caselib->menu = new stdclass();
$lang->caselib->menu->lib = array('link' => '%s', 'fixed' => true);
$lang->caselib->menu->bug = array('link' => 'Bug|bug|browse|');
$lang->caselib->menu->testcase = array('link' => '用例|testcase|browse|');
$lang->caselib->menu->testtask = array('link' => '測試單|testtask|browse|');
$lang->caselib->menu->testsuite = array('link' => '套件|testsuite|browse|');
$lang->caselib->menu->report = array('link' => '報告|testreport|browse|');
$lang->caselib->menu->caselib = array('link' => '用例庫|testsuite|library', 'alias' => 'createlib,createcase,libview,edit,batchcreatecase,showimport', 'subModule' => 'tree,testcase');
$lang->caselib->menu->create = array('link' => "<i class='icon-plus'></i>創建庫|testsuite|createLib|", 'float' => 'right');
$lang->caselib->menu->index = array('link' => "<i class='icon-home'></i>測試主頁|qa|index|locate=no&productID=%s", 'float' => 'right');
/* 文檔視圖菜單設置。*/
$lang->doc = new stdclass();
@@ -438,25 +422,6 @@ $lang->error->noData = '沒有數據';
$lang->error->editedByOther = '該記錄可能已經被改動。請刷新頁面重新編輯!';
$lang->error->tutorialData = '新手模式下不會插入數據,請退出新手模式操作';
if(!defined('PARAM_CODE_MISSING')) define('PARAM_CODE_MISSING', 301);
if(!defined('PARAM_TOKEN_MISSING')) define('PARAM_TOKEN_MISSING', 302);
if(!defined('INVALID_ENTRY')) define('INVALID_ENTRY', 311);
if(!defined('EMPTY_KEY')) define('EMPTY_KEY', 312);
if(!defined('IP_DENIED')) define('IP_DENIED', 321);
if(!defined('INVALID_TOKEN')) define('INVALID_TOKEN', 331);
if(!defined('SESSION_CODE_MISSING')) define('SESSION_CODE_MISSING', 341);
if(!defined('SESSION_VERIFY_FAILED')) define('SESSION_VERIFY_FAILED', 342);
$lang->error->entry = array();
$lang->error->entry['PARAM_CODE_MISSING'] = '缺少code參數';
$lang->error->entry['PARAM_TOKEN_MISSING'] = '缺少token參數';
$lang->error->entry['INVALID_ENTRY'] = '應用不存在';
$lang->error->entry['EMPTY_KEY'] = '應用未設置密鑰';
$lang->error->entry['IP_DENIED'] = '該IP訪問被限制訪問';
$lang->error->entry['INVALID_TOKEN'] = '不合法的token參數';
$lang->error->entry['SESSION_CODE_MISSING'] = '缺少session code';
$lang->error->entry['SESSION_VERIFY_FAILED'] = 'session驗證失敗';
/* 分頁信息。*/
$lang->pager = new stdclass();
$lang->pager->noRecord = "暫時沒有記錄";
@@ -557,14 +522,14 @@ $lang->icons['post'] = 'edit';
$lang->icons['batchCreate'] = 'plus-sign';
$lang->icons['batchEdit'] = 'edit-sign';
$lang->icons['batchClose'] = 'off';
$lang->icons['edit'] = 'pencil';
$lang->icons['delete'] = 'remove';
$lang->icons['edit'] = 'edit';
$lang->icons['delete'] = 'trash';
$lang->icons['copy'] = 'copy';
$lang->icons['report'] = 'bar-chart';
$lang->icons['export'] = 'download-alt';
$lang->icons['report-file'] = 'file-powerpoint';
$lang->icons['import'] = 'upload-alt';
$lang->icons['finish'] = 'ok-sign';
$lang->icons['finish'] = 'checked';
$lang->icons['resolve'] = 'ok-sign';
$lang->icons['start'] = 'play';
$lang->icons['restart'] = 'play';
@@ -573,11 +538,11 @@ $lang->icons['runCase'] = 'play';
$lang->icons['batchRun'] = 'play-sign';
$lang->icons['assign'] = 'hand-right';
$lang->icons['assignTo'] = 'hand-right';
$lang->icons['change'] = 'random';
$lang->icons['change'] = 'fork';
$lang->icons['link'] = 'link';
$lang->icons['close'] = 'off';
$lang->icons['activate'] = 'magic';
$lang->icons['review'] = 'review';
$lang->icons['review'] = 'glasses';
$lang->icons['confirm'] = 'search';
$lang->icons['confirmBug'] = 'search';
$lang->icons['putoff'] = 'calendar';
+1 -1
View File
@@ -38,7 +38,7 @@ if($extHookFiles) foreach($extHookFiles as $extHookFile) include $extHookFile;
</div>
<div id='subHeader'>
<div class='container'>
<div id="pageNav" class='btn-toolbar'><?php if(isset($lang->modulePageNav)) echo $lang->modulePageNav;?></div>
<div id="pageNav" class='btn-toolbar'><?php if(isset($lang->modulePageNav)) echo $lang->modulePageNav;?></div>
<nav id='subNavbar'><?php common::printModuleMenu($this->moduleName);?></nav>
<div id="pageActions"><div class='btn-toolbar'><?php if(isset($lang->modulePageActions)) echo $lang->modulePageActions;?></div></div>
</div>
+9
View File
@@ -34,3 +34,12 @@ $lang->entry->note->name = '授權應用名稱';
$lang->entry->note->code = '授權應用代號,必須為字母或數字的組合';
$lang->entry->note->ip = "允許訪問API的應用ip,多個ip用逗號隔開。支持IP段,如192.168.1.*";
$lang->entry->note->allIP = '無限制';
$lang->entry->errmsg['PARAM_CODE_MISSING'] = '缺少code參數';
$lang->entry->errmsg['PARAM_TOKEN_MISSING'] = '缺少token參數';
$lang->entry->errmsg['SESSION_CODE_MISSING'] = '缺少session code';
$lang->entry->errmsg['EMPTY_KEY'] = '應用未設置密鑰';
$lang->entry->errmsg['INVALID_TOKEN'] = '無效的token參數';
$lang->entry->errmsg['SESSION_VERIFY_FAILED'] = 'session驗證失敗';
$lang->entry->errmsg['IP_DENIED'] = '該IP被限制訪問';
$lang->entry->errmsg['EMPTY_ENTRY'] = '應用不存在';
+1 -1
View File
@@ -10,7 +10,7 @@
* @link http://www.zentao.net
*/
$lang->product->common = $lang->productCommon . '視圖';
$lang->product->index = $lang->productCommon . "首頁";
$lang->product->index = $lang->productCommon . "主頁";
$lang->product->browse = "需求列表";
$lang->product->dynamic = "動態";
$lang->product->view = "{$lang->productCommon}概況";
+1
View File
@@ -53,6 +53,7 @@ class productModel extends model
$productIndex = '<div class="btn-group angle-btn"><div class="btn-group"><button data-toggle="dropdown" type="button" class="btn">' . $this->lang->product->index . ' <span class="caret"></span></button>';
$productIndex .= '<ul class="dropdown-menu">';
if(common::hasPriv('product', 'index')) $productIndex .= '<li>' . html::a(helper::createLink('product', 'index', 'locate=no'), '<i class="icon icon-home"></i> ' . $this->lang->product->index) . '</li>';
if(common::hasPriv('product', 'all')) $productIndex .= '<li>' . html::a(helper::createLink('product', 'all'), '<i class="icon icon-cards-view"></i> ' . $this->lang->product->all) . '</li>';
if(common::hasPriv('product', 'create')) $productIndex .= '<li>' . html::a(helper::createLink('product', 'create'), '<i class="icon icon-plus"></i> ' . $this->lang->product->create) . '</li>';
$productIndex .= '</ul></div></div>';
+2 -2
View File
@@ -11,7 +11,7 @@
*/
/* 欄位列表。*/
$lang->project->common = $lang->projectCommon . '視圖';
$lang->project->allProjects = '全部';
$lang->project->allProjects = '全部' . $lang->projectCommon;
$lang->project->type = $lang->projectCommon . '類型';
$lang->project->name = $lang->projectCommon . '名稱';
$lang->project->code = $lang->projectCommon . '代號';
@@ -100,7 +100,7 @@ $lang->project->aclList['private'] = "私有{$lang->projectCommon}(只有{$lang-
$lang->project->aclList['custom'] = "自定義白名單(團隊成員和白名單的成員可以訪問)";
/* 方法列表。*/
$lang->project->index = "{$lang->projectCommon}首頁";
$lang->project->index = "{$lang->projectCommon}主頁";
$lang->project->task = '任務列表';
$lang->project->groupTask = '分組瀏覽任務';
$lang->project->story = '需求列表';
+1 -1
View File
@@ -10,4 +10,4 @@
* @link http://www.zentao.net
*/
$lang->qa->common = '測試視圖';
$lang->qa->index = '測試首頁';
$lang->qa->index = '測試主頁';
+1 -8
View File
@@ -94,17 +94,10 @@ $lang->todo->lblClickCreate = "點擊添加待辦";
$lang->todo->noTodo = '該類型沒有待辦事務';
$lang->todo->noAssignedTo = '被指派人不能為空';
$lang->todo->periods['today'] = '今日';
$lang->todo->periods['yesterday'] = '昨日';
$lang->todo->periods['thisWeek'] = '本週';
$lang->todo->periods['lastWeek'] = '上周';
$lang->todo->periods['thisMonth'] = '本月';
$lang->todo->periods['lastmonth'] = '上月';
$lang->todo->periods['thisSeason'] = '本季';
$lang->todo->periods['all'] = '所有待辦';
$lang->todo->periods['thisYear'] = '本年';
$lang->todo->periods['future'] = '待定';
$lang->todo->periods['before'] = '未完';
$lang->todo->periods['all'] = '所有';
$lang->todo->periods['cycle'] = '周期';
$lang->todo->action = new stdclass();
+10 -9
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
+10 -7
View File
@@ -103,13 +103,16 @@
<glyph unicode="&#xe955;" glyph-name="file-word" d="M625.58 316.538h39.298l-45.346-201.048-58.956 282.674h-94.712l-68.544-282.674-51.392 282.674h-99.016l100.528-455.004h96.746l67.818 269.076 60.672-269.076h89.188l115.224 455.004h-151.508v-81.628zM872.716 535.93c-19.742 26.928-47.268 58.402-77.49 88.626s-61.702 57.748-88.626 77.49c-45.846 33.616-68.082 37.506-80.82 37.506h-440.888c-39.21 0-71.112-31.9-71.112-71.112v-768c0-39.21 31.898-71.112 71.112-71.112h654.222c39.21 0 71.112 31.9 71.112 71.112v554.666c0 12.738-3.888 34.98-37.506 80.82v0zM755 584.332c27.288-27.288 48.712-51.91 64.518-72.332h-136.848v136.84c20.43-15.806 45.048-37.226 72.332-64.506v0zM853.334-99.556c0-7.708-6.514-14.222-14.222-14.222h-654.222c-7.708 0-14.222 6.514-14.222 14.222v768c0 7.708 6.514 14.222 14.222 14.222 0 0 440.852 0.002 440.888 0v-199.112c0-15.708 12.734-28.444 28.444-28.444h199.112v-554.666z" />
<glyph unicode="&#xe956;" glyph-name="file-excel" d="M717.358 398.222h-120.26l-85.096-125.362-85.104 125.362h-120.258l144.144-215.524-162.642-239.588h223.856v81.4h-44.584l44.584 66.662 99.018-148.062h124.84l-162.646 239.588 144.146 215.524zM872.716 535.932c-19.742 26.926-47.266 58.4-77.492 88.626s-61.7 57.746-88.626 77.492c-45.844 33.618-68.082 37.506-80.822 37.506h-440.888c-39.21 0-71.112-31.9-71.112-71.112v-768c0-39.21 31.898-71.112 71.112-71.112h654.222c39.21 0 71.112 31.9 71.112 71.112v554.666c0 12.74-3.886 34.978-37.506 80.822v0zM755 584.332c27.288-27.288 48.712-51.91 64.516-72.332h-136.848v136.84c20.428-15.804 45.048-37.224 72.332-64.508v0zM853.334-99.556c0-7.708-6.514-14.222-14.222-14.222h-654.222c-7.708 0-14.222 6.514-14.222 14.222v768c0 7.708 6.514 14.222 14.222 14.222 0 0 440.85 0.002 440.888 0v-199.112c0-15.708 12.732-28.444 28.444-28.444h199.112v-554.666z" />
<glyph unicode="&#xe957;" glyph-name="code" d="M632.794 70.731l213.713 213.713-213.713 213.713 65.043 65.043 278.756-278.756-278.756-278.756-65.043 65.043zM391.206 70.731l-213.713 213.713 213.713 213.713-65.043 65.043-278.756-278.756 278.756-278.756 65.043 65.043z" />
<glyph unicode="&#xe958;" glyph-name="home" d="M426.667-56.889v256h170.667v-256h213.333v341.333h128l-426.667 384-426.667-384h128v-341.333h213.333z" />
<glyph unicode="&#xe959;" glyph-name="chevron-double-up" d="M200.448-170.668l-95.705 95.705 407.257 407.257 407.257-407.257-95.705-95.705-311.553 310.873-311.553-310.873zM200.448 236.592l-95.705 95.705 407.257 407.257 407.257-407.257-95.705-95.705-311.553 310.873-311.553-310.873z" />
<glyph unicode="&#xe95a;" glyph-name="chevron-double-down" d="M823.553 739.555l95.705-95.705-407.258-407.258-407.258 407.258 95.705 95.705 311.553-310.872 311.553 310.872zM823.553 332.296l95.705-95.705-407.258-407.258-407.258 407.258 95.705 95.705 311.553-310.872 311.553 310.872z" />
<glyph unicode="&#xe982;" glyph-name="spinner-indicator" d="M416-131.556c0 53.020 42.98 96 96 96s96-42.98 96-96c0-53.020-42.98-96-96-96s-96 42.98-96 96zM0 284.444c0 53.020 42.982 96 96 96s96-42.98 96-96c0-53.020-42.98-96-96-96s-96 42.98-96 96zM832 284.444c0 53.020 42.98 96 96 96s96-42.98 96-96c0-53.020-42.98-96-96-96s-96 42.98-96 96zM121.844 578.6c0 53.020 42.98 96 96 96s96-42.98 96-96c0-53.020-42.98-96-96-96s-96 42.98-96 96zM710.156-9.712c0 53.020 42.98 96 96 96s96-42.98 96-96c0-53.020-42.98-96-96-96s-96 42.98-96 96zM121.844-9.712c0 53.020 42.98 96 96 96s96-42.98 96-96c0-53.020-42.98-96-96-96s-96 42.98-96 96zM710.156 578.6c0 53.020 42.98 96 96 96s96-42.98 96-96c0-53.020-42.98-96-96-96s-96 42.98-96 96z" />
<glyph unicode="&#xf0d7;" glyph-name="caret-down2" d="M821.728 419.95c0-10.284-4.235-19.964-11.494-27.223l-271.013-271.013c-7.26-7.26-16.939-11.494-27.223-11.494s-19.964 4.235-27.223 11.494l-271.013 271.013c-7.26 7.26-11.494 16.939-11.494 27.223 0 21.172 17.543 38.715 38.715 38.715h542.025c21.172 0 38.715-17.543 38.715-38.715z" />
<glyph unicode="&#xf0d8;" glyph-name="caret-up2" d="M821.728 148.938c0-21.172-17.543-38.715-38.715-38.715h-542.026c-21.172 0-38.715 17.543-38.715 38.715 0 10.283 4.235 19.964 11.494 27.223l271.013 271.013c7.26 7.26 16.939 11.494 27.223 11.494s19.964-4.235 27.223-11.494l271.013-271.013c7.26-7.26 11.494-16.939 11.494-27.223z" />
<glyph unicode="&#xf0d9;" glyph-name="caret-left2" d="M704 583.111v-597.333c0-23.334-19.333-42.666-42.666-42.666-11.334 0-22.002 4.666-30 12.666l-298.667 298.667c-7.998 7.998-12.666 18.666-12.666 30s4.666 22.002 12.666 30l298.667 298.667c7.998 7.998 18.666 12.666 30 12.666 23.334 0 42.666-19.333 42.666-42.666z" />
<glyph unicode="&#xf0da;" glyph-name="caret-right2" d="M704 284.444c0-11.334-4.666-22.002-12.666-30l-298.667-298.667c-7.998-7.998-18.666-12.666-30-12.666-23.334 0-42.666 19.333-42.666 42.666v597.333c0 23.334 19.333 42.666 42.666 42.666 11.334 0 22.002-4.666 30-12.666l298.667-298.667c7.998-7.998 12.666-18.666 12.666-30z" />
<glyph unicode="&#xf0dc;" glyph-name="sort2" d="M822.304 168.081c0-10.301-4.24-20.003-11.513-27.275l-271.519-271.519c-7.27-7.27-16.973-11.513-27.275-11.513s-20.003 4.24-27.275 11.513l-271.519 271.519c-7.27 7.27-11.513 16.973-11.513 27.275 0 21.214 17.573 38.785 38.785 38.785h543.036c21.214 0 38.785-17.573 38.785-38.785zM822.304 400.807c0-21.214-17.573-38.785-38.785-38.785h-543.036c-21.214 0-38.785 17.573-38.785 38.785 0 10.301 4.24 20.003 11.513 27.275l271.519 271.519c7.27 7.27 16.973 11.513 27.275 11.513s20.003-4.24 27.275-11.513l271.519-271.519c7.27-7.27 11.513-16.973 11.513-27.275z" />
<glyph unicode="&#xf0dd;" glyph-name="sort-down2" d="M821.724 167.504c0-10.281-4.235-19.964-11.493-27.222l-271.013-271.013c-7.258-7.258-16.939-11.493-27.222-11.493s-19.964 4.235-27.222 11.493l-271.013 271.013c-7.258 7.258-11.493 16.939-11.493 27.222 0 21.171 17.545 38.713 38.713 38.713h542.021c21.171 0 38.713-17.545 38.713-38.713z" />
<glyph unicode="&#xf0de;" glyph-name="sort-up2" d="M821.728 404.932c0-21.173-17.543-38.715-38.715-38.715h-542.026c-21.173 0-38.715 17.543-38.715 38.715 0 10.284 4.237 19.966 11.492 27.221l271.013 271.013c7.263 7.263 16.937 11.492 27.221 11.492s19.966-4.237 27.221-11.492l271.013-271.013c7.263-7.263 11.492-16.937 11.492-27.221z" />
<glyph unicode="&#xf0d7;" glyph-name="caret-down" d="M821.728 419.95c0-10.284-4.235-19.964-11.494-27.223l-271.013-271.013c-7.26-7.26-16.939-11.494-27.223-11.494s-19.964 4.235-27.223 11.494l-271.013 271.013c-7.26 7.26-11.494 16.939-11.494 27.223 0 21.172 17.543 38.715 38.715 38.715h542.025c21.172 0 38.715-17.543 38.715-38.715z" />
<glyph unicode="&#xf0d8;" glyph-name="caret-up" d="M821.728 148.938c0-21.172-17.543-38.715-38.715-38.715h-542.026c-21.172 0-38.715 17.543-38.715 38.715 0 10.283 4.235 19.964 11.494 27.223l271.013 271.013c7.26 7.26 16.939 11.494 27.223 11.494s19.964-4.235 27.223-11.494l271.013-271.013c7.26-7.26 11.494-16.939 11.494-27.223z" />
<glyph unicode="&#xf0d9;" glyph-name="caret-left" d="M704 583.111v-597.333c0-23.334-19.333-42.666-42.666-42.666-11.334 0-22.002 4.666-30 12.666l-298.667 298.667c-7.998 7.998-12.666 18.666-12.666 30s4.666 22.002 12.666 30l298.667 298.667c7.998 7.998 18.666 12.666 30 12.666 23.334 0 42.666-19.333 42.666-42.666z" />
<glyph unicode="&#xf0da;" glyph-name="caret-right" d="M704 284.444c0-11.334-4.666-22.002-12.666-30l-298.667-298.667c-7.998-7.998-18.666-12.666-30-12.666-23.334 0-42.666 19.333-42.666 42.666v597.333c0 23.334 19.333 42.666 42.666 42.666 11.334 0 22.002-4.666 30-12.666l298.667-298.667c7.998-7.998 12.666-18.666 12.666-30z" />
<glyph unicode="&#xf0dc;" glyph-name="sort" d="M822.304 168.081c0-10.301-4.24-20.003-11.513-27.275l-271.519-271.519c-7.27-7.27-16.973-11.513-27.275-11.513s-20.003 4.24-27.275 11.513l-271.519 271.519c-7.27 7.27-11.513 16.973-11.513 27.275 0 21.214 17.573 38.785 38.785 38.785h543.036c21.214 0 38.785-17.573 38.785-38.785zM822.304 400.807c0-21.214-17.573-38.785-38.785-38.785h-543.036c-21.214 0-38.785 17.573-38.785 38.785 0 10.301 4.24 20.003 11.513 27.275l271.519 271.519c7.27 7.27 16.973 11.513 27.275 11.513s20.003-4.24 27.275-11.513l271.519-271.519c7.27-7.27 11.513-16.973 11.513-27.275z" />
<glyph unicode="&#xf0dd;" glyph-name="sort-down" d="M821.724 167.504c0-10.281-4.235-19.964-11.493-27.222l-271.013-271.013c-7.258-7.258-16.939-11.493-27.222-11.493s-19.964 4.235-27.222 11.493l-271.013 271.013c-7.258 7.258-11.493 16.939-11.493 27.222 0 21.171 17.545 38.713 38.713 38.713h542.021c21.171 0 38.713-17.545 38.713-38.713z" />
<glyph unicode="&#xf0de;" glyph-name="sort-up" d="M821.728 404.932c0-21.173-17.543-38.715-38.715-38.715h-542.026c-21.173 0-38.715 17.543-38.715 38.715 0 10.284 4.237 19.966 11.492 27.221l271.013 271.013c7.263 7.263 16.937 11.492 27.221 11.492s19.966-4.237 27.221-11.492l271.013-271.013c7.263-7.263 11.492-16.937 11.492-27.221z" />
<glyph unicode="&#xf1c9;" glyph-name="file-code" d="M867.555 546.541c18.792-18.792 34.538-56.381 34.538-83.303v-585.144c0-26.92-21.841-48.76-48.76-48.76h-682.667c-26.92 0-48.76 21.841-48.76 48.76v812.7c0 26.92 21.841 48.76 48.76 48.76h455.111c26.92 0 64.507-15.746 83.303-34.538zM642.030 670.478v-190.983h190.983c-3.048 8.633-7.619 17.272-11.176 20.824l-158.983 158.983c-3.557 3.557-12.19 8.127-20.824 11.176zM837.077-105.651v520.128h-211.303c-26.92 0-48.76 21.841-48.76 48.76v211.303h-390.096v-780.192h650.161zM365.713 349.461c5.589 7.112 15.746 8.633 22.856 3.048l25.905-19.303c7.112-5.589 8.633-15.746 3.048-22.856l-92.444-123.43 92.444-123.43c5.589-7.112 4.063-17.272-3.048-22.856l-25.905-19.303c-7.112-5.589-17.272-4.063-22.856 3.048l-114.792 152.887c-4.063 5.589-4.063 13.715 0 19.303zM773.077 196.572c4.063-5.589 4.063-13.715 0-19.303l-114.792-152.887c-5.589-7.112-15.746-8.633-22.856-3.048l-25.905 19.303c-7.112 5.589-8.633 15.746-3.048 22.856l92.444 123.43-92.444 123.43c-5.589 7.112-4.063 17.272 3.048 22.856l25.905 19.303c7.112 5.589 17.272 4.063 22.856-3.048zM458.156-37.588c-9.144 1.525-14.728 10.159-13.208 18.792l70.095 422.096c1.525 9.144 10.159 14.728 18.792 13.208l32-5.080c9.144-1.525 14.728-10.159 13.208-18.792l-70.095-422.096c-1.525-9.144-10.159-14.728-18.792-13.208z" />
</font></defs></svg>

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.
Binary file not shown.