Files
EasySoft-ZenTaoPMS/module/convert/ui/mapjira2zentao.html.php
T

166 lines
4.3 KiB
PHP

<?php
declare(strict_types=1);
/**
* The map jira to zentao view file of convert 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 convert
* @link https://www.zentao.net
*/
namespace zin;
$items = array();
foreach($lang->convert->jira->steps as $key => $label)
{
$items[] = (object)array('text' => $label, 'active' => $key == $step);
}
div
(
setClass('main-header relative center size-lg mx-auto my-4'),
setStyle(array('max-width' => 'var(--zt-page-form-max-width)')),
div
(
setClass('absolute left-0'),
$lang->convert->jira->mapJira2Zentao
),
navigator
(
set::items($items)
),
);
$buildHeader = function(string $label, int $count = 2): h
{
return div
(
setClass("flex justify-center text-md font-bold w-1/{$count}"),
$label
);
};
$buildJira = function(string $name, int $count, string $label, int $value): h
{
return div
(
setClass("flex justify-center w-1/{$count}"),
$label,
input
(
set::type('hidden'),
set::name("{$name}[]"),
set::value($value)
)
);
};
$buildZenTao = function(string $name, int $count, array $items): h
{
return div
(
setClass("ml-4 w-1/{$count}"),
picker
(
set::name("{$name}[]"),
set::items($items)
)
);
};
$rows = array();
if($step == 1)
{
$rows[] = formRow
(
$buildHeader($lang->convert->jira->jiraObject),
$buildHeader($lang->convert->jira->zentaoObject)
);
foreach($issueTypeList as $id => $issueType)
{
$value = $method == 'db' ? $issueType->pname : $issueType['name'];
$rows[] = formRow
(
$buildJira('jiraObject', 2, $value, $id),
$buildZenTao('zentaoObject', 2, $lang->convert->jira->zentaoObjectList)
);
}
}
if($step == 2)
{
$rows[] = formRow
(
$buildHeader($lang->convert->jira->jiraLinkType),
$buildHeader($lang->convert->jira->zentaoLinkType)
);
foreach($linkTypeList as $id => $linkType)
{
$value = $method == 'db' ? $linkType->linkname : $linkType['linkname'];
$rows[] = formRow
(
$buildJira('jiraLinkType', 2, $value, $id),
$buildZenTao('zentaoLinkType', 2, $lang->convert->jira->zentaoLinkTypeList)
);
}
}
if($step == 3)
{
$rows[] = formRow
(
$buildHeader($lang->convert->jira->jiraResolution, 3),
$buildHeader($lang->convert->jira->zentaoResolution, 3),
$buildHeader($lang->convert->jira->zentaoReason, 3)
);
foreach($resolutionList as $id => $resolution)
{
$value = $method == 'db' ? $resolution->pname : $resolution['name'];
$rows[] = formRow
(
$buildJira('jiraResolution', 3, $value, $id),
$buildZenTao('zentaoResolution', 3, $lang->bug->resolutionList),
$buildZenTao('zentaoReason', 3, $lang->story->reasonList)
);
}
}
if($step == 4)
{
$rows[] = formRow
(
$buildHeader($lang->convert->jira->jiraStatus, 5),
$buildHeader($lang->convert->jira->storyStatus, 5),
$buildHeader($lang->convert->jira->storyStage, 5),
$buildHeader($lang->convert->jira->taskStatus, 5),
$buildHeader($lang->convert->jira->bugStatus, 5)
);
foreach($statusList as $id => $status)
{
$value = $method == 'db' ? $status->pname : $status['name'];
$rows[] = formRow
(
$buildJira('jiraStatus', 5, $value, $id),
$buildZenTao('storyStatus', 5, $lang->story->statusList),
$buildZenTao('storyStage', 5, $lang->story->stageList),
$buildZenTao('taskStatus', 5, $lang->task->statusList),
$buildZenTao('bugStatus', 5, $lang->bug->statusList)
);
}
}
$backUrl = $step == 1 ? inlink('importNotice', "method={$method}") : inlink('mapJira2Zentao', "method={$method}&dbName={$dbName}&step=" . --$step);
formPanel
(
set::submitBtnText($lang->convert->jira->next),
set::backUrl($backUrl),
$rows
);
render();