| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294 |
- <?php
- /**
- * The create view file of build 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 Shujie Tian<tianshujie@easycorp.ltd>
- * @package build
- * @link https://www.zentao.net
- */
- namespace zin;
- /* zin: Set variables to define picker options for form. */
- jsVar('multipleProject', !empty($multipleProject));
- jsVar('multipleSelect', $lang->build->placeholder->multipleSelect);
- jsVar('autoRelationTip', $lang->build->notice->autoRelation);
- jsVar('projectID', $projectID);
- jsVar('executionID', $executionID);
- jsVar('today', helper::today());
- jsVar('projectModel', isset($project->model) ? $project->model : '');
- jsVar('currentProduct', $productID);
- jsVar('hidden', $hidden);
- $integratedRow = '';
- if($app->tab == 'project' && !empty($multipleProject))
- {
- $integratedRow = formRow(
- formGroup
- (
- set::width('1/2'),
- set::label($lang->build->integrated),
- radioList
- (
- set::name('isIntegrated'),
- set::items($lang->build->isIntegrated),
- set::value('no'),
- set::inline(true)
- )
- )
- );
- }
- $executionRow = formRow
- (
- formGroup
- (
- set::width('1/2'),
- set::label($lang->executionCommon),
- set::required(true),
- set::hidden(empty($multipleProject)),
- picker
- (
- set::name('execution'),
- set::value($executionID),
- set::items($executions),
- set::required(true),
- !empty($multipleProject) ? on::change('loadProducts') : null
- )
- )
- );
- $productRow = '';
- $noProductRow = '';
- if(!$hidden)
- {
- $productRow = formRow(
- setID('productRow'),
- set::hidden(empty($products) && $executionID),
- formGroup(
- set::width('1/2'),
- set::name('product'),
- set::label($lang->build->product),
- set::value(empty($product) ? '' : $product->id),
- set::items($products),
- set::required(true),
- on::change('loadBranches')
- )
- );
- $noProductRow = formRow(
- setID('noProductRow'),
- set::hidden(!empty($products) || !$executionID),
- formGroup
- (
- set::width('1/2'),
- setClass('items-center'),
- set::label($lang->build->product),
- html(sprintf($lang->build->noProduct, helper::createLink('execution', 'manageproducts', "executionID={$executionID}", '', true), $app->tab))
- )
- );
- }
- else
- {
- $productRow = formRow
- (
- setClass('hidden'),
- formGroup(set::width('1/2'), set::name('product'), set::label($lang->build->product), set::value(empty($product) ? '' : $product->id))
- );
- }
- if(empty($product)) $product = new stdclass();
- $productType = zget($product, 'type', 'normal');
- $productBranches = zget($product, 'branches', array());
- formPanel
- (
- set::title($lang->build->create),
- set::titleClass('text-lg gap-0'),
- to::titleSuffix
- (
- btn(setClass('ghost'), icon('help'), set::hint($lang->help), set::url('https://www.zentao.net/book/zentaopms/build-copy-1529.html'), set::target('_blank'))
- ),
- set::formID('createBuildForm'),
- on::change('[name=newSystem]', 'setSystemBox'),
- on::change('[name=system]', 'loadBuilds'),
- on::init('[name=system]')->do("setTimeout('loadSystem()', 50)"),
- on::change('[name=product]', 'loadSystem'),
- setClass('form-build'),
- $integratedRow,
- $executionRow,
- $productRow,
- $noProductRow,
- formRow
- (
- setClass(!empty($product) && $productType != 'normal' ? '' : 'hidden'),
- formGroup
- (
- set::width('1/2'),
- set::label($lang->product->branchName['branch']),
- picker
- (
- set::emptyValue(''),
- set::name('branch[]'),
- set::value(key($productBranches)),
- set::items($branches),
- set::multiple(true)
- )
- )
- ),
- formRow
- (
- formGroup
- (
- set::width('1/2'),
- set::label($lang->build->system),
- set::required(true),
- inputGroup
- (
- div
- (
- setClass('w-full'),
- setId('systemBox'),
- picker
- (
- set::name('system'),
- set::required(true),
- set::items(array())
- ),
- input(set::name('systemName'), setClass('hidden'))
- ),
- common::hasPriv('system', 'create') ? div
- (
- setClass('input-group-addon flex'),
- checkbox
- (
- set::name('newSystem'),
- set::text($lang->build->addSystem)
- )
- ) : null
- )
- )
- ),
- formRow
- (
- setClass('hidden'),
- formGroup
- (
- set::width('1/2'),
- set::label($lang->build->builds),
- picker
- (
- setID('builds'),
- set::name('builds[]'),
- set::items(array()),
- set::multiple(true)
- )
- ),
- formGroup
- (
- set::width('1/2'),
- setClass('pl-4 items-center'),
- icon(
- 'help',
- set('data-toggle', 'tooltip'),
- setID('tooltipHover')
- )
- )
- ),
- formRow
- (
- formGroup
- (
- set::width('1/2'),
- set::name('name'),
- set::label($lang->build->nameAB)
- ),
- $lastBuild ? formGroup
- (
- set::width('1/2'),
- setClass('items-center'),
- div
- (
- setID('lastBuildBox'),
- setClass('text-gray'),
- div
- (
- setClass('help-block'),
- html(' ' . $lang->build->last . ': <a class="code label light" id="lastBuildBtn">' . $lastBuild->name . '</a>')
- )
- )
- ) : ''
- ),
- formRow
- (
- formGroup
- (
- set::width('1/2'),
- set::name('builder'),
- set::label($lang->build->builder),
- set::value($app->user->account),
- set::items($users)
- )
- ),
- formRow
- (
- set::id('buildDateRow'),
- formGroup
- (
- set::width('1/2'),
- set::name('date'),
- set::id('buildDate'),
- set::label($lang->build->date),
- set::control('date'),
- set::value(helper::today())
- )
- ),
- formRow
- (
- formGroup
- (
- set::name('scmPath'),
- set::label($lang->build->scmPath),
- set::placeholder($lang->build->placeholder->scmPath)
- )
- ),
- formRow
- (
- formGroup
- (
- set::name('filePath'),
- set::label($lang->build->filePath),
- set::placeholder($lang->build->placeholder->filePath)
- )
- ),
- formRow
- (
- set::id('buildFiles'),
- formGroup
- (
- set::required(strpos($config->build->create->requiredFields, 'files') !== false),
- set::label($lang->build->files),
- upload(set::name('buildFiles[]'))
- )
- ),
- formRow
- (
- formGroup
- (
- set::label($lang->build->desc),
- editor
- (
- set::name('desc'),
- set::rows('10')
- )
- ),
- formGroup
- (
- setClass('hidden'),
- set::name('project'),
- set::value($projectID)
- )
- )
- );
- /* ====== Render page ====== */
- render();
|