| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- <?php
- /**
- * The ajaxLoadSystemBlock view file of release module of ZenTaoPMS.
- * @copyright Copyright 2009-2024 禅道软件(青岛)有限公司(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 Yanyi Cao <caoyanyi@chandao.com>
- * @package release
- * @link https://www.zentao.net
- */
- namespace zin;
- $apps = array();
- $linkedApps = array();
- foreach($linkedRelease as $releaseID)
- {
- if(!isset($releases[$releaseID])) continue;
- $systemID = $releases[$releaseID]->system;
- if(!isset($appList[$systemID])) continue;
- $apps[$systemID] = $appList[$systemID]->name;
- unset($appList[$systemID]);
- $linkedApps[$systemID] = $releaseID;
- }
- foreach($appList as $system)
- {
- $apps[$system->id] = $system->name;
- if(!$linkedRelease) $linkedApps[$system->id] = 0;
- }
- $appReleases = array();
- foreach($releases as $releaseID => $release) $appReleases[$release->system][$releaseID] = $release->name;
- if($linkedRelease && !$linkedApps) $linkedApps = array(0 => '');
- if(!$apps) $apps = array(0 => '');
- jsVar('releases', $releases);
- jsVar('appLength', count($apps));
- $systemTR = array();
- $i = 0;
- $list = $linkedRelease ? $linkedApps : $apps;
- $appCount = count($list);
- foreach($list as $system)
- {
- $appID = $linkedApps ? key($linkedApps) : 0;
- $linked = current($linkedApps);
- $systemTR[] = h::tr
- (
- setClass('form-row'),
- setData('index', $i),
- h::td
- (
- picker
- (
- set::id("apps{$i}"),
- set::name("apps[$i]"),
- set::items($apps),
- $appID ? set::value($appID) : null,
- set::required(true)
- )
- ),
- h::td
- (
- picker
- (
- set::id("releases{$i}"),
- set::name("releases[$i]"),
- set::items(zget($appReleases, $appID, array())),
- $appID ? set::value($linked) : null
- )
- ),
- h::td
- (
- set::className('actions-list'),
- btnGroup
- (
- item(
- set(
- array(
- 'icon' => 'plus',
- 'class' => 'btn btn-link text-gray add-item' . ($appCount < count($apps) ? '' : ' hidden'),
- 'onclick' => 'addItem(this)')
- )
- ),
- item(
- set(
- array(
- 'icon' => 'trash',
- 'class' => 'btn btn-link text-gray del-item' . ($appCount > 1 ? '' : ' hidden'),
- 'onclick' => 'deleteItem(this)')
- )
- )
- )
- )
- );
- unset($linkedApps[key($linkedApps)]);
- $i ++;
- }
- jsVar('+itemIndex', $i);
- div
- (
- setID('systemForm'),
- h::table
- (
- on::change('[name^=apps]')->call("setRelease", jsRaw('target')),
- h::tbody
- (
- setClass('form'),
- $systemTR,
- input
- (
- set::type('hidden'),
- set::name('removeExecution'),
- set::value('no')
- )
- )
- )
- );
- $i = '_i';
- h::table
- (
- set::className('hidden'),
- set::id('addItem'),
- h::tr(
- setData('index', $i),
- h::td
- (
- picker
- (
- set::id("apps{$i}"),
- set::name("apps[$i]"),
- set::items($apps)
- )
- ),
- h::td
- (
- picker
- (
- set::id("releases{$i}"),
- set::name("releases[$i]"),
- set::items(array())
- )
- ),
- h::td
- (
- set::className('actions-list'),
- btnGroup
- (
- set::items(array(
- array('class' => 'btn btn-link text-gray add-item', 'icon' => 'plus', 'onclick' => 'addItem(this)'),
- array('class' => 'btn btn-link text-gray del-item', 'icon' => 'trash', 'onclick' => 'deleteItem(this)')
- ))
- )
- )
- )
- );
|