* @package build * @link https://www.zentao.net */ namespace zin; /* zin: Set variables to define picker options for form. */ jsVar('multipleSelect', $lang->build->placeholder->multipleSelect); jsVar('autoRelationTip', $lang->build->notice->autoRelation); jsVar('projectID', $projectID); jsVar('executionID', $executionID); jsVar('artifactRepos', !empty($artifactRepos) ? $artifactRepos : ''); jsVar('today', helper::today()); $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 = ''; if(!empty($multipleProject)) { $executionRow = formRow ( formGroup ( set::width('1/2'), set::label($lang->executionCommon), set::required(true), picker ( set::name('execution'), set::value($executionID), set::items($executions), set::required(true), on::change('loadProducts') ) ) ); } $productRow = ''; if(!$hidden) { $productBox = ''; if(!empty($products) || !$executionID) { $productBox = formGroup( set::width('1/2'), setID('productBox'), set::name('product'), set::label($lang->build->product), set::value(empty($product) ? '' : $product->id), set::items($products), set::required(true), on::change('loadBranches') // on::change('loadArtifactrepo'), ); $artifactRepoRow[] = formRow ( setClass('artifactrepo ' . ((empty($product) || empty($artifactRepos[$product->id])) ? 'hidden' : '')), formGroup ( set::width('1/2'), set::label($lang->build->linkArtifactRepo), radioList ( set::name('isArtifactRepo'), set::items($lang->build->isIntegrated), set::value('no'), set::inline(true), on::click('onShowArtifactRepo') ) ) ); $artifactRepoRow[] = formRow ( setClass('artifactrepo-id hidden'), formGroup ( set::width('1/2'), set::label($lang->artifactrepo->repoName), set::name('artifactRepoID'), set::items(array()), on::change('onChangeArtifactRepo') ) ); } else { $productBox = formGroup( set::width('1/2'), setClass('items-center'), setID('productBox'), set::label($lang->build->product), html(sprintf($lang->build->noProduct, helper::createLink('execution', 'manageproducts', "executionID={$executionID}", '', true), $app->tab)) ); } $productRow = formRow( $productBox ); } if(empty($product)) $product = new stdclass(); $productType = zget($product, 'type', 'normal'); $productBranches = zget($product, 'branches', array()); formPanel ( set::title($lang->build->create), $integratedRow, $executionRow, $productRow, formRow ( setClass(!empty($product) && $productType != 'normal' ? '' : 'hidden'), formGroup ( set::width('1/2'), set::label($lang->product->branchName['branch']), picker ( set::name('branch[]'), set::value(key($productBranches)), set::items($branches), set::multiple(true) ) ) ), !empty($artifactRepoRow) ? $artifactRepoRow : 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 . ': ' . $lastBuild->name . '') ) ) ) : '' ), formRow ( formGroup ( set::width('1/2'), set::name('builder'), set::label($lang->build->builder), set::value($app->user->account), set::items($users) ) ), formRow ( formGroup ( set::width('1/2'), set::name('date'), 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 ( formGroup ( set::label($lang->build->files), upload() ) ), 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();