| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280 |
- <?php
- /**
- * The manageMembers view file of execution 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 execution
- * @link https://www.zentao.net
- */
- namespace zin;
- jsVar('roles', $roles);
- jsVar('team2Import', $team2Import);
- jsVar('executionID', $execution->id);
- jsVar('isInModal', isInModal());
- /* zin: Define the set::module('team') feature bar on main menu. */
- $copyTeamBox = '';
- if(count($teams2Import) != 0)
- {
- $copyTeamBox = div
- (
- setClass('select-team-box ml-4'),
- span
- (
- set::className('flex items-center team-title'),
- $lang->execution->copyTeam
- ),
- picker
- (
- set::name('execution'),
- set::value($team2Import),
- set::items($teams2Import),
- set('data-placeholder', $lang->execution->copyTeamTitle),
- on::change('choseTeam2Copy')
- )
- );
- }
- featureBar
- (
- set::current('all'),
- set::linkParams("executionID={$execution->id}"),
- div
- (
- setClass('select-dept-box ml-4'),
- span
- (
- set::className('flex items-center dept-title'),
- $lang->execution->selectDept
- ),
- picker
- (
- set::id('dept'),
- set::name('dept'),
- set::value($dept),
- set::items($depts),
- set('data-placeholder', $lang->execution->selectDeptTitle),
- set::required(true),
- on::change('setDeptUsers')
- ),
- $copyTeamBox
- )
- );
- $memberTR = array();
- $i = 0;
- foreach($teamMembers as $member)
- {
- if($member->memberType == 'dept' && !isset($users[$member->account])) continue;
- $memberTR[] = h::tr
- (
- $member->memberType == 'default' ? h::td(input
- (
- set::id("realname{$i}"),
- set::name("realname[$i]"),
- set::value($member->realname),
- set::readonly(true)
- ), input
- (
- set::id("account{$i}"),
- set::name("account[$i]"),
- set::value($member->account),
- set::type('hidden')
- )) : h::td(
- picker
- (
- set::id("account{$i}"),
- set::name("account[$i]"),
- set::value($member->account),
- set::items(array_values($userItems)),
- set::maxItemsCount($config->maxCount),
- set('onchange', "setRole('{$i}')")
- )
- ),
- h::td
- (
- input
- (
- set::id("role{$i}"),
- set::name("role[$i]"),
- set::value($member->role)
- )
- ),
- h::td
- (
- input
- (
- set::id("days{$i}"),
- set::name("days[$i]"),
- set::value($member->days)
- )
- ),
- h::td
- (
- input
- (
- set::id("hours{$i}"),
- set::name("hours[$i]"),
- set::value($member->hours)
- )
- ),
- h::td
- (
- radioList
- (
- set::id("limited{$i}"),
- set::name("limited[$i]"),
- set::items($lang->team->limitedList),
- set::value($member->limited),
- set::inline(true)
- )
- ),
- h::td
- (
- set::className('actions-list'),
- btnGroup
- (
- set::items(array(
- array('class' => 'btn btn-link text-gray', 'icon' => 'plus', 'onclick' => 'addItem(this)'),
- array('class' => 'btn btn-link text-gray', 'icon' => 'trash', 'onclick' => 'deleteItem(this)')
- ))
- )
- )
- );
- if(in_array($member->memberType, array('default', 'dept'))) $userItems[$member->account]['disabled'] = true;
- $i ++;
- }
- jsVar('+itemIndex', $i);
- $i = '_i';
- h::table
- (
- set::className('hidden'),
- set::id('addItem'),
- h::tr(
- h::td(
- picker
- (
- set::id("account{$i}"),
- set::name("account[$i]"),
- set::items(array_values($userItems)),
- set::maxItemsCount($config->maxCount),
- set('onchange', "setRole('{$i}')")
- )
- ),
- h::td
- (
- input
- (
- set::id("role{$i}"),
- set::name("role[$i]")
- )
- ),
- h::td
- (
- input
- (
- set::id("days{$i}"),
- set::name("days[$i]"),
- set::value($execution->days)
- )
- ),
- h::td
- (
- input
- (
- set::id("hours{$i}"),
- set::name("hours[$i]"),
- set::value($config->execution->defaultWorkhours)
- )
- ),
- h::td
- (
- radioList
- (
- set::id("limited{$i}"),
- set::name("limited[$i]"),
- set::items($lang->team->limitedList),
- set::value('no'),
- set::inline(true)
- )
- ),
- h::td
- (
- set::className('actions-list'),
- btnGroup
- (
- set::items(array(
- array('class' => 'btn btn-link text-gray', 'icon' => 'plus', 'onclick' => 'addItem(this)'),
- array('class' => 'btn btn-link text-gray', 'icon' => 'trash', 'onclick' => 'deleteItem(this)')
- ))
- )
- )
- )
- );
- div
- (
- setClass('main-content'),
- formPanel
- (
- setClass('main-form'),
- setID('teamForm'),
- h::table
- (
- set::className('table table-form'),
- h::thead
- (
- h::tr
- (
- h::th
- (
- $lang->team->account,
- set::width('240px')
- ),
- h::th
- (
- $lang->team->role,
- set::width('240px')
- ),
- h::th
- (
- $lang->team->days,
- set::width('96px')
- ),
- h::th
- (
- $lang->team->hours,
- set::width('136px')
- ),
- h::th
- (
- $lang->team->limited,
- icon
- (
- setClass('text-light ml-0.5'),
- toggle::tooltip(array('title' => $lang->execution->limitedTip)),
- 'help'
- ),
- set::width('120px')
- ),
- h::th
- (
- $lang->actions,
- set::width('48px')
- )
- )
- ),
- h::tbody
- (
- $memberTR
- )
- )
- )
- );
- /* ====== Render page ====== */
- render();
|