Merge branch '15.0.beta3' of http://gitlab.zcorp.cc/easycorp/zentaopms into 15.0.beta3
This commit is contained in:
@@ -213,8 +213,6 @@ $lang->scrum->menu->settings['subMenu']->whitelist = array('link' => "{$lang->
|
||||
$lang->scrum->menu->settings['subMenu']->stakeholder = array('link' => "{$lang->stakeholder->common}|stakeholder|browse|project=%s", 'subModule' => 'stakeholder');
|
||||
$lang->scrum->menu->settings['subMenu']->group = array('link' => "{$lang->priv}|project|group|project=%s", 'alias' => 'group,manageview,managepriv');
|
||||
|
||||
$lang->scrum->menu->devops['subMenu'] = new stdclass();
|
||||
|
||||
/* Waterfall menu. */
|
||||
$lang->waterfall->menu = new stdclass();
|
||||
$lang->waterfall->menu->index = array('link' => "$lang->dashboard|project|index|project=%s");
|
||||
@@ -300,8 +298,6 @@ $lang->execution->menu->view['subMenu'] = new stdclass();
|
||||
$lang->execution->menu->view['subMenu']->groupTask = "$lang->groupView|execution|grouptask|executionID=%s";
|
||||
$lang->execution->menu->view['subMenu']->tree = "$lang->treeView|execution|tree|executionID=%s";
|
||||
|
||||
$lang->execution->menu->devops['subMenu'] = new stdclass();
|
||||
|
||||
$lang->execution->menu->qa['subMenu'] = new stdclass();
|
||||
$lang->execution->menu->qa['subMenu']->qa = array('link' => "$lang->dashboard|execution|qa|executionID=%s");
|
||||
$lang->execution->menu->qa['subMenu']->bug = array('link' => "{$lang->bug->common}|execution|bug|executionID=%s", 'subModule' => 'bug');
|
||||
@@ -370,8 +366,6 @@ $lang->devops->menuOrder[15] = 'jenkins';
|
||||
$lang->devops->menuOrder[20] = 'maintain';
|
||||
$lang->devops->menuOrder[25] = 'rules';
|
||||
|
||||
$lang->devops->menu->code['subMenu'] = new stdclass();
|
||||
|
||||
/* Doc menu.*/
|
||||
$lang->doc->menu = new stdclass();
|
||||
$lang->doc->menu->recent = array('link' => "{$lang->doc->recent}|doc|recent");
|
||||
|
||||
@@ -799,7 +799,7 @@ class doc extends control
|
||||
if($type == 'execution')
|
||||
{
|
||||
$executionID = $objectID;
|
||||
if(!$this->executionID->checkPriv($objectID)) $this->accessDenied();
|
||||
if(!$this->execution->checkPriv($objectID)) $this->accessDenied();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -54,6 +54,7 @@ $lang->doc->searchDoc = 'Suche';
|
||||
$lang->doc->fast = 'Schnelleintrag';
|
||||
$lang->doc->allDoc = 'Alle Doks';
|
||||
$lang->doc->openedByMe = 'Meine';
|
||||
$lang->doc->editedByMe = 'Edited By Me';
|
||||
$lang->doc->orderByOpen = 'Zuletzt hinzugefügt';
|
||||
$lang->doc->orderByEdit = 'Zuletzt bearbeitet';
|
||||
$lang->doc->orderByVisit = 'Zuletzt angesehen';
|
||||
|
||||
@@ -54,6 +54,7 @@ $lang->doc->searchDoc = 'Search';
|
||||
$lang->doc->fast = 'Quick Entry';
|
||||
$lang->doc->allDoc = 'All Documents';
|
||||
$lang->doc->openedByMe = 'My';
|
||||
$lang->doc->editedByMe = 'Edited By Me';
|
||||
$lang->doc->orderByOpen = 'Recent Added';
|
||||
$lang->doc->orderByEdit = 'Recent Updated';
|
||||
$lang->doc->orderByVisit = 'Last Visited';
|
||||
|
||||
@@ -54,6 +54,7 @@ $lang->doc->searchDoc = 'Rechercher';
|
||||
$lang->doc->fast = 'Saisie rapide';
|
||||
$lang->doc->allDoc = 'Tous les Documents';
|
||||
$lang->doc->openedByMe = 'Mes';
|
||||
$lang->doc->editedByMe = 'Edited By Me';
|
||||
$lang->doc->orderByOpen = 'Récemment Ajoutés';
|
||||
$lang->doc->orderByEdit = 'Récemment Mis à Jour';
|
||||
$lang->doc->orderByVisit = 'Dernière Visite';
|
||||
|
||||
@@ -54,6 +54,7 @@ $lang->doc->searchDoc = 'Tìm kiếm';
|
||||
$lang->doc->fast = 'Quick Entry';
|
||||
$lang->doc->allDoc = 'Tất cả tài liệu';
|
||||
$lang->doc->openedByMe = 'Của bạn';
|
||||
$lang->doc->editedByMe = 'Edited By Me';
|
||||
$lang->doc->orderByOpen = 'Recent Added';
|
||||
$lang->doc->orderByEdit = 'Recent Updated';
|
||||
$lang->doc->orderByVisit = 'Last Visited';
|
||||
|
||||
@@ -261,7 +261,6 @@ $lang->execution->aboveAllExecution = "Alle oberen {$lang->executionCommon}";
|
||||
/* 页面提示。*/
|
||||
$lang->execution->linkStoryByPlanTips = "This action will link all stories in this plan to the {$lang->executionCommon}.";
|
||||
$lang->execution->selectExecution = "Auswahl {$lang->executionCommon}";
|
||||
$lang->execution->selectExecution = "Select Execution";
|
||||
$lang->execution->beginAndEnd = 'Dauer';
|
||||
$lang->execution->lblStats = 'Mannstunden Summe(h) : ';
|
||||
$lang->execution->stats = '<strong>%s</strong> Verfügbar, <strong>%s</strong> geplant, <strong>%s</strong> genutzt, <strong>%s</strong> Rest.';
|
||||
|
||||
@@ -261,7 +261,6 @@ $lang->execution->aboveAllExecution = "All the above {$lang->executionCommon}s";
|
||||
/* Page prompt. */
|
||||
$lang->execution->linkStoryByPlanTips = "This action will link all stories in this plan to the {$lang->executionCommon}.";
|
||||
$lang->execution->selectExecution = "Select {$lang->executionCommon}";
|
||||
$lang->execution->selectExecution = "Select Stage/Sprint/Iteration";
|
||||
$lang->execution->beginAndEnd = 'Duration';
|
||||
$lang->execution->lblStats = 'Efforts';
|
||||
$lang->execution->stats = 'Available: <strong>%s</strong>(h). Estimates: <strong>%s</strong>(h). Cost: <strong>%s</strong>(h). Left: <strong>%s</strong>(h).';
|
||||
|
||||
@@ -260,8 +260,7 @@ $lang->execution->aboveAllExecution = "Tous les {$lang->executionCommon}s dépen
|
||||
|
||||
/* 页面提示。*/
|
||||
$lang->execution->linkStoryByPlanTips = "Cette action va lier toutes les stories incluses dans le plan à ce {$lang->executionCommon}.";
|
||||
$lang->execution->selectExecution = "Sélectionner {$lang->executionCommon}";
|
||||
$lang->execution->selectExecution = "Select Execution";
|
||||
$lang->execution->selectExecution = "Sélectionner {$lang->executionCommon}";
|
||||
$lang->execution->beginAndEnd = 'Durée';
|
||||
$lang->execution->lblStats = 'Efforts';
|
||||
$lang->execution->stats = 'Disponible: <strong>%s</strong>(h). Estimé: <strong>%s</strong>(h). Coût: <strong>%s</strong>(h). Reste: <strong>%s</strong>(h).';
|
||||
|
||||
@@ -260,8 +260,7 @@ $lang->execution->aboveAllExecution = "Tất cả {$lang->executionCommon} trên
|
||||
|
||||
/* Page prompt. */
|
||||
$lang->execution->linkStoryByPlanTips = "Hành động này sẽ liên kết tất cả câu chuyện trong kế hoạch này tới {$lang->executionCommon} này.";
|
||||
$lang->execution->selectExecution = "Chọn {$lang->executionCommon}";
|
||||
$lang->execution->selectExecution = "Select Execution";
|
||||
$lang->execution->selectExecution = "Chọn {$lang->executionCommon}";
|
||||
$lang->execution->beginAndEnd = 'Thời gian';
|
||||
$lang->execution->lblStats = 'Chấm công';
|
||||
$lang->execution->stats = 'Khả dụng: <strong>%s</strong>(giờ). Dự tính: <strong>%s</strong>(giờ). Đã làm: <strong>%s</strong>(giờ). Còn: <strong>%s</strong>(giờ).';
|
||||
|
||||
@@ -260,8 +260,7 @@ $lang->execution->aboveAllExecution = "以上所有{$lang->executionCommon}";
|
||||
|
||||
/* 页面提示。*/
|
||||
$lang->execution->linkStoryByPlanTips = "此操作会将所选计划下面的{$lang->SRCommon}全部关联到此{$lang->executionCommon}中";
|
||||
$lang->execution->selectExecution = "请选择{$lang->executionCommon}";
|
||||
$lang->execution->selectExecution = "请选择阶段/迭代/冲刺";
|
||||
$lang->execution->selectExecution = "请选择执行";
|
||||
$lang->execution->beginAndEnd = '起止时间';
|
||||
$lang->execution->lblStats = '工时统计';
|
||||
$lang->execution->stats = '可用工时 <strong>%s</strong> 工时,总共预计 <strong>%s</strong> 工时,已经消耗 <strong>%s</strong> 工时,预计剩余 <strong>%s</strong> 工时';
|
||||
|
||||
@@ -437,6 +437,7 @@ class productModel extends model
|
||||
{
|
||||
$currentProduct = $this->getById($productID);
|
||||
$currentProductName = $currentProduct->name;
|
||||
$this->session->set('currentProductType', $currentProduct->type);
|
||||
}
|
||||
|
||||
$fromModule = $this->lang->navGroup->qa == 'qa' ? 'qa' : '';
|
||||
|
||||
@@ -652,11 +652,11 @@ class programModel extends model
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getParentPairs($model = '', $mode = '')
|
||||
public function getParentPairs($model = '', $mode = 'noclosed')
|
||||
{
|
||||
$modules = $this->dao->select('id,name,parent,path,grade')->from(TABLE_PROGRAM)
|
||||
->where('type')->eq('program')
|
||||
->beginIF(strpos($mode, 'noclosed') === false)->andWhere('status')->ne('closed')->fi()
|
||||
->beginIF(strpos($mode, 'noclosed') !== false)->andWhere('status')->ne('closed')->fi()
|
||||
->andWhere('deleted')->eq(0)
|
||||
->beginIF($model)->andWhere('model')->eq($model)->fi()
|
||||
->orderBy('grade desc, `order`')
|
||||
|
||||
@@ -1200,7 +1200,7 @@ class project extends control
|
||||
$this->view->actions = $this->action->getList('project', $projectID);
|
||||
$this->view->project = $this->project->getByID($projectID);
|
||||
|
||||
$this->display('project', 'suspend');
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1247,6 +1247,7 @@ class project extends control
|
||||
public function activate($projectID)
|
||||
{
|
||||
$this->loadModel('action');
|
||||
$this->app->loadLang('execution');
|
||||
$project = $this->project->getByID($projectID);
|
||||
|
||||
if(!empty($_POST))
|
||||
@@ -1275,7 +1276,7 @@ class project extends control
|
||||
$this->view->newEnd = $newEnd;
|
||||
$this->view->project = $project;
|
||||
|
||||
$this->display('project', 'activate');
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -61,8 +61,6 @@ class repo extends control
|
||||
$this->repo->setMenu($this->repos, $repoID);
|
||||
}
|
||||
|
||||
$this->lang->modulePageNav = $this->repo->select($this->repos, $repoID, $this->app->openApp, $objectID);
|
||||
|
||||
if(empty($this->repos) and $this->methodName != 'create') die(js::locate($this->repo->createLink('create', "objectID=$objectID")));
|
||||
}
|
||||
|
||||
@@ -342,13 +340,12 @@ class repo extends control
|
||||
$this->session->set('revisionList', $this->app->getURI(true));
|
||||
session_write_close();
|
||||
|
||||
/* Use cookie to switch repo branch. */
|
||||
setcookie('repoBranch', $branchID);
|
||||
|
||||
/* Get repo and synchronous commit. */
|
||||
$repo = $this->repo->getRepoByID($repoID);
|
||||
if(!$repo->synced) $this->locate($this->repo->createLink('showSyncCommit', "repoID=$repoID"));
|
||||
|
||||
$branches = $this->repo->getBranches($repo);
|
||||
|
||||
/* Decrypt path and get cacheFile. */
|
||||
$path = $this->repo->decodePath($path);
|
||||
$cacheFile = $this->repo->getCacheFile($repoID, $path, $revision);
|
||||
@@ -426,11 +423,13 @@ class repo extends control
|
||||
|
||||
$this->view->title = $this->lang->repo->common;
|
||||
$this->view->repo = $repo;
|
||||
$this->view->repos = $this->repos;
|
||||
$this->view->revisions = $revisions;
|
||||
$this->view->revision = $revision;
|
||||
$this->view->infos = $infos;
|
||||
$this->view->repoID = $repoID;
|
||||
$this->view->branchID = $this->cookie->branchID;
|
||||
$this->view->branches = $branches;
|
||||
$this->view->branchID = $branchID ? $branchID : key($branches);
|
||||
$this->view->objectID = $objectID;
|
||||
$this->view->pager = $pager;
|
||||
$this->view->path = urldecode($path);
|
||||
|
||||
@@ -11,23 +11,30 @@
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='btn-toolbar pull-left'>
|
||||
<div class="page-title">
|
||||
<strong>
|
||||
<div class='btn-group'>
|
||||
<a href='javascript:;' class='btn btn-link btn-limit text-ellipsis' data-toggle='dropdown' style="max-width: 120px;"><span class='text' title='<?php echo $repo->name;?>'><?php echo $repo->name;?></span> <span class='caret'></span></a>
|
||||
<ul class='dropdown-menu' style='max-height:240px; max-width: 300px; overflow-y:auto'>
|
||||
<?php
|
||||
echo html::a($this->repo->createLink('browse', "repoID=$repoID&branchID=$branchID&objectID=$objectID"), $repo->name, '', "data-app={$app->openApp}");
|
||||
if(!empty($path))
|
||||
foreach($repos as $id => $repoName)
|
||||
{
|
||||
$paths = explode('/', $path);
|
||||
$postPath = '';
|
||||
foreach($paths as $pathName)
|
||||
{
|
||||
$postPath .= $pathName . '/';
|
||||
echo '/' . ' ' . html::a($this->repo->createLink('browse', "repoID=$repoID&branchID=$branchID&objectID=$objectID&path=" . $this->repo->encodePath($postPath) . "&revision=$revision"), trim($pathName, '/'), '', '', "data-app={$app->openApp}");
|
||||
}
|
||||
echo "<li>" . html::a($this->createLink('repo', 'browse', "repoID=$id"), $repoName, '', "title='{$repoName}' class='text-ellipsis'") . "</li>";
|
||||
}
|
||||
?>
|
||||
</strong>
|
||||
</ul>
|
||||
</div>
|
||||
<?php if(!empty($branches)):?>
|
||||
<div class='btn-group'>
|
||||
<a href='javascript:;' class='btn btn-link btn-limit text-ellipsis' data-toggle='dropdown' style="max-width: 120px;"><span class='text' title='<?php echo $branches[$branchID];?>'><?php echo $branches[$branchID];?></span> <span class='caret'></span></a>
|
||||
<ul class='dropdown-menu' style='max-height:240px; max-width: 300px; overflow-y:auto'>
|
||||
<?php
|
||||
foreach($branches as $id => $branchName)
|
||||
{
|
||||
echo "<li>" . html::a($this->createLink('repo', 'browse', "repoID=$repoID&branchID=$id"), $branchName, '', "title='{$branchName}' class='text-ellipsis'") . "</li>";
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
<div class="btn-toolbar pull-right">
|
||||
<span class='last-sync-time'><?php echo $lang->repo->notice->lastSyncTime . $cacheTime?></span>
|
||||
|
||||
@@ -1474,7 +1474,6 @@ class story extends control
|
||||
else
|
||||
{
|
||||
$this->app->rawModule = 'testcase';
|
||||
$this->loadModel('qa')->setMenu($productID);
|
||||
foreach($this->config->qa->menuList as $module) $this->lang->navGroup->$module = 'qa';
|
||||
}
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ $config->task->customBatchEditFields = 'module,assignedTo,status,pri,estimate,
|
||||
$config->task->custom = new stdclass();
|
||||
$config->task->custom->createFields = $config->task->customCreateFields;
|
||||
$config->task->custom->batchCreateFields = 'module,story,assignedTo,estimate,desc,pri';
|
||||
$config->task->custom->batchEditFields = 'module,assignedTo,status,pri,estimate,record,left,finishedBy,closedBy,closedReason';
|
||||
$config->task->custom->batchEditFields = 'module,assignedTo,status,pri,estimate,record,left';
|
||||
|
||||
$config->task->datatable = new stdclass();
|
||||
$config->task->datatable->defaultField = array('id', 'pri', 'name', 'status', 'assignedTo', 'finishedBy', 'estimate', 'consumed', 'left', 'progress', 'deadline', 'actions');
|
||||
|
||||
Reference in New Issue
Block a user