znt/module/bug/ui/batchedit.html.php

283 lines
8.4 KiB
PHP

<?php
declare(strict_types=1);
/**
* The batchEdit view file of bug 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 Mengyi Liu <liumengyi@easycorp.ltd>
* @package bug
* @link https://www.zentao.net
*/
namespace zin;
jsVar('tab', $app->tab);
jsVar('modules', $modules);
jsVar('products', $products);
jsVar('branchTagOption', $branchTagOption);
jsVar('executionMembers', isset($executionMembers) ? $executionMembers : array());
jsVar('projectMembers', isset($projectMembers) ? $projectMembers : array());
jsVar('productMembers', isset($productMembers) ? $productMembers : array());
jsVar('isBranchProduct', $branchProduct ? 1 : 0);
jsVar('noProductProjects', $noProductProjects);
jsVar('noSprintProjects', $noSprintProjects);
jsVar('deletedProjects', $deletedProjects);
jsVar('deletedExecutions', $deletedExecutions);
jsVar('projectExecutions', $projectExecutions);
jsVar('productProjects', $productProjects);
jsVar('productExecutions', $productExecutions);
jsVar('productOpenedBuilds', $productOpenedBuilds);
jsVar('projectOpenedBuilds', $projectOpenedBuilds);
jsVar('executionOpenedBuilds', $executionOpenedBuilds);
$visibleFields = array();
$requiredFields = array();
foreach(explode(',', $config->bug->custom->batchEditFields) as $field)
{
if($field) $visibleFields[$field] = '';
}
foreach(explode(',', $config->bug->edit->requiredFields) as $field)
{
if($field)
{
$requiredFields[$field] = '';
if(strpos(",{$config->bug->list->customBatchEditFields},", ",{$field},") !== false) $visibleFields[$field] = '';
}
}
$assignedToList = array_merge($users, array('closed' => 'Closed'));
formBatchPanel
(
set::title($lang->bug->batchEdit),
set::mode('edit'),
set::data(array_values($bugs)),
set::onRenderRow(jsRaw('renderRowData')),
on::change('[data-name="project"]', 'projectChange'),
on::change('[data-name="execution"]', 'executionChange'),
on::change('[data-name="branch"]', 'branchChange'),
on::change('[data-name="resolution"]', 'setDuplicate'),
/* Field of id. */
formBatchItem
(
set::name('id'),
set::label($lang->idAB),
set::control('hidden'),
set::hidden(true)
),
/* Field of id index. */
formBatchItem
(
set::name('id'),
set::label($lang->idAB),
set::control('index'),
set::width('50px')
),
/* Field of project. */
formBatchItem
(
set::name('project'),
set::label($lang->bug->project),
set::control('picker'),
set::items(array()),
set::width('200px')
),
/* Field of execution. */
formBatchItem
(
set::name('execution'),
set::label($lang->bug->execution),
set::control('picker'),
set::items(array()),
set::width('200px')
),
/* Field of type. */
formBatchItem
(
set::name('type'),
set::label($lang->typeAB),
set::hidden(zget($visibleFields, 'type', true, false)),
set::control('picker'),
set::items($lang->bug->typeList),
set::width('160px'),
set::required(isset($requiredFields['type'])),
set::ditto(true),
set::defaultDitto('off')
),
/* Field of severity. */
formBatchItem
(
set::name('severity'),
set::label($lang->bug->severity),
set::hidden(zget($visibleFields, 'severity', true, false)),
set::control(array('control' => 'severityPicker', 'required' => true)),
set::items($lang->bug->severityList),
set::width('80px'),
set::required(isset($requiredFields['severity']))
),
/* Field of pri. */
formBatchItem
(
set::name('pri'),
set::label($lang->bug->pri),
set::hidden(zget($visibleFields, 'pri', true, false)),
set::control(array('control' => 'priPicker', 'required' => true)),
set::items($lang->bug->priList),
set::width('80px'),
set::required(isset($requiredFields['pri']))
),
/* Field of title. */
formBatchItem
(
set::name('title'),
set::control('colorInput'),
set::label($lang->bug->title),
set::width('240px'),
set::required(true)
),
/* Field of branch. */
formBatchItem
(
set::name('branch'),
set::label($lang->bug->branch),
set::control('picker'),
set::items(array()),
set::width('200px'),
set::required(isset($requiredFields['branch'])),
set::hidden(!$branchProduct)
),
/* Field of module. */
formBatchItem
(
set::name('module'),
set::label($lang->bug->module),
set::control('picker'),
set::items(array()),
set::width('200px'),
set::required(isset($requiredFields['module'])),
set::ditto(true),
set::defaultDitto('off')
),
/* Field of openedBuild. */
formBatchItem
(
set::name('openedBuild'),
set::label($lang->bug->openedBuild),
set::control('picker'),
set::items(array()),
set::width('200px'),
set::multiple(true)
),
/* Field of plan. */
formBatchItem
(
set::name('plan'),
set::label($lang->bug->plan),
set::control(array('control' => 'picker', 'required' => false)),
set::items(array()),
set::width('200px'),
set::required(isset($requiredFields['plan'])),
set::ditto(true),
set::defaultDitto('off')
),
/* Field of assignedTo. */
formBatchItem
(
set::name('assignedTo'),
set::label($lang->bug->assignedTo),
set::control('picker'),
set::items($assignedToList),
set::width('200px'),
set::required(isset($requiredFields['assignedTo'])),
set::ditto(true),
set::defaultDitto('off')
),
/* Field of deadline. */
formBatchItem
(
set::name('deadline'),
set::label($lang->bug->deadline),
set::hidden(zget($visibleFields, 'deadline', true, false)),
set::control('date'),
set::width('128px'),
set::required(isset($requiredFields['deadline']))
),
/* Field of os. */
formBatchItem
(
set::name('os'),
set::label($lang->bug->os),
set::hidden(zget($visibleFields, 'os', true, false)),
set::control('picker'),
set::items($lang->bug->osList),
set::multiple(true),
set::width('200px'),
set::required(isset($requiredFields['os']))
),
/* Field of browser. */
formBatchItem
(
set::name('browser'),
set::label($lang->bug->browser),
set::hidden(zget($visibleFields, 'browser', true, false)),
set::control('picker'),
set::items($lang->bug->browserList),
set::multiple(true),
set::width('200px'),
set::required(isset($requiredFields['browser']))
),
/* Field of keywords. */
formBatchItem
(
set::name('keywords'),
set::label($lang->bug->keywords),
set::hidden(zget($visibleFields, 'keywords', true, false)),
set::width('200px'),
set::required(isset($requiredFields['keywords']))
),
/* Field of resolvedBy. */
formBatchItem
(
set::name('resolvedBy'),
set::label($lang->bug->resolvedBy),
set::control('picker'),
set::items($users),
set::width('200px'),
set::required(isset($requiredFields['resolvedBy'])),
set::ditto(true),
set::defaultDitto('off')
),
/* Field of resolution. */
formBatchItem
(
set::label($lang->bug->resolution),
set::width('220px'),
set::name('resolutionBox'),
set::control('inputGroup'),
inputGroup
(
picker
(
set::name('resolution'),
set::items($lang->bug->resolutionList),
set::required(isset($requiredFields['resolution']))
),
picker
(
setClass('duplicate-select hidden'),
set::name('duplicateBug'),
set::items(array()),
set::placeholder($lang->bug->placeholder->duplicate),
set::required(true)
)
)
),
formBatchItem
(
set::name('product'),
set::hidden(true)
)
);
render();