znt/module/user/ui/edit.html.php

269 lines
7 KiB
PHP

<?php
declare(strict_types=1);
/**
* The edit view file of user 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 Mengyi Liu <liumengyi@easycorp.ltd>
* @package user
* @link https://www.zentao.net
*/
namespace zin;
$contacts = array();
if(!empty($config->user->contactField))
{
foreach(explode(',', $config->user->contactField) as $i => $field)
{
if($i % 2 == 0) $contactGroup = array();
$contactGroup[] = formGroup
(
set::width('1/2'),
set::label($lang->user->{$field}),
set::name($field),
set::value($user->{$field})
);
if($i % 2 == 1) $contacts[] = formRow($contactGroup);
}
if($i % 2 == 0) $contacts[] = formRow($contactGroup);
}
formPanel
(
to::heading
(
div
(
setClass('flex items-center gap-2'),
$lang->user->edit,
entityLabel
(
set::level(1),
set::text($user->realname)
)
)
),
set::formClass('border-0'),
on::change('input[name=type]', 'changeType'),
on::change('input[name^=visions]', 'changeVision'),
on::change('#password1, #password2, #password, #verifyPassword', 'changePassword'),
on::click('button[type="submit"]', 'encryptPassword'),
formRow
(
formGroup
(
set::width('1/2'),
set::label($lang->user->realname),
set::name('realname'),
set::value($user->realname)
),
formGroup
(
set::width('1/2'),
set::label($lang->user->role),
set::control('picker'),
set::name('role'),
set::items($lang->user->roleList),
set::value($user->role)
)
),
formRow
(
$user->type == 'inside' ? null : setClass('hidden'),
formGroup
(
set::width('1/2'),
set::label($lang->user->dept),
set::control('picker'),
set::name('dept'),
set::items($depts),
set::value($user->dept)
),
formGroup
(
set::width('1/2'),
set::label($lang->user->join),
set::control('date'),
set::name('join'),
set::value($user->join)
)
),
formRow
(
formGroup
(
set::width('1/2'),
set::label($lang->user->group),
set::required(strpos($this->config->user->edit->requiredFields, 'group') !== false),
picker
(
set::name('group[]'),
set::items($groups),
set::value($userGroups),
set::multiple(true)
)
),
formGroup
(
$user->type == 'inside' ? setClass('hidden') : null,
set::width('1/2'),
set::label($lang->user->company),
inputGroup
(
picker
(
set::name('company'),
set::items($companies),
set::value($user->company)
),
input
(
set::name('newCompany'),
setClass('hidden')
),
checkbox
(
on::change('toggleNew'),
set::id('new'),
set::name('new'),
set::value(1),
set::text($lang->company->create),
set::rootClass('btn'),
width('96px')
)
)
)
),
formRow
(
formGroup
(
set::width('1/2'),
set::label($lang->user->type),
radioList
(
set::inline(true),
set::name('type'),
set::items($lang->user->typeList),
set::value($user->type)
)
),
formGroup
(
set::width('1/2'),
set::label($lang->user->gender),
radioList
(
set::inline(true),
set::name('gender'),
set::items($lang->user->genderList),
set::value($user->gender)
)
)
),
formRowGroup(set::title($lang->user->accountInfo)),
formRow
(
formGroup
(
set::width('1/2'),
set::label($lang->user->account),
set::name('account'),
set::value($user->account),
set('readonly', true)
),
formGroup
(
set::width('1/2'),
set::label($lang->user->email),
set::name('email'),
set::value($user->email)
)
),
formRow
(
formGroup
(
set::width('1/2'),
set::label($lang->user->password),
password(set::checkStrength(true))
),
formGroup
(
set::width('1/2'),
set::label($lang->user->password2),
set::control('password'),
set::name('password2'),
)
),
formRow
(
formGroup
(
$user->type == 'inside' ? null : setClass('hidden'),
set::width('1/2'),
set::label($lang->user->commiter),
set::name('commiter'),
set::value($user->commiter)
),
formGroup
(
set::width('1/2'),
set::label($lang->user->visions),
set::required(true),
checkList
(
set::name('visions[]'),
set::items($visions),
set::value($user->visions),
set::inline(true)
)
)
),
formRowGroup(set::title($lang->user->contactInfo)),
$contacts,
formRow
(
formGroup
(
set::width('1/2'),
set::label($lang->user->address),
set::name('address'),
set::value($user->address)
),
formGroup
(
set::width('1/2'),
set::label($lang->user->zipcode),
set::name('zipcode'),
set::value($user->zipcode)
)
),
formRowGroup(set::title($lang->user->verify)),
formRow
(
formGroup
(
set::width('1/2'),
set::label($lang->user->verifyPassword),
set::control('password'),
set::required(true),
set::name('verifyPassword'),
set::placeholder($lang->user->placeholder->verify)
)
),
formRow
(
setClass('hidden'),
input(set::name('passwordLength'), set::value(0)),
input(set::name('passwordStrength'), set::value(0))
)
);
formHidden('verifyRand', $rand);
render();