Merge branch 'tsj_ui' into 'master'
Tsj ui See merge request easycorp/zentaopms!7084
This commit is contained in:
@@ -8,7 +8,7 @@ if(!isset($config->safe)) $config->safe = new stdclass();
|
||||
if(!isset($config->safe->weak)) $config->safe->weak = '123456,password,12345,12345678,qwerty,123456789,1234,1234567,abc123,111111,123123';
|
||||
|
||||
$config->admin->menuGroup['system'] = array('custom|mode', 'backup', 'cron', 'action|trash', 'admin|xuanxuan', 'setting|xuanxuan', 'admin|license', 'admin|checkweak', 'admin|resetpwdsetting', 'admin|safe', 'custom|timezone', 'search|buildindex', 'admin|tableengine', 'ldap', 'custom|libreoffice', 'conference', 'client');
|
||||
$config->admin->menuGroup['user'] = array('dept', 'company', 'user', 'group');
|
||||
$config->admin->menuGroup['company'] = array('dept', 'company', 'user', 'group', 'tutorial');
|
||||
$config->admin->menuGroup['switch'] = array('admin|setmodule');
|
||||
$config->admin->menuGroup['model'] = array('auditcl', 'stage', 'design', 'cmcl', 'reviewcl', 'custom|required', 'custom|set', 'custom|flow', 'custom|code', 'custom|estimate', 'custom|hours', 'subject', 'process', 'activity', 'zoutput', 'classify', 'holiday', 'reviewsetting');
|
||||
$config->admin->menuGroup['feature'] = array('custom|set', 'custom|product', 'custom|execution', 'custom|required', 'custom|kanban', 'approvalflow', 'measurement', 'meetingroom', 'custom|browsestoryconcept', 'custom|kanban', 'sqlbuilder', 'report');
|
||||
@@ -72,14 +72,14 @@ $config->admin->extAPIURL = $config->admin->apiSite . 'extension-apiGetExte
|
||||
$config->admin->patchAPIURL = $config->admin->apiSite . 'extension-apiGetExtensions-bymodule-MTIxOA==-0-100-1.json';
|
||||
$config->admin->downloadAPIURL = $config->admin->apiSite . 'download.json';
|
||||
$config->admin->videoAPIURL = $config->admin->apiSite . 'publicclass.json';
|
||||
$config->admin->liteMenuList = array('system', 'user', 'feature', 'message', 'extension', 'dev');
|
||||
$config->admin->liteMenuList = array('system', 'company', 'feature', 'message', 'extension', 'dev');
|
||||
|
||||
$config->admin->helpURL['system'] = 'https://www.zentao.net/book/zentaopms/538.html';
|
||||
$config->admin->helpURL['user'] = 'https://www.zentao.net/book/zentaopms/538.html';
|
||||
$config->admin->helpURL['switch'] = 'https://www.zentao.net/book/zentaopms/538.html';
|
||||
$config->admin->helpURL['company'] = 'https://www.zentao.net/book/zentaopms/38.html';
|
||||
$config->admin->helpURL['switch'] = 'https://www.zentao.net/book/zentaopms/38.html';
|
||||
$config->admin->helpURL['model'] = 'https://www.zentao.net/book/zentaopms/533.html';
|
||||
$config->admin->helpURL['feature'] = 'https://www.zentao.net/book/zentaopms/538.html';
|
||||
$config->admin->helpURL['template'] = 'https://www.zentao.net/book/zentaopms/538.html';
|
||||
$config->admin->helpURL['feature'] = 'https://www.zentao.net/book/zentaopms/38.html';
|
||||
$config->admin->helpURL['template'] = 'https://www.zentao.net/book/zentaopms/38.html';
|
||||
$config->admin->helpURL['message'] = 'https://www.zentao.net/book/zentaopms/email-notification-541.html';
|
||||
$config->admin->helpURL['extension'] = 'https://www.zentao.net/book/zentaopms/536.html';
|
||||
$config->admin->helpURL['dev'] = 'https://www.zentao.net/book/zentaopms/537.html';
|
||||
|
||||
@@ -41,7 +41,9 @@
|
||||
.settings-list > .setting-box > button.btn {padding: 5px 10px; height: 100%; width: 100%; display: flex; flex-direction: column; justify-content: space-between; cursor: pointer; white-space: unset; text-align: unset; border: 1px solid rgba(227, 228, 233, 0.6)}
|
||||
.settings-list > .setting-box > .btn:hover {background: unset;}
|
||||
.settings-list > .setting-box > .btn[disabled] {cursor: not-allowed; pointer-events: unset;}
|
||||
.settings-list > .setting-box > .btn[disabled] > a {pointer-events: none;}
|
||||
.settings-list > .setting-box > .btn[disabled] > a,
|
||||
.settings-list > .setting-box > .btn[disabled] a.setting-help,
|
||||
.settings-list > .setting-box > .btn[disabled] p.setting-desc {pointer-events: none;}
|
||||
.settings-list > .setting-box > .btn > h4 {padding-right: 5px;}
|
||||
.settings-list > .setting-box > .btn > h4 > div {gap: 3px;}
|
||||
.settings-list > .setting-box > .btn > h4 > img {padding-right: 8px; padding-bottom: 3px; width: 32px; height: 27px;}
|
||||
|
||||
@@ -186,6 +186,7 @@ $lang->admin->updateDynamics = 'Dynamics';
|
||||
$lang->admin->updatePatch = 'Patch';
|
||||
$lang->admin->upgradeRecommend = 'Recommend Upgrade';
|
||||
$lang->admin->zentaoUsed = 'You have used ZenTao';
|
||||
$lang->admin->noPriv = 'You have no permission to visit this block.';
|
||||
|
||||
$lang->admin->openTag = 'ZenTao Opensource ';
|
||||
$lang->admin->bizTag = 'ZenTao Biz ';
|
||||
|
||||
@@ -186,6 +186,7 @@ $lang->admin->updateDynamics = 'Dynamics';
|
||||
$lang->admin->updatePatch = 'Patch';
|
||||
$lang->admin->upgradeRecommend = 'Recommend Upgrade';
|
||||
$lang->admin->zentaoUsed = 'You have used ZenTao';
|
||||
$lang->admin->noPriv = 'You have no permission to visit this block.';
|
||||
|
||||
$lang->admin->openTag = 'ZenTao Opensource ';
|
||||
$lang->admin->bizTag = 'ZenTao Biz ';
|
||||
|
||||
@@ -186,6 +186,7 @@ $lang->admin->updateDynamics = 'Dynamics';
|
||||
$lang->admin->updatePatch = 'Patch';
|
||||
$lang->admin->upgradeRecommend = 'Recommend Upgrade';
|
||||
$lang->admin->zentaoUsed = 'You have used ZenTao';
|
||||
$lang->admin->noPriv = 'You have no permission to visit this block.';
|
||||
|
||||
$lang->admin->openTag = 'ZenTao Opensource ';
|
||||
$lang->admin->bizTag = 'ZenTao Biz ';
|
||||
|
||||
+16
-15
@@ -10,9 +10,9 @@ $lang->admin->menuList->switch['desc'] = $lang->admin->menuSetting['switch']['d
|
||||
$lang->admin->menuList->switch['link'] = 'admin|setmodule';
|
||||
$lang->admin->menuList->switch['order'] = 10;
|
||||
|
||||
$lang->admin->menuList->user['name'] = $lang->admin->menuSetting['user']['name'];
|
||||
$lang->admin->menuList->user['desc'] = $lang->admin->menuSetting['user']['desc'];
|
||||
$lang->admin->menuList->user['order'] = 15;
|
||||
$lang->admin->menuList->company['name'] = $lang->admin->menuSetting['user']['name'];
|
||||
$lang->admin->menuList->company['desc'] = $lang->admin->menuSetting['user']['desc'];
|
||||
$lang->admin->menuList->company['order'] = 15;
|
||||
|
||||
$lang->admin->menuList->model['name'] = $lang->admin->menuSetting['model']['name'];
|
||||
$lang->admin->menuList->model['desc'] = $lang->admin->menuSetting['model']['desc'];
|
||||
@@ -64,13 +64,13 @@ $lang->admin->menuList->system['menuOrder']['50'] = 'tableengine';
|
||||
|
||||
$lang->admin->menuList->system['dividerMenu'] = ',safe,';
|
||||
|
||||
$lang->admin->menuList->user['subMenu']['dept'] = array('link' => "{$lang->dept->common}|dept|browse|", 'subModule' => 'dept');
|
||||
$lang->admin->menuList->user['subMenu']['user'] = array('link' => "{$lang->user->common}|company|browse|", 'subModule' => 'user');
|
||||
$lang->admin->menuList->user['subMenu']['group'] = array('link' => "{$lang->priv}|group|browse|", 'subModule' => 'group');
|
||||
$lang->admin->menuList->company['subMenu']['dept'] = array('link' => "{$lang->dept->common}|dept|browse|", 'subModule' => 'dept');
|
||||
$lang->admin->menuList->company['subMenu']['browseUser'] = array('link' => "{$lang->user->common}|company|browse|", 'subModule' => 'user,tutorial');
|
||||
$lang->admin->menuList->company['subMenu']['group'] = array('link' => "{$lang->priv}|group|browse|", 'subModule' => 'group');
|
||||
|
||||
$lang->admin->menuList->user['menuOrder']['5'] = 'dept';
|
||||
$lang->admin->menuList->user['menuOrder']['10'] = 'user';
|
||||
$lang->admin->menuList->user['menuOrder']['15'] = 'group';
|
||||
$lang->admin->menuList->company['menuOrder']['5'] = 'dept';
|
||||
$lang->admin->menuList->company['menuOrder']['10'] = 'browseUser';
|
||||
$lang->admin->menuList->company['menuOrder']['15'] = 'group';
|
||||
|
||||
$lang->admin->menuList->model['subMenu']['common'] = array('link' => "{$lang->globalSetting}|custom|required|module=project", 'subModule' => 'custom,subject,holiday,stage', 'exclude' => 'stage-browse,stage-plusbrowse,stage-create,stage-edit,stage-batchcreate');
|
||||
$lang->admin->menuList->model['subMenu']['scrum'] = array('link' => "{$lang->scrumModel}|auditcl|scrumbrowse|", 'subModule' => 'auditcl');
|
||||
@@ -85,21 +85,22 @@ $lang->admin->menuList->model['menuOrder']['20'] = 'agileplus';
|
||||
$lang->admin->menuList->model['menuOrder']['25'] = 'waterfallplus';
|
||||
|
||||
$lang->admin->menuList->model['tabMenu']['common']['project'] = array('link' => "{$lang->project->common}|custom|required|module=project", 'alias' => 'set', 'exclude' => 'custom', 'links' => array('custom|set|module=project&field=unitList'));
|
||||
$lang->admin->menuList->model['tabMenu']['common']['stage'] = array('link' => "{$lang->stage->type}|stage|settype|", 'subModule' => 'stage', 'links' => array('stage|browse|'));
|
||||
if(helper::hasFeature('waterfall') or helper::hasFeature('waterfallplus')) $lang->admin->menuList->model['tabMenu']['common']['stage'] = array('link' => "{$lang->stage->type}|stage|settype|", 'subModule' => 'stage', 'links' => array('stage|browse|'));
|
||||
$lang->admin->menuList->model['tabMenu']['common']['build'] = array('link' => "{$lang->build->common}|custom|required|module=build", 'alias' => 'set', 'exclude' => 'custom');
|
||||
$lang->admin->menuList->model['tabMenu']['common']['flow'] = array('link' => "{$lang->custom->flow}|custom|flow|", 'divider' => true);
|
||||
$lang->admin->menuList->model['tabMenu']['common']['code'] = array('link' => "{$lang->code}|custom|code|");
|
||||
$lang->admin->menuList->model['tabMenu']['common']['hours'] = array('link' => "{$lang->workingHour}|custom|hours|", 'subModule' => 'holiday', 'links' => array('holiday|browse|', 'custom|hours'));
|
||||
$lang->admin->menuList->model['tabMenu']['waterfall']['stage'] = array('link' => "{$lang->stage->list}|stage|browse|", 'subModule' => 'stage', 'exclude' => 'stage-plusbrowse');
|
||||
$lang->admin->menuList->model['tabMenu']['waterfallplus']['stage'] = array('link' => "{$lang->stage->list}|stage|plusbrowse|", 'subModule' => 'stage', 'exclude' => 'stage-browse');
|
||||
if(helper::hasFeature('waterfall')) $lang->admin->menuList->model['tabMenu']['waterfall']['stage'] = array('link' => "{$lang->stage->list}|stage|browse|", 'subModule' => 'stage', 'exclude' => 'stage-plusbrowse');
|
||||
if(helper::hasFeature('waterfallplus')) $lang->admin->menuList->model['tabMenu']['waterfallplus']['stage'] = array('link' => "{$lang->stage->list}|stage|plusbrowse|", 'subModule' => 'stage', 'exclude' => 'stage-browse');
|
||||
|
||||
$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['5'] = 'project';
|
||||
$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['7'] = 'stage';
|
||||
if(helper::hasFeature('waterfall') or helper::hasFeature('waterfallplus')) $lang->admin->menuList->model['tabMenu']['menuOrder']['common']['7'] = 'stage';
|
||||
$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['10'] = 'build';
|
||||
$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['35'] = 'flow';
|
||||
$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['40'] = 'code';
|
||||
$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['45'] = 'hours';
|
||||
$lang->admin->menuList->model['tabMenu']['menuOrder']['waterfall']['5'] = 'stage';
|
||||
$lang->admin->menuList->model['tabMenu']['menuOrder']['waterfallplus']['5'] = 'stage';
|
||||
if(helper::hasFeature('waterfall')) $lang->admin->menuList->model['tabMenu']['menuOrder']['waterfall']['5'] = 'stage';
|
||||
if(helper::hasFeature('waterfallplus')) $lang->admin->menuList->model['tabMenu']['menuOrder']['waterfallplus']['5'] = 'stage';
|
||||
|
||||
$lang->admin->menuList->feature['subMenu']['my'] = array('link' => "{$lang->my->common}|custom|set|module=todo&field=priList", 'exclude' => 'set,required');
|
||||
$lang->admin->menuList->feature['subMenu']['product'] = array('link' => "{$lang->productCommon}|custom|required|module=product", 'exclude' => 'set,required', 'alias' => 'browsestoryconcept,product');
|
||||
|
||||
@@ -186,6 +186,7 @@ $lang->admin->updateDynamics = '更新动态';
|
||||
$lang->admin->updatePatch = '补丁更新';
|
||||
$lang->admin->upgradeRecommend = '推荐升级';
|
||||
$lang->admin->zentaoUsed = '您已使用禅道';
|
||||
$lang->admin->noPriv = '您没有访问该区块的权限。';
|
||||
|
||||
$lang->admin->openTag = '禅道';
|
||||
$lang->admin->bizTag = '禅道企业版';
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<div class="settings-list <?php if($config->vision == 'lite') echo 'lite-setting';?>">
|
||||
<?php foreach($lang->admin->menuList as $menuKey => $menu):?>
|
||||
<?php if($config->vision == 'lite' and !in_array($menuKey, $config->admin->liteMenuList)) continue;?>
|
||||
<div class="setting-box">
|
||||
<div class="setting-box" <?php if($menu['disabled']) echo "title={$lang->admin->noPriv}";?> data-id="<?php echo $menuKey;?>">
|
||||
<button class="btn shadow-primary-hover" <?php if($menu['disabled']) echo 'disabled';?> data-link='<?php echo $menu['link'];?>'>
|
||||
<h4 class="flex align-center w-full">
|
||||
<div class="flex align-center">
|
||||
|
||||
@@ -958,14 +958,21 @@ class customModel extends model
|
||||
foreach($this->config->custom->dataFeatures as $feature)
|
||||
{
|
||||
$function = 'has' . ucfirst($feature) . 'Data';
|
||||
if(!$this->$function()) $disabledFeatures .= "$feature,";
|
||||
if(!$this->$function())
|
||||
{
|
||||
$disabledFeatures .= "$feature,";
|
||||
if(strpos($feature, 'scrum') === 0) $disabledFeatures .= 'agileplus' . substr($feature, 5) . ',';
|
||||
}
|
||||
}
|
||||
$disabledFeatures .= 'scrumMeasrecord,productTrack,productRoadmap';
|
||||
$disabledFeatures .= 'scrumMeasrecord,agileplusMeasrecord,productTrack,productRoadmap';
|
||||
}
|
||||
|
||||
$disabledFeatures = rtrim($disabledFeatures, ',');
|
||||
$this->loadModel('setting')->setItem('system.common.disabledFeatures', $disabledFeatures);
|
||||
|
||||
$URAndSR = strpos(",$disabledFeatures,", ',productUR,') === false ? 1 : 0;
|
||||
$this->setting->setItem('system.custom.URAndSR', $URAndSR);
|
||||
|
||||
$this->processMeasrecordCron();
|
||||
}
|
||||
|
||||
|
||||
@@ -236,7 +236,7 @@ class group extends control
|
||||
}
|
||||
|
||||
$this->lang->custom->common = $this->lang->group->config;
|
||||
if($this->config->edition == 'max' and $this->config->vision == 'rnd' and (!$menu or $menu == 'admin')) $this->lang->baseline->common = $this->lang->group->docTemplate;
|
||||
if($this->config->edition == 'max' and $this->config->vision == 'rnd' and isset($this->lang->baseline)) $this->lang->baseline->common = $this->lang->group->docTemplate;
|
||||
|
||||
$this->view->group = $group;
|
||||
$this->view->changelogs = ',' . join(',', $changelog) . ',';
|
||||
|
||||
@@ -7,3 +7,5 @@
|
||||
.table-import {padding: 6px 5px 5px 5px; }
|
||||
.shadow-sm {box-shadow: 0 1px 1px rgb(0 0 0 / 5%), 0 2px 6px 0 rgb(0 0 0 / 25%)}
|
||||
.flex-center {display: flex; align-items: center; justify-content: center;}
|
||||
.c-desc {width: 280px;}
|
||||
p.c-desc {white-space: nowrap; margin-bottom: 0; text-overflow: clip; overflow: hidden;}
|
||||
|
||||
@@ -36,12 +36,12 @@
|
||||
</div>
|
||||
</div>
|
||||
<table class='table has-sort-head'>
|
||||
<thead class="shadow-sm">
|
||||
<thead <?php if(empty($holidays)) echo 'class="shadow-sm"';?>>
|
||||
<tr>
|
||||
<th class='c-name'><?php echo $lang->holiday->name;?></th>
|
||||
<th class='c-time-limit'><?php echo $lang->holiday->holiday;?></th>
|
||||
<th class='c-status'><?php echo $lang->holiday->type;?></th>
|
||||
<th class='c-object'><?php echo $lang->holiday->desc;?></th>
|
||||
<th class='c-desc'><?php echo $lang->holiday->desc;?></th>
|
||||
<th class='c-actions-2'><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -51,7 +51,7 @@
|
||||
<td><?php echo $holiday->name;?></td>
|
||||
<td><?php echo formatTime($holiday->begin, DT_DATE1) . ' ~ ' . formatTime($holiday->end, DT_DATE1);?></td>
|
||||
<td><?php echo zget($lang->holiday->typeList, $holiday->type);?></td>
|
||||
<td><?php echo $holiday->desc;?></td>
|
||||
<td><p class='c-desc'><?php echo $holiday->desc;?></p></td>
|
||||
<td class=" c-actions">
|
||||
<?php common::printIcon('holiday', 'edit', "id=$holiday->id", $holiday, 'list', '', '', 'iframe', 'yes');?>
|
||||
<?php common::printIcon('holiday', 'delete', "id=$holiday->id", $holiday, 'list', '', 'hiddenwin');?>
|
||||
|
||||
@@ -360,7 +360,13 @@ $(function()
|
||||
else
|
||||
{
|
||||
var menuModule = task.nav.menuModule || task.nav['module'];
|
||||
var $navbar = $$('#navbar');
|
||||
var $navbar = $$('#navbar');
|
||||
var adminMenu = false;
|
||||
if(!$navbar.find('li').length)
|
||||
{
|
||||
adminMenu = true;
|
||||
$navbar = $$('.settings-list');
|
||||
}
|
||||
var $navbarItem = $navbar.find('[data-id="' + menuModule + '"]');
|
||||
var targetPageTip = lang.targetPageTip.replace('%s', task.nav.targetPageName || lang.target);
|
||||
if($navbarItem.length && !$navbarItem.hasClass('active'))
|
||||
@@ -408,6 +414,7 @@ $(function()
|
||||
else
|
||||
{
|
||||
var $modulemenu = $$('#subNavbar');
|
||||
if(adminMenu) $modulemenu = $$('#navbar');
|
||||
var $modulemenuItem = $modulemenu.find('[data-id="' + task.nav.menu + '"]');
|
||||
if($modulemenuItem.length && !$modulemenuItem.hasClass('active'))
|
||||
{
|
||||
|
||||
@@ -37,7 +37,7 @@ $lang->tutorial->tasks = array();
|
||||
|
||||
$lang->tutorial->tasks['createAccount'] = array('title' => '创建帐号');
|
||||
$lang->tutorial->tasks['createAccount']['nav'] = array('app' => 'admin', 'module' => 'user', 'method' => 'create', 'menuModule' => 'company', 'menu' => 'browseUser', 'form' => '#createForm', 'requiredFields' => 'account,realname,verifyPassword,password1,password2', 'submit' => '#submit', 'target' => '.create-user-btn', 'targetPageName' => '添加用户');
|
||||
$lang->tutorial->tasks['createAccount']['desc'] = "<p>在系统创建一个新的用户帐号:</p><ul><li data-target='nav'>打开 <span class='task-nav'>后台 <i class='icon icon-angle-right'></i> 人员 <i class='icon icon-angle-right'></i> 用户 <i class='icon icon-angle-right'></i> 添加用户</span> 页面;</li><li data-target='form'>在添加用户表单中填写新用户信息;</li><li data-target='submit'>保存用户信息。</li></ul>";
|
||||
$lang->tutorial->tasks['createAccount']['desc'] = "<p>在系统创建一个新的用户帐号:</p><ul><li data-target='nav'>打开 <span class='task-nav'>后台 <i class='icon icon-angle-right'></i> 人员管理 <i class='icon icon-angle-right'></i> 用户 <i class='icon icon-angle-right'></i> 添加用户</span> 页面;</li><li data-target='form'>在添加用户表单中填写新用户信息;</li><li data-target='submit'>保存用户信息。</li></ul>";
|
||||
|
||||
$lang->tutorial->tasks['createProgram'] = array('title' => '创建项目集');
|
||||
$lang->tutorial->tasks['createProgram']['nav'] = array('app' => 'program', 'module' => 'program', 'method' => 'create', 'menuModule' => 'program', 'menu' => '#heading>.header-btn:first,#navbar>.nav>li[data-id="browse"],.create-program-btn', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-program-btn', 'targetPageName' => '添加项目集');
|
||||
|
||||
@@ -94,8 +94,8 @@ $lang->upgrade->productCount = "%s个{$lang->productCommon}";
|
||||
$lang->upgrade->projectCount = "%s个{$lang->projectCommon}";
|
||||
$lang->upgrade->mergeByProject = "当前提供如下2种数据迁移方式,如果历史的{$lang->projectCommon}都是长周期的,那么我们建议把历史的{$lang->projectCommon}作为项目升级。</br>如果历史的{$lang->projectCommon}都是短周期的,那么我们建议把历史的{$lang->projectCommon}作为{$lang->executionCommon}升级。";
|
||||
$lang->upgrade->mergeRepoTips = "将选中的版本库归并到所选产品下。";
|
||||
$lang->upgrade->needBuild4Add = '本次升级需要创建索引。请到 [后台->系统->重建索引] 页面,重新创建索引。';
|
||||
$lang->upgrade->needChangeEngine = '本次升级需要更换表引擎, [后台->系统->表引擎] 页面更换引擎。';
|
||||
$lang->upgrade->needBuild4Add = '本次升级需要创建索引。请到 [后台->系统设置->重建索引] 页面,重新创建索引。';
|
||||
$lang->upgrade->needChangeEngine = '本次升级需要更换表引擎, [后台->系统设置->表引擎] 页面更换引擎。';
|
||||
$lang->upgrade->errorEngineInnodb = '您当前的数据库不支持使用InnoDB数据表引擎,请修改为MyISAM后重试。';
|
||||
$lang->upgrade->duplicateProject = "同一个项目集内项目名称不能重复,请调整重名的项目名称";
|
||||
$lang->upgrade->upgradeTips = "历史删除数据不参与升级,升级后将不支持还原,请知悉";
|
||||
@@ -138,4 +138,4 @@ $lang->upgrade->recoveryActions->cancel = '取消';
|
||||
$lang->upgrade->recoveryActions->review = '评审';
|
||||
|
||||
$lang->upgrade->remark = '备注';
|
||||
$lang->upgrade->remarkDesc = '后续您还可以在禅道的后台-系统-模式中进行切换。';
|
||||
$lang->upgrade->remarkDesc = '后续您还可以在禅道的后台-系统设置-模式中进行切换。';
|
||||
|
||||
Reference in New Issue
Block a user