Merge branch '15.0.beta3' of https://gitlab.zcorp.cc/easycorp/zentaopms into 15.0.beta3
This commit is contained in:
@@ -542,7 +542,7 @@ class bug extends control
|
||||
|
||||
/* Get executions. */
|
||||
$executions = array('' => '');
|
||||
if(isset($projects[$projectID])) $executions += $this->product->getExecutionPairsByProduct($productID, $branch ? "0,$branch" : 0, 'id_desc', $projectID);
|
||||
if(isset($projects[$projectID]) or $this->config->systemMode == 'classic') $executions += $this->product->getExecutionPairsByProduct($productID, $branch ? "0,$branch" : 0, 'id_desc', $projectID);
|
||||
|
||||
/* Set custom. */
|
||||
foreach(explode(',', $this->config->bug->list->customCreateFields) as $field) $customFields[$field] = $this->lang->bug->$field;
|
||||
|
||||
+10
-3
@@ -2,6 +2,7 @@ $(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');
|
||||
|
||||
@@ -240,6 +241,12 @@ function loadProductStories(productID)
|
||||
*/
|
||||
function loadProductProjects(productID)
|
||||
{
|
||||
if(systemMode == 'classic')
|
||||
{
|
||||
loadProductExecutions(productID);
|
||||
return true;
|
||||
}
|
||||
|
||||
branch = $('#branch').val();
|
||||
if(typeof(branch) == 'undefined') branch = 0;
|
||||
|
||||
@@ -262,8 +269,8 @@ function loadProductProjects(productID)
|
||||
*/
|
||||
function loadProductExecutions(productID, projectID = 0)
|
||||
{
|
||||
if(!projectID) projectID = $('#project').find("option:selected").val();
|
||||
if(!projectID) productID = 0;
|
||||
if(!projectID && systemMode != 'classic') projectID = $('#project').find("option:selected").val();
|
||||
if(!projectID && systemMode != 'classic') productID = 0;
|
||||
required = $('#execution_chosen').hasClass('required');
|
||||
branch = $('#branch').val();
|
||||
if(typeof(branch) == 'undefined') branch = 0;
|
||||
@@ -272,7 +279,7 @@ function loadProductExecutions(productID, projectID = 0)
|
||||
$('#executionIdBox').load(link, function()
|
||||
{
|
||||
$(this).find('select').chosen();
|
||||
if(typeof(bugExecution) == 'string') $('#executionIdBox').prepend("<span class='input-group-addon' style='border-left-width: 0px;'>" + bugExecution + "</span>");
|
||||
if(typeof(bugExecution) == 'string' && systemMode != 'classic') $('#executionIdBox').prepend("<span class='input-group-addon' style='border-left-width: 0px;'>" + bugExecution + "</span>");
|
||||
if(required) $(this).addClass('required');
|
||||
});
|
||||
}
|
||||
|
||||
@@ -73,7 +73,10 @@ js::set('blockID', $blockID);
|
||||
</tr>
|
||||
<?php $showExecution = (strpos(",$showFields,", ',execution,') !== false);?>
|
||||
<tr>
|
||||
<th><?php echo ($showExecution) ? $lang->bug->project : $lang->bug->type;?></th>
|
||||
<th>
|
||||
<?php if($config->systemMode == 'classic') $lang->bug->project = $lang->bug->execution;?>
|
||||
<?php echo ($showExecution) ? $lang->bug->project : $lang->bug->type;?>
|
||||
</th>
|
||||
|
||||
<?php if(!$showExecution):?>
|
||||
<?php $showOS = strpos(",$showFields,", ',os,') !== false;?>
|
||||
@@ -94,6 +97,7 @@ js::set('blockID', $blockID);
|
||||
<?php endif;?>
|
||||
<?php if($showExecution):?>
|
||||
<td>
|
||||
<?php if($config->systemMode == 'new'):?>
|
||||
<div class='table-row'>
|
||||
<div class='table-col' id='projectBox'>
|
||||
<?php echo html::select('project', $projects, $projectID, "class='form-control chosen' onchange='loadProductExecutions({$productID}, this.value)'");?>
|
||||
@@ -104,6 +108,12 @@ js::set('blockID', $blockID);
|
||||
<?php echo html::select('execution', $executions, $executionID, "class='form-control chosen' onchange='loadExecutionRelated(this.value)'");?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php else:?>
|
||||
<div class='input-group' id='executionIdBox'>
|
||||
<?php echo html::select('execution', $executions, $executionID, "class='form-control chosen' onchange='loadExecutionRelated(this.value)'");?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
</td>
|
||||
<?php endif;?>
|
||||
<td>
|
||||
@@ -327,6 +337,7 @@ js::set('blockID', $blockID);
|
||||
</div>
|
||||
<?php js::set('bugModule', $lang->bug->module);?>
|
||||
<?php js::set('bugExecution', $lang->bug->execution);?>
|
||||
<?php js::set('systemMode', $config->systemMode);?>
|
||||
<script>
|
||||
$(function(){parent.$('body.hide-modal-close').removeClass('hide-modal-close');})
|
||||
</script>
|
||||
|
||||
@@ -24,6 +24,7 @@ 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);
|
||||
?>
|
||||
|
||||
<div class='main-content' id='mainContent'>
|
||||
|
||||
+15
-3
@@ -355,7 +355,7 @@ class doc extends control
|
||||
else if($this->app->openApp == 'execution')
|
||||
{
|
||||
$this->execution->setMenu($objectID);
|
||||
unset($this->lang->exectuion->menu->doc['subMenu']);
|
||||
unset($this->lang->execution->menu->doc['subMenu']);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -516,7 +516,17 @@ class doc extends control
|
||||
$type = $docLib->type;
|
||||
$objectID = $docLib->$type;
|
||||
}
|
||||
$this->locate(inLink('objectLibs', "type=$type&objectID=$objectID&libID=$libID&docID=$docID"));
|
||||
|
||||
$openApp = $type == 'execution' ? 'execution' : 'doc';
|
||||
$browseLink = inLink('objectLibs', "type=$type&objectID=$objectID&libID=$libID&docID=$docID#app=$openApp");
|
||||
if($type == 'execution')
|
||||
{
|
||||
die(js::locate($browseLink, 'parent'));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->locate($browseLink);
|
||||
}
|
||||
}
|
||||
|
||||
if($doc->contentType == 'markdown')
|
||||
@@ -953,13 +963,14 @@ class doc extends control
|
||||
{
|
||||
$libs = $this->doc->getLibsByObject('book', 0);
|
||||
$this->app->rawMethod = 'book';
|
||||
if($libID == 0) $libID = key($libs);
|
||||
if($libID == 0) $libID = reset($libs)->id;
|
||||
$this->lang->modulePageNav = $this->doc->select($type, $objects, $objectID, $libs, $libID);
|
||||
|
||||
if(!$docID) $docID = $this->dao->select('id')->from(TABLE_DOC)
|
||||
->where('lib')->eq($libID)
|
||||
->andWhere('type')->eq('article')
|
||||
->andWhere('deleted')->eq(0)
|
||||
->orderBy('editedDate_desc,id_desc')
|
||||
->fetch('id');
|
||||
|
||||
$object = new stdclass();
|
||||
@@ -1046,6 +1057,7 @@ class doc extends control
|
||||
$this->view->type = $type;
|
||||
$this->view->version = $version;
|
||||
$this->view->object = $object;
|
||||
$this->view->objectID = $objectID;
|
||||
$this->view->objectType = $type;
|
||||
$this->view->libID = $libID;
|
||||
$this->view->lib = isset($libs[$libID]) ? $libs[$libID] : new stdclass();
|
||||
|
||||
@@ -183,13 +183,13 @@ $lang->doc->noOpenedDoc = 'Sie haben kein Dokument erstellt.';
|
||||
$lang->doc->noCollectedDoc = 'Sie haben kein Dokument gesammelt.';
|
||||
$lang->doc->errorEmptyLib = 'No data in document library.';
|
||||
|
||||
$lang->doc->noticeAcl['lib']['product']['default'] = 'Users who can access the selected product can access it.';
|
||||
$lang->doc->noticeAcl['lib']['product']['custom'] = 'Users who can access the selected product or users in the whiltelist can access it.';
|
||||
$lang->doc->noticeAcl['lib']['execution']['default'] = 'Users who can access the selected execution can access it.';
|
||||
$lang->doc->noticeAcl['lib']['execution']['custom'] = 'Users who can access the selected execution or users in the whiltelist can access it.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['open'] = 'All users can access it.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['custom'] = 'Users in the whitelist can access it.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['private'] = 'Only the one who created it can access it.';
|
||||
$lang->doc->noticeAcl['lib']['product']['default'] = 'Users who can access the selected product can access it.';
|
||||
$lang->doc->noticeAcl['lib']['product']['custom'] = 'Users who can access the selected product or users in the whiltelist can access it.';
|
||||
$lang->doc->noticeAcl['lib']['project']['default'] = 'Users who can access the selected project can access it.';
|
||||
$lang->doc->noticeAcl['lib']['project']['custom'] = 'Users who can access the selected project or users in the whiltelist can access it.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['open'] = 'All users can access it.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['custom'] = 'Users in the whitelist can access it.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['private'] = 'Only the one who created it can access it.';
|
||||
|
||||
$lang->doc->noticeAcl['doc']['open'] = 'Users who can access the document library which the document belongs can access it.';
|
||||
$lang->doc->noticeAcl['doc']['custom'] = 'Users in the whiltelist can access it.';
|
||||
|
||||
@@ -187,13 +187,13 @@ $lang->doc->noOpenedDoc = 'You have not created any documents.';
|
||||
$lang->doc->noCollectedDoc = 'You have not favorited any documents.';
|
||||
$lang->doc->errorEmptyLib = 'No data in document library.';
|
||||
|
||||
$lang->doc->noticeAcl['lib']['product']['default'] = 'Users who can access the selected product can access it.';
|
||||
$lang->doc->noticeAcl['lib']['product']['custom'] = 'Users who can access the selected product or users in the whiltelist can access it.';
|
||||
$lang->doc->noticeAcl['lib']['execution']['default'] = 'Users who can access the selected execution can access it.';
|
||||
$lang->doc->noticeAcl['lib']['execution']['custom'] = 'Users who can access the selected execution or users in the whiltelist can access it.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['open'] = 'All users can access it.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['custom'] = 'Users in the whitelist can access it.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['private'] = 'Only the one who created it can access it.';
|
||||
$lang->doc->noticeAcl['lib']['product']['default'] = 'Users who can access the selected product can access it.';
|
||||
$lang->doc->noticeAcl['lib']['product']['custom'] = 'Users who can access the selected product or users in the whiltelist can access it.';
|
||||
$lang->doc->noticeAcl['lib']['project']['default'] = 'Users who can access the selected project can access it.';
|
||||
$lang->doc->noticeAcl['lib']['project']['custom'] = 'Users who can access the selected project or users in the whiltelist can access it.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['open'] = 'All users can access it.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['custom'] = 'Users in the whitelist can access it.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['private'] = 'Only the one who created it can access it.';
|
||||
|
||||
$lang->doc->noticeAcl['doc']['open'] = 'Users who can access the document library which the document belongs can access it.';
|
||||
$lang->doc->noticeAcl['doc']['custom'] = 'Users in the whiltelist can access it.';
|
||||
|
||||
@@ -183,13 +183,13 @@ $lang->doc->noOpenedDoc = "Vous n'avez pas ajouté de documents.";
|
||||
$lang->doc->noCollectedDoc = "Vous avez aucun document dans vos favoris.";
|
||||
$lang->doc->errorEmptyLib = 'No data in document library.';
|
||||
|
||||
$lang->doc->noticeAcl['lib']['product']['default'] = 'Les utilisateurs qui ont accès au Product peuvent y accéder.';
|
||||
$lang->doc->noticeAcl['lib']['product']['custom'] = 'Les utilisateurs qui ont accès au Product ou les utilisateurs de la Liste Blanche peuvent y accéder.';
|
||||
$lang->doc->noticeAcl['lib']['execution']['default'] = 'Les utilisateurs qui ont accès au Projet peuvent y accéder.';
|
||||
$lang->doc->noticeAcl['lib']['execution']['custom'] = 'Les utilisateurs qui ont accès au Projet ou les utilisateurs de la Liste Blanche peuvent y accéder.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['open'] = 'Tous les utilisateurs peuvent y accéder.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['custom'] = 'Les utilisateurs de la Liste Blanche peuvent y accéder.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['private'] = 'Seulement le créateur de la Bibliothèque peut y accéder.';
|
||||
$lang->doc->noticeAcl['lib']['product']['default'] = 'Les utilisateurs qui ont accès au Product peuvent y accéder.';
|
||||
$lang->doc->noticeAcl['lib']['product']['custom'] = 'Les utilisateurs qui ont accès au Product ou les utilisateurs de la Liste Blanche peuvent y accéder.';
|
||||
$lang->doc->noticeAcl['lib']['project']['default'] = 'Les utilisateurs qui ont accès au Projet peuvent y accéder.';
|
||||
$lang->doc->noticeAcl['lib']['project']['custom'] = 'Les utilisateurs qui ont accès au Projet ou les utilisateurs de la Liste Blanche peuvent y accéder.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['open'] = 'Tous les utilisateurs peuvent y accéder.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['custom'] = 'Les utilisateurs de la Liste Blanche peuvent y accéder.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['private'] = 'Seulement le créateur de la Bibliothèque peut y accéder.';
|
||||
|
||||
$lang->doc->noticeAcl['doc']['open'] = 'Les utilisateurs qui ont accès à la Bibliothèque à laquelle le document appartient peuvent y accéder.';
|
||||
$lang->doc->noticeAcl['doc']['custom'] = 'Les utilisateurs de la Liste Blanche peuvent y accéder.';
|
||||
|
||||
@@ -185,8 +185,8 @@ $lang->doc->errorEmptyLib = 'No data in document library.';
|
||||
|
||||
$lang->doc->noticeAcl['lib']['product']['default'] = 'Users who can access the selected product có thể truy cập nó.';
|
||||
$lang->doc->noticeAcl['lib']['product']['custom'] = 'Users who can access the selected product or users in the whiltelist có thể truy cập nó.';
|
||||
$lang->doc->noticeAcl['lib']['execution']['default'] = 'Users who can access the selected execution có thể truy cập nó.';
|
||||
$lang->doc->noticeAcl['lib']['execution']['custom'] = 'Users who can access the selected execution or users in the whiltelist có thể truy cập nó.';
|
||||
$lang->doc->noticeAcl['lib']['project']['default'] = 'Users who can access the selected project có thể truy cập nó.';
|
||||
$lang->doc->noticeAcl['lib']['project']['custom'] = 'Users who can access the selected project or users in the whiltelist có thể truy cập nó.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['open'] = 'Tất cả users có thể truy cập nó.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['custom'] = 'Users in the whitelist có thể truy cập nó.';
|
||||
$lang->doc->noticeAcl['lib']['custom']['private'] = 'Chỉ the one who created it có thể truy cập nó.';
|
||||
|
||||
@@ -187,13 +187,13 @@ $lang->doc->noOpenedDoc = '您还没有创建任何文档。';
|
||||
$lang->doc->noCollectedDoc = '您还没有收藏任何文档。';
|
||||
$lang->doc->errorEmptyLib = '文档库暂无数据。';
|
||||
|
||||
$lang->doc->noticeAcl['lib']['product']['default'] = '有所选产品访问权限的用户可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['product']['custom'] = '有所选产品访问权限或白名单里的用户可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['execution']['default'] = "有所选{$lang->executionCommon}访问权限的用户可以访问。";
|
||||
$lang->doc->noticeAcl['lib']['execution']['custom'] = "有所选{$lang->executionCommon}访问权限或白名单里的用户可以访问。";
|
||||
$lang->doc->noticeAcl['lib']['custom']['open'] = '所有人都可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['custom']['custom'] = '白名单的用户可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['custom']['private'] = '只有创建者自己可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['product']['default'] = '有所选产品访问权限的用户可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['product']['custom'] = '有所选产品访问权限或白名单里的用户可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['project']['default'] = "有所选项目访问权限的用户可以访问。";
|
||||
$lang->doc->noticeAcl['lib']['project']['custom'] = "有所选项目访问权限或白名单里的用户可以访问。";
|
||||
$lang->doc->noticeAcl['lib']['custom']['open'] = '所有人都可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['custom']['custom'] = '白名单的用户可以访问。';
|
||||
$lang->doc->noticeAcl['lib']['custom']['private'] = '只有创建者自己可以访问。';
|
||||
|
||||
$lang->doc->noticeAcl['doc']['open'] = '有文档所属文档库访问权限的,都可以访问。';
|
||||
$lang->doc->noticeAcl['doc']['custom'] = '白名单的用户可以访问。';
|
||||
|
||||
@@ -182,13 +182,13 @@ $lang->doc->noOpenedDoc = '您還沒有創建任何文檔。';
|
||||
$lang->doc->noCollectedDoc = '您還沒有收藏任何文檔。';
|
||||
$lang->doc->errorEmptyLib = '文檔庫暫無數據。';
|
||||
|
||||
$lang->doc->noticeAcl['lib']['product']['default'] = '有所選產品訪問權限的用戶可以訪問。';
|
||||
$lang->doc->noticeAcl['lib']['product']['custom'] = '有所選產品訪問權限或白名單裡的用戶可以訪問。';
|
||||
$lang->doc->noticeAcl['lib']['execution']['default'] = "有所選{$lang->executionCommon}訪問權限的用戶可以訪問。";
|
||||
$lang->doc->noticeAcl['lib']['execution']['custom'] = "有所選{$lang->executionCommon}訪問權限或白名單裡的用戶可以訪問。";
|
||||
$lang->doc->noticeAcl['lib']['custom']['open'] = '所有人都可以訪問。';
|
||||
$lang->doc->noticeAcl['lib']['custom']['custom'] = '白名單的用戶可以訪問。';
|
||||
$lang->doc->noticeAcl['lib']['custom']['private'] = '只有創建者自己可以訪問。';
|
||||
$lang->doc->noticeAcl['lib']['product']['default'] = '有所選產品訪問權限的用戶可以訪問。';
|
||||
$lang->doc->noticeAcl['lib']['product']['custom'] = '有所選產品訪問權限或白名單裡的用戶可以訪問。';
|
||||
$lang->doc->noticeAcl['lib']['project']['default'] = "有所選項目訪問權限的用戶可以訪問。";
|
||||
$lang->doc->noticeAcl['lib']['project']['custom'] = "有所選項目訪問權限或白名單裡的用戶可以訪問。";
|
||||
$lang->doc->noticeAcl['lib']['custom']['open'] = '所有人都可以訪問。';
|
||||
$lang->doc->noticeAcl['lib']['custom']['custom'] = '白名單的用戶可以訪問。';
|
||||
$lang->doc->noticeAcl['lib']['custom']['private'] = '只有創建者自己可以訪問。';
|
||||
|
||||
$lang->doc->noticeAcl['doc']['open'] = '有文檔所屬文檔庫訪問權限的,都可以訪問。';
|
||||
$lang->doc->noticeAcl['doc']['custom'] = '白名單的用戶可以訪問。';
|
||||
|
||||
@@ -1121,7 +1121,12 @@ class docModel extends model
|
||||
{
|
||||
if($type == 'custom' or $type == 'book')
|
||||
{
|
||||
$objectLibs = $this->dao->select('*')->from(TABLE_DOCLIB)->where('deleted')->eq(0)->andWhere('type')->eq($type)->orderBy('`order`, id')->fetchAll('id');
|
||||
$objectLibs = $this->dao->select('*')->from(TABLE_DOCLIB)
|
||||
->where('deleted')->eq(0)
|
||||
->andWhere('type')->eq($type)
|
||||
->beginIF($type == 'custom')->orderBy('`order`, id')->fi()
|
||||
->beginIF($type == 'book')->orderBy('id_desc')->fi()
|
||||
->fetchAll('id');
|
||||
}
|
||||
else if($type != 'product' and $type != 'project' and $type != 'execution')
|
||||
{
|
||||
|
||||
@@ -146,7 +146,7 @@ $projectIDParam = $isProjectStory ? "projectID=$projectID&" : '';
|
||||
<div class='btn-group dropdown'>
|
||||
<?php $buttonType = $from == 'project' ? 'btn-secondary' : 'btn-primary';?>
|
||||
<?php $extraParam = $from == 'project' ? '' : "&bugID=0&planID=0&todoID=0&extra=&type=$storyType";?>
|
||||
<?php echo html::a($this->createLink('story', 'create', "product=$productID&branch=$branch&moduleID=$moduleID&storyID=0&projectID={$this->session->project}$extraParam"), "<i class='icon icon-plus'></i> {$lang->story->create}", '', "class='btn $buttonType' data-app='$openApp'");?>
|
||||
<?php echo html::a($this->createLink('story', 'create', "product=$productID&branch=$branch&moduleID=$moduleID&storyID=0&projectID={$projectID}$extraParam"), "<i class='icon icon-plus'></i> {$lang->story->create}", '', "class='btn $buttonType' data-app='$openApp'");?>
|
||||
<?php if(!empty($productID)): ?>
|
||||
<button type='button' class="btn <?php echo $buttonType?> dropdown-toggle" data-toggle='dropdown'><span class='caret'></span></button>
|
||||
<ul class='dropdown-menu pull-right'>
|
||||
@@ -325,7 +325,6 @@ $projectIDParam = $isProjectStory ? "projectID=$projectID&" : '';
|
||||
<div class='btn-group dropup'>
|
||||
<?php
|
||||
$disabled = $canBatchEdit ? '' : "disabled='disabled'";
|
||||
$projectID = $isProjectStory ? $this->session->project : 0;
|
||||
$actionLink = $this->createLink('story', 'batchEdit', "productID=$productID&projectID=$projectID&branch=$branch&storyType=$storyType");
|
||||
?>
|
||||
<?php echo html::commonButton($lang->edit, "data-form-action='$actionLink' $disabled");?>
|
||||
|
||||
Reference in New Issue
Block a user