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

217 lines
6.8 KiB
PHP

<?php
declare(strict_types=1);
/**
* The batch edit view file of testcase 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 Tingting Dai <daitingting@easycorp.ltd>
* @package testcase
* @link https://www.zentao.net
*/
namespace zin;
jsVar('branchProduct', $branchProduct);
jsVar('branchOption', zget($branchTagOption, $productID, array()));
jsVar('modulePairs', $modulePairs);
jsVar('scenePairs', $scenePairs);
jsVar('productID', $productID);
jsVar('products', $products);
jsVar('cases', $cases);
if(isset($suhosinInfo))
{
div
(
set::className('alert warning'),
html($suhosinInfo)
);
}
else
{
$visibleFields = array();
$requiredFields = array();
foreach(explode(',', $showFields) as $field)
{
if(!$field) continue;
$visibleFields[$field] = $field;
}
foreach(explode(',', $config->testcase->edit->requiredFields) as $field)
{
if(!$field) continue;
$requiredFields[$field] = $field;
if(strpos(",{$config->testcase->list->customBatchEditFields},", ",{$field},") !== false) $visibleFields[$field] = $field;
}
$items = array();
$items[] = array
(
'name' => 'id',
'label' => $lang->idAB,
'control' => 'hidden',
'hidden' => true
);
$items[] = array
(
'name' => 'product',
'control' => 'hidden'
);
$items[] = array
(
'name' => 'id',
'label' => $lang->idAB,
'control' => 'index',
'width' => '50px'
);
$items[] = array
(
'name' => 'pri',
'label' => $lang->priAB,
'width' => '100px',
'control' => array('control' => 'priPicker', 'required' => true),
'items' => $lang->testcase->priList,
'ditto' => true,
'hidden' => !isset($visibleFields['pri']),
'required' => isset($requiredFields['pri']),
'defaultDitto' => 'off'
);
$items[] = array
(
'name' => 'status',
'label' => $lang->statusAB,
'width' => '120px',
'control' => array('control' => 'picker', 'required' => true),
'items' => $lang->testcase->statusList,
'hidden' => !isset($visibleFields['status']),
'required' => isset($requiredFields['status'])
);
$items[] = array
(
'name' => 'branch',
'label' => $lang->testcase->branch,
'width' => '180px',
'control' => array('control' => 'picker', 'required' => true),
'items' => zget($branchTagOption, $productID, array()),
'hidden' => !$branchProduct
);
$items[] = array
(
'name' => 'module',
'label' => $lang->testcase->module,
'width' => '180px',
'control' => array('control' => 'picker', 'required' => true),
'items' => array(),
'hidden' => !isset($visibleFields['module']),
'required' => isset($requiredFields['module'])
);
$items[] = array
(
'name' => 'scene',
'label' => $lang->testcase->scene,
'width' => '180px',
'control' => array('control' => 'picker', 'required' => true),
'items' => array(),
'hidden' => ($isLibCase || !isset($visibleFields['scene'])),
'required' => isset($requiredFields['scene'])
);
$items[] = array
(
'name' => 'story',
'label' => $lang->testcase->story,
'control' => 'picker',
'width' => '180px',
'ditto' => true,
'defaultDitto' => 'off',
'items' => $stories,
'hidden' => !isset($visibleFields['story']),
'required' => isset($requiredFields['story'])
);
$items[] = array
(
'name' => 'title',
'label' => $lang->testcase->title,
'control' => 'colorInput',
'width' => '180px',
'required' => true
);
unset($lang->testcase->typeList['unit']);
$items[] = array
(
'name' => 'type',
'label' => $lang->testcase->type,
'width' => '140px',
'control' => array('control' => 'picker', 'required' => true),
'items' => $lang->testcase->typeList,
'ditto' => true,
'required' => isset($requiredFields['type']),
'defaultDitto' => 'off'
);
$items[] = array
(
'name' => 'precondition',
'label' => $lang->testcase->precondition,
'width' => '180px',
'control' => 'textarea',
'hidden' => !isset($visibleFields['precondition']),
'required' => isset($requiredFields['precondition'])
);
/* Field of steps. */
$items[] = array
(
'name' => 'steps',
'control' => array('control' => 'textarea', 'class' => 'form-control form-batch-input text-3-row', 'placeholder' => $lang->testcase->stepsPlaceholder),
'label' => $lang->testcase->steps,
'width' => '256px',
'required' => isset($requiredFields['steps'])
);
/* Field of expects. */
$items[] = array
(
'name' => 'expects',
'control' => array('control' => 'textarea', 'class' => 'form-control form-batch-input text-3-row'),
'label' => $lang->testcase->expect,
'width' => '256px',
'required' => isset($requiredFields['expects'])
);
$items[] = array
(
'name' => 'keywords',
'label' => $lang->testcase->keywords,
'control' => 'input',
'width' => '180px',
'hidden' => !isset($visibleFields['keywords']),
'required' => isset($requiredFields['keywords'])
);
$items[] = array
(
'name' => 'stage',
'label' => $lang->testcase->stage,
'width' => '120px',
'control' => 'picker',
'multiple' => true,
'items' => $lang->testcase->stageList,
'hidden' => !isset($visibleFields['stage']),
'required' => isset($requiredFields['stage'])
);
formBatchPanel
(
set::title($lang->testcase->batchEdit),
set::customFields(array('list' => $customFields, 'show' => explode(',', $showFields), 'key' => 'batchEditFields')),
on::change('[data-name="branch"]', 'onBranchChangedForBatch'),
on::change('[data-name="module"]', 'onModuleChangedForBatch'),
set::mode('edit'),
set::data(array_values($cases)),
set::items($items),
set::onRenderRow(jsRaw('handleRenderRow'))
);
}
render();