Merge branch 'tsj_fixbug' into 'master'

Tsj fixbug

See merge request easycorp/zentaopms!7167
This commit is contained in:
王怡栋
2023-03-10 03:17:29 +00:00
25 changed files with 70 additions and 47 deletions
+5 -1
View File
@@ -343,7 +343,11 @@ class adminModel extends model
$this->loadModel('mail');
if(!$this->config->mail->turnon and !$this->session->mailConfig) $subMenu['link'] = $this->lang->mail->common . '|mail|detect|';
}
if($menuKey == 'dev' and $subMenuKey == 'editor' and !empty($this->config->global->editor)) $subMenu['link'] = $this->lang->editor->common . '|editor|index|';
if($menuKey == 'dev' and $subMenuKey == 'editor')
{
if(!empty($this->config->global->editor)) $subMenu['link'] = $this->lang->editor->common . '|editor|index|';
if(empty($this->config->global->editor) and !$this->app->user->admin) continue;
}
$link = array();
if(isset($menu['tabMenu'][$subMenuKey]))
+1 -1
View File
@@ -45,7 +45,7 @@
$viewLink = $this->createLink('execution', 'task', 'executionID=' . $execution->id);
?>
<tr <?php echo $appid?>>
<td class='c-name text-left' title='<?php echo $execution->name;?>'><nobr><?php echo html::a($viewLink, $execution->name, '', "title='$execution->name'");?></nobr></td>
<td class='c-name text-left' title='<?php echo $execution->name;?>'><nobr><?php echo html::a($viewLink, $execution->name, '', "title='$execution->name' class='text-primary'");?></nobr></td>
<td class="c-date"><?php echo $execution->end;?></td>
<?php if($longBlock):?>
<td class="w-70px">
+1 -1
View File
@@ -202,4 +202,4 @@ $lang->dev->projectMenu['waterfall'] = "Waterfall / Waterfall + {$lang->proj
$lang->dev->projectMenu['kanbanProject'] = "Kanban {$lang->projectCommon}";
if($config->vision == 'lite') $lang->dev->projectMenu['kanbanProject'] = $lang->projectCommon;
$this->lang->dev->replaceLable['project-execution'] = "{$lang->executionCommon} / Stage";
if($config->vision == 'rnd') $this->lang->dev->replaceLable['project-execution'] = "{$lang->executionCommon} / Stage";
+1 -1
View File
@@ -202,4 +202,4 @@ $lang->dev->projectMenu['waterfall'] = "Waterfall / Waterfall + {$lang->proj
$lang->dev->projectMenu['kanbanProject'] = "Kanban {$lang->projectCommon}";
if($config->vision == 'lite') $lang->dev->projectMenu['kanbanProject'] = $lang->projectCommon;
$this->lang->dev->replaceLable['project-execution'] = "{$lang->executionCommon} / Stage";
if($config->vision == 'rnd') $this->lang->dev->replaceLable['project-execution'] = "{$lang->executionCommon} / Stage";
+1 -1
View File
@@ -202,4 +202,4 @@ $lang->dev->projectMenu['waterfall'] = "Waterfall / Waterfall + {$lang->proj
$lang->dev->projectMenu['kanbanProject'] = "Kanban {$lang->projectCommon}";
if($config->vision == 'lite') $lang->dev->projectMenu['kanbanProject'] = $lang->projectCommon;
$this->lang->dev->replaceLable['project-execution'] = "{$lang->executionCommon} / Stage";
if($config->vision == 'rnd') $this->lang->dev->replaceLable['project-execution'] = "{$lang->executionCommon} / Stage";
+1 -1
View File
@@ -205,4 +205,4 @@ $lang->dev->projectMenu['waterfall'] = "瀑布 / 融合瀑布{$lang->project
$lang->dev->projectMenu['kanbanProject'] = "看板{$lang->projectCommon}";
if($config->vision == 'lite') $lang->dev->projectMenu['kanbanProject'] = $lang->projectCommon;
$this->lang->dev->replaceLable['project-execution'] = "{$lang->executionCommon} / 阶段";
if($config->vision == 'rnd') $this->lang->dev->replaceLable['project-execution'] = "{$lang->executionCommon} / 阶段";
+2 -2
View File
@@ -536,13 +536,13 @@ class devModel extends model
break;
}
foreach($customeds as $type => $customed)
foreach($customeds as $customType => $customed)
{
if(is_array($customed))
{
foreach($customed as $row)
{
$langKey = $type == 'featureBar' ? "featureBar-{$method}_" : $row->section . '_';
$langKey = $customType == 'featureBar' ? "featureBar-{$method}_" : $row->section . '_';
$rowKey = $row->key;
$customedLangs[$langKey . $rowKey] = $row->value;
}
+3 -2
View File
@@ -1,6 +1,7 @@
body{padding-bottom:0px;background-color:#fff;}
body {padding-bottom:0px;background-color:#fff;}
.expandable > ul {display: none!important}
.collapsable > ul {display: block!important}
.tree li:before {margin-right: 4px;}
.tree li>a{display:inline;}
.tree li > a{display:inline;}
.main-content{padding: 0px; padding-top: 20px;}
#extendTree li a {white-space: nowrap;}
+3 -2
View File
@@ -3,5 +3,6 @@ table tr > td:first-child {padding-left: 0;}
table tr > td:last-child {padding-right: 0;}
.modulegroup {font-weight:bold; padding-top:8px; border-top:1px solid #ddd;}
td.w-200px a:hover {font-weight:bold;}
.w-350px{width:350px;}
.module-col{padding-bottom:30px;}
.w-350px {width:350px;}
.module-col {padding-bottom:30px;}
.with-list a {white-space: nowrap;}
+8 -8
View File
@@ -1,12 +1,12 @@
$(function()
{
var showHeight = $('#main').height() - $('#mainMenu').height() - 40;
$('#editWin').height(showHeight);
$('#extendWin').height(showHeight);
var showHeight = $('#main').height() - $('#mainMenu').height() - 40;
$('#editWin').height(showHeight);
$('#extendWin').height(showHeight);
$('.side-col a').click(function()
{
$('.side-col a.active').removeClass('active');
$(this).addClass('active');
});
$('.side-col a').click(function()
{
$(this).closest('.side-col').find('a.text-primary').removeClass('text-primary');
$(this).addClass('text-primary');
});
});
+13
View File
@@ -38,6 +38,19 @@ $(function()
$this.addClass('expandable-hitarea').removeClass('collapsable-hitarea');
}
});
$('.has-list a').on('click', function()
{
$('.has-list a.text-primary').removeClass('text-primary active');
$(this).addClass('text-primary active');
}).on('mouseover', function()
{
$('.has-list a:not(.active)').removeClass('text-primary');
$(this).addClass('text-primary');
}).on('mouseout', function()
{
if(!$(this).hasClass('active')) $(this).removeClass('text-primary');
});
});
</script>
<iframe frameborder='0' name='hiddenwin' id='hiddenwin' scrolling='no' class='hidden'></iframe>
+2 -2
View File
@@ -156,7 +156,7 @@
<div class='table-col'>
<?php $hasBranch = $product->type != 'normal' and isset($branchGroups[$product->id]);?>
<div class='input-group <?php if($hasBranch) echo ' has-branch';?>'>
<span class='input-group-addon'><?php echo $lang->product->common;?></span>
<span class='input-group-addon'><?php echo $lang->productCommon;?></span>
<?php $disabled = ($isStage and !$project->division) ? "disabled='disabled'" : '';?>
<?php echo html::select("products[$i]", $allProducts, $product->id, "class='form-control chosen' $disabled onchange='loadBranches(this)' data-last='" . $product->id . "' data-type='" . $product->type . "'");?>
<?php if($isStage and !$project->division) echo html::hidden("products[$i]", $product->id);?>
@@ -209,7 +209,7 @@
<div class='table-row'>
<div class='table-col'>
<div class='input-group'>
<span class='input-group-addon'><?php echo $lang->product->common;?></span>
<span class='input-group-addon'><?php echo $lang->productCommon;?></span>
<?php echo html::select("products[0]", $allProducts, '', "class='form-control chosen' onchange='loadBranches(this)'");?>
</div>
</div>
+3 -3
View File
@@ -170,7 +170,7 @@
<div class='table-col'>
<?php $hasBranch = $product->type != 'normal' and isset($branchGroups[$product->id]);?>
<div class='input-group <?php if($hasBranch) echo ' has-branch';?>'>
<span class='input-group-addon'><?php echo $lang->product->common;?></span>
<span class='input-group-addon'><?php echo $lang->productCommon;?></span>
<?php $disabled = ($execution->type == 'stage' and !$execution->division) ? "disabled='disabled'" : '';?>
<?php echo html::select("products[$i]", $allProducts, $product->id, "class='form-control chosen' $disabled onchange='loadBranches(this)' data-last='" . $product->id . "' data-type='" . $product->type . "'");?>
<?php if($execution->type == 'stage' and !$execution->division) echo html::hidden("products[$i]", $product->id);?>
@@ -221,7 +221,7 @@
<div class='table-row'>
<div class='table-col'>
<div class='input-group'>
<span class='input-group-addon'><?php echo $lang->product->common;?></span>
<span class='input-group-addon'><?php echo $lang->productCommon;?></span>
<?php echo html::select("products[0]", $allProducts, '', "class='form-control chosen' onchange='loadBranches(this)'");?>
</div>
</div>
@@ -261,7 +261,7 @@
<div class='table-col'>
<?php $hasBranch = $product->type != 'normal' and isset($branchGroups[$product->id]);?>
<div class='input-group <?php if($hasBranch) echo ' has-branch';?>'>
<span class='input-group-addon'><?php echo $lang->product->common;?></span>
<span class='input-group-addon'><?php echo $lang->productCommon;?></span>
<?php $disabled = ($project->model == 'waterfall' or $project->model == 'waterfallplus') ? "disabled='disabled'" : '';?>
<?php echo html::select("products[$i]", $allProducts, $product->id, "class='form-control chosen' $disabled onchange='loadBranches(this)' data-last='" . $product->id . "' data-type='" . $product->type . "'");?>
<?php if($execution->type == 'stage' and !$project->division) echo html::hidden("products[$i]", $product->id);?>
+10 -10
View File
@@ -97,13 +97,13 @@ $dataType = '';
<td style='padding-left:15px;'>
<table class='table-1'>
<tr>
<td><span><input type="checkbox" name="story<?php echo $content->id?>[]" value="developing" <?php echo $content->stage == 'developing' ? "checked" : ''?> id="story3developing"><label for="story3developing"> <?php echo $lang->story->stageList['developing']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $content->id?>[]" value="developed" <?php echo $content->stage == 'developed' ? "checked" : ''?> id="story3developed"><label for="story3developed"> <?php echo $lang->story->stageList['developed']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $content->id?>[]" value="testing" <?php echo $content->stage == 'testing' ? "checked" : ''?> id="story3testing"><label for="story3testing"> <?php echo $lang->story->stageList['testing']?></label></span><br /></td>
<td><span><input type="checkbox" name="story<?php echo $content->id?>[]" value="developing" <?php echo $content->stage == 'developing' ? "checked" : ''?> id="story<?php echo $content->id;?>developing"><label for="story<?php echo $content->id;?>developing"> <?php echo $lang->story->stageList['developing']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $content->id?>[]" value="developed" <?php echo $content->stage == 'developed' ? "checked" : ''?> id="story<?php echo $content->id;?>developed"><label for="story<?php echo $content->id;?>developed"> <?php echo $lang->story->stageList['developed']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $content->id?>[]" value="testing" <?php echo $content->stage == 'testing' ? "checked" : ''?> id="story<?php echo $content->id;?>testing"><label for="story<?php echo $content->id;?>testing"> <?php echo $lang->story->stageList['testing']?></label></span><br /></td>
</tr>
<tr>
<td><span><input type="checkbox" name="story<?php echo $content->id?>[]" value="tested" <?php echo $content->stage == 'tested' ? "checked" : ''?> id="story3tested"><label for="story3tested"> <?php echo $lang->story->stageList['tested']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $content->id?>[]" value="verified" <?php echo $content->stage == 'verified' ? "checked" : ''?> id="story3verified"><label for="story3verified"> <?php echo $lang->story->stageList['verified']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $content->id?>[]" value="tested" <?php echo $content->stage == 'tested' ? "checked" : ''?> id="story<?php echo $content->id;?>tested"><label for="story<?php echo $content->id;?>tested"> <?php echo $lang->story->stageList['tested']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $content->id?>[]" value="verified" <?php echo $content->stage == 'verified' ? "checked" : ''?> id="story<?php echo $content->id;?>verified"><label for="story<?php echo $content->id;?>verified"> <?php echo $lang->story->stageList['verified']?></label></span></td>
<td></td>
</tr>
</table>
@@ -171,13 +171,13 @@ $dataType = '';
<td style='padding-left:15px;'>
<table class='table-1'>
<tr>
<td><span><input type="checkbox" name="story<?php echo $i?>[]" value="developing" id="story3developing"><label for="story3developing"> <?php echo $lang->story->stageList['developing']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $i?>[]" value="developed" id="story3developed"><label for="story3developed"> <?php echo $lang->story->stageList['developed']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $i?>[]" value="testing" id="story3testing"><label for="story3testing"> <?php echo $lang->story->stageList['testing']?></label></span><br /></td>
<td><span><input type="checkbox" name="story<?php echo $i?>[]" value="developing" id="story<?php echo $content->id;?>developing"><label for="story<?php echo $content->id;?>developing"> <?php echo $lang->story->stageList['developing']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $i?>[]" value="developed" id="story<?php echo $content->id;?>developed"><label for="story<?php echo $content->id;?>developed"> <?php echo $lang->story->stageList['developed']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $i?>[]" value="testing" id="story<?php echo $content->id;?>testing"><label for="story<?php echo $content->id;?>testing"> <?php echo $lang->story->stageList['testing']?></label></span><br /></td>
</tr>
<tr>
<td><span><input type="checkbox" name="story<?php echo $i?>[]" value="tested" id="story3tested"><label for="story3tested"> <?php echo $lang->story->stageList['tested']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $i?>[]" value="verified" id="story3verified"><label for="story3verified"> <?php echo $lang->story->stageList['verified']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $i?>[]" value="tested" id="story<?php echo $content->id;?>tested"><label for="story<?php echo $content->id;?>tested"> <?php echo $lang->story->stageList['tested']?></label></span></td>
<td><span><input type="checkbox" name="story<?php echo $i?>[]" value="verified" id="story<?php echo $content->id;?>verified"><label for="story<?php echo $content->id;?>verified"> <?php echo $lang->story->stageList['verified']?></label></span></td>
<td></td>
</tr>
</table>
+1 -1
View File
@@ -31,7 +31,7 @@
<tr>
<th class='c-issue'><?php echo $lang->gitlab->gitlabIssue;?></th>
<th class='c-type'><?php echo $lang->gitlab->objectType;?></th>
<th class='c-product'><?php echo $lang->product->common;?></th>
<th class='c-product'><?php echo $lang->productCommon;?></th>
<th class='c-execution'><?php echo $lang->execution->common;?></th>
</tr>
</thead>
+2 -2
View File
@@ -1305,8 +1305,8 @@ class product extends control
$actionURL = $this->createLink('product', 'all', "browseType=bySearch&orderBy=order_asc&queryID=myQueryID");
$this->product->buildProductSearchForm($param, $actionURL);
$this->view->title = $this->lang->product->common;
$this->view->position[] = $this->lang->product->common;
$this->view->title = $this->lang->productCommon;
$this->view->position[] = $this->lang->productCommon;
$this->view->recTotal = $pager->recTotal;
$this->view->productStats = $productStats;
+1 -1
View File
@@ -661,7 +661,7 @@ class productModel extends model
if($currentModule == 'bug' and $currentMethod == 'edit') $currentMethod = 'browse';
if($currentMethod == 'report') $currentMethod = 'browse';
$currentProductName = $this->lang->product->common;
$currentProductName = $this->lang->productCommon;
if($productID)
{
$currentProduct = $this->getById($productID);
+2 -2
View File
@@ -156,7 +156,7 @@
<div class='table-col'>
<?php $hasBranch = $product->type != 'normal' and isset($branchGroups[$product->id]);?>
<div class='input-group required <?php if($hasBranch) echo ' has-branch';?>'>
<span class='input-group-addon'><?php echo $lang->product->common;?></span>
<span class='input-group-addon'><?php echo $lang->productCommon;?></span>
<?php echo html::select("products[$i]", $allProducts, $product->id, "class='form-control chosen' onchange='loadBranches(this)' data-last='" . $product->id . "' data-type='" . $product->type . "'");?>
</div>
</div>
@@ -193,7 +193,7 @@
<div class='table-row'>
<div class='table-col'>
<div class='input-group required'>
<span class='input-group-addon'><?php echo $lang->product->common;?></span>
<span class='input-group-addon'><?php echo $lang->productCommon;?></span>
<?php echo html::select("products[0]", $allProducts, '', "class='form-control chosen' onchange='loadBranches(this)'");?>
<?php if(common::hasPriv('product', 'create')):?>
<span class='input-group-addon newProduct'>
+1 -1
View File
@@ -158,7 +158,7 @@
<div class='table-col'>
<?php $hasBranch = $product->type != 'normal' and isset($branchGroups[$product->id]);?>
<div class='input-group <?php if($hasBranch) echo ' has-branch';?>'>
<span class='input-group-addon'><?php echo $lang->product->common;?></span>
<span class='input-group-addon'><?php echo $lang->productCommon;?></span>
<?php echo html::select("products[$i]", $allProducts, $product->id, "class='form-control chosen' onchange='loadBranches(this)' data-last='" . $product->id . "' data-type='" . $product->type . "'");?>
</div>
</div>
+1 -1
View File
@@ -199,7 +199,7 @@ class upgrade extends control
$this->locate(inlink('afterExec', "fromVersion=$fromVersion"));
}
$this->view->result = 'fail';
$this->view->result = 'sqlFail';
$this->view->errors = $this->upgrade->getError();
$this->display();
}
+2 -1
View File
@@ -52,7 +52,8 @@ $lang->upgrade->upgradingTips = 'The upgrade is in progress, please be patient.
$lang->upgrade->forbiddenExt = 'Die Erweiterung ist nicht kompatibel mit der Upgradeversion. Sie wurde deaktiviert:';
$lang->upgrade->updateFile = 'Updateinformation wurden hinzugefügt.';
$lang->upgrade->noticeSQL = 'Your database is inconsistent with the standard and it failed to fix it. Please run the following SQL and refresh.';
$lang->upgrade->afterDeleted = 'File is not deleted. Please refresh after you delete it.';
$lang->upgrade->afterExec = 'Please modify the database manually according to the above error information, and refresh after the modification!';
$lang->upgrade->afterExec = 'Please manually modify the database according to the above error information, and refresh after modifiy!';
$lang->upgrade->mergeProgram = 'Data Merge';
$lang->upgrade->mergeTips = 'Data Migration Tips';
$lang->upgrade->toPMS15Guide = 'ZenTao open source version 15 upgrade';
+1
View File
@@ -53,6 +53,7 @@ $lang->upgrade->forbiddenExt = 'The extension is incompatible with the version
$lang->upgrade->updateFile = 'File information has to be updated.';
$lang->upgrade->noticeSQL = 'Your database is inconsistent with the standard and it failed to fix it. Please run the following SQL and refresh.';
$lang->upgrade->afterDeleted = 'Please execute commands to delete the files. Please refresh after you delete them.';
$lang->upgrade->afterExec = 'Please modify the database manually according to the above error information, and refresh after the modification!';
$lang->upgrade->mergeProgram = 'Data Merge';
$lang->upgrade->mergeTips = 'Data Migration Tips';
$lang->upgrade->toPMS15Guide = 'ZenTao open source version 15 upgrade';
+1
View File
@@ -53,6 +53,7 @@ $lang->upgrade->forbiddenExt = 'Cette extension est incompatible avec la versi
$lang->upgrade->updateFile = "Le fichier information a besoin d'une mise à jour.";
$lang->upgrade->noticeSQL = 'Votre base de donnée est inconsistente avec le standard et il y a eu un échec pour la corriger. Exécutez la commande SQL suivante et rafraichissez.';
$lang->upgrade->afterDeleted = "Le fichier n'est pas supprimé. Recommencez après l'avoir supprimé.";
$lang->upgrade->afterExec = 'Please modify the database manually according to the above error information, and refresh after the modification!';
$lang->upgrade->mergeProgram = 'Data Merge';
$lang->upgrade->mergeTips = 'Data Migration Tips';
$lang->upgrade->toPMS15Guide = 'ZenTao open source version 15 upgrade';
+1
View File
@@ -53,6 +53,7 @@ $lang->upgrade->forbiddenExt = '以下插件与新版本不兼容,已经自
$lang->upgrade->updateFile = '需要更新附件信息。';
$lang->upgrade->noticeSQL = '检查到你的数据库跟标准不一致,尝试修复失败。请执行以下SQL语句,再刷新页面检查。';
$lang->upgrade->afterDeleted = '请执行上面命令删除文件, 删除后刷新!';
$lang->upgrade->afterExec = '请根据以上报错信息手动修改数据库,修改后刷新!';
$lang->upgrade->mergeProgram = '数据迁移';
$lang->upgrade->mergeTips = '数据迁移提示';
$lang->upgrade->toPMS15Guide = '禅道开源版15版本升级';
+3 -3
View File
@@ -16,13 +16,13 @@
<strong><?php echo $lang->upgrade->result;?></strong>
</div>
<div class='modal-body'>
<?php if($result == 'fail'):?>
<?php if(in_array($result, array('fail', 'sqlFail'))):?>
<div class='alert alert-danger mgb-10'><strong><?php echo $lang->upgrade->fail?></strong></div>
<?php echo html::textarea('errors', join("\n", $errors), "rows='10' class='form-control' readonly");?>
<?php endif;?>
</div>
<?php if($result == 'fail'):?>
<div class='modal-footer text-left'><?php echo $lang->upgrade->afterDeleted;?> <?php echo html::a('#', $this->lang->refresh, '', "class='btn btn-sm' onclick='refreshPage(this)'");?></div>
<?php if(in_array($result, array('fail', 'sqlFail'))):?>
<div class='modal-footer text-left'><?php echo $result == 'sqlFail' ? $lang->upgrade->afterExec : $lang->upgrade->afterDeleted;?> <?php echo html::a('#', $this->lang->refresh, '', "class='btn btn-sm' onclick='refreshPage(this)'");?></div>
<?php endif;?>
</div>
</div>