163 lines
5 KiB
PHP
163 lines
5 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
/**
|
|
* The set module view file of admin module of ZenTaoPMS.
|
|
* @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
|
|
* @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
|
|
* @author Gang Liu <liugang@easycorp.ltd>
|
|
* @package admin
|
|
* @link https://www.zentao.net
|
|
*/
|
|
namespace zin;
|
|
|
|
global $app;
|
|
$app->loadLang('project');
|
|
jsVar('confirmDisableStoryType', $lang->admin->notice->confirmDisableStoryType);
|
|
jsVar('edition', $config->edition);
|
|
jsVar('enableER', $config->enableER);
|
|
jsVar('URAndSR', $config->URAndSR);
|
|
jsVar('ERCommon', $lang->ERCommon);
|
|
jsVar('URCommon', $lang->URCommon);
|
|
jsVar('changeLang', $lang->admin->setModule->change);
|
|
jsVar('deliverableLang', $lang->admin->setModule->deliverable);
|
|
jsVar('cmLang', $lang->admin->setModule->cm);
|
|
jsVar('openDependFeature', $lang->admin->notice->openDependFeature);
|
|
jsVar('closeDependFeature', $lang->admin->notice->closeDependFeature);
|
|
|
|
if(strpos(",$disabledFeatures,", ",productUR,") !== false) $disabledFeatures .= ',productER';
|
|
if($config->systemMode != 'ALM' && $config->systemMode != 'PLM') $disabledFeatures .= ',otherProgram';
|
|
if(!empty($config->hiddenFeature)) $disabledFeatures .= ',' . implode(',', $config->hiddenFeature);
|
|
|
|
$isEn = $app->getClientLang() == 'en';
|
|
|
|
$rows = array();
|
|
foreach($config->featureGroup as $group => $features)
|
|
{
|
|
if(strpos(",$disabledFeatures,", ",$group,") !== false) continue;
|
|
|
|
$hasData = false;
|
|
foreach($features as $feature)
|
|
{
|
|
$code = $group . ucfirst($feature);
|
|
if(strpos(",$disabledFeatures,", ",$code,") !== false) continue;
|
|
$hasData = true;
|
|
}
|
|
|
|
if($hasData)
|
|
{
|
|
$items = array();
|
|
foreach($features as $feature)
|
|
{
|
|
$code = $group . ucfirst($feature);
|
|
if(strpos(",$disabledFeatures,", ",$code,") !== false) continue;
|
|
|
|
$value = strpos(",$closedFeatures,", ",$code,") === false ? '1' : '0';
|
|
if($code == 'myScore') $value = $useScore ? 1 : 0;
|
|
|
|
$items[] = checkbox
|
|
(
|
|
setID("module{$code}"),
|
|
set::rootClass('w-40'),
|
|
set::name("module[{$code}]"),
|
|
set::value(1),
|
|
set::checked($value == 1),
|
|
on::change('checkModule'),
|
|
$lang->admin->setModule->{$feature}
|
|
);
|
|
|
|
$items[] = input
|
|
(
|
|
setID("module{$code}"),
|
|
set::type('hidden'),
|
|
set::name("module[{$code}]"),
|
|
set::value($value)
|
|
);
|
|
}
|
|
$rows[] = h::tr
|
|
(
|
|
setClass('border-t', !empty($config->hiddenGroup) && in_array($group, $config->hiddenGroup) ? 'hidden' : ''),
|
|
h::td
|
|
(
|
|
setClass('p-2.5'),
|
|
checkbox
|
|
(
|
|
setID("allChecker{$group}"),
|
|
set::name("allChecker[$group]"),
|
|
on::change('checkGroup'),
|
|
$lang->admin->setModule->{$group}
|
|
)
|
|
),
|
|
h::td
|
|
(
|
|
setClass('flex flex-wrap p-2.5 border-l'),
|
|
$items
|
|
)
|
|
);
|
|
}
|
|
}
|
|
|
|
formPanel
|
|
(
|
|
set::id('setModuleForm'),
|
|
set::title($lang->admin->setModuleIndex),
|
|
set::actions(false),
|
|
set::ajax(array('beforeSubmit' => jsRaw("submitForm"))),
|
|
h::table
|
|
(
|
|
setClass('border w-full'),
|
|
h::thead
|
|
(
|
|
h::tr
|
|
(
|
|
h::th
|
|
(
|
|
setClass('text-md p-2.5'),
|
|
setStyle(array('width' => $isEn ? '140px' : '100px')),
|
|
$lang->admin->setModule->module
|
|
),
|
|
h::th
|
|
(
|
|
setClass('text-md p-2.5 border-l'),
|
|
$lang->admin->setModule->optional
|
|
)
|
|
)
|
|
),
|
|
h::tbody
|
|
(
|
|
$rows,
|
|
h::tr
|
|
(
|
|
setClass('border-t'),
|
|
h::td
|
|
(
|
|
setClass('p-2.5'),
|
|
checkbox
|
|
(
|
|
setID('allCheckeer'),
|
|
on::change('checkAll'),
|
|
$lang->selectAll
|
|
)
|
|
),
|
|
h::td
|
|
(
|
|
setClass('form-actions inline-flex gap-4 p-2.5 border-l'),
|
|
button
|
|
(
|
|
setClass('btn primary'),
|
|
set::type('submit'),
|
|
$lang->save
|
|
),
|
|
button
|
|
(
|
|
setClass('btn open-url'),
|
|
setData(array('back' => 'APP')),
|
|
$lang->goback
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
);
|
|
|
|
render();
|