Files
EasySoft-ZenTaoPMS/module/task/ui/edit.html.php
T
2023-05-08 08:58:00 +00:00

485 lines
15 KiB
PHP

<?php
/**
* The edit view of task of ZenTaoPMS.
*/
/*
======= Attention ======
This file is generated by zin-tool, you should check the following to-do list.
+ Familiar with the use of these widgets in zin: .
+ Check the following variables which used in widgets: $executionOptions, $moduleOptions, $storyOptions, $modeOptions, $assignedToOptions, $typeOptions, $statusOptions, $priOptions, $mailtoOptions, $contactListMenuOptions, $finishedByOptions, $canceledByOptions, $closedByOptions, $closedReasonOptions, $teamOptions, $teamOptions, $teamOptions, $teamOptions, $teamOptions, $teamOptions.
+ Check the origin code in module/task/view/edit.html.php, and ensure that all features have been implemented.
+ Check the origin js code in module/task/js/common.js and module/task/js/edit.js
+ Check the origin css code in module/task/css/common.css and module/task/css/edit.css
+ Remove the comments which starts with "zin:"
+ Test according to the new design draft and the original implementation
*/
namespace zin;
/* ====== Preparing and processing page data ====== */
jsVar('oldStoryID', $task->story);
jsVar('oldAssignedTo', $task->assignedTo);
jsVar('oldExecutionID', $task->execution);
jsVar('oldConsumed', $task->consumed);
jsVar('taskStatus', $task->status);
jsVar('currentUser', $app->user->account);
jsVar('team', $task->members);
jsVar('members', $members);
jsVar('page', 'edit');
jsVar('confirmChangeExecution', $lang->task->confirmChangeExecution);
jsVar('teamMemberError', $lang->task->error->teamMember);
jsVar('totalLeftError', sprintf($this->lang->task->error->leftEmptyAB, $this->lang->task->statusList[$task->status]));
jsVar('estimateNotEmpty', sprintf($lang->error->gt, $lang->task->estimate, '0'));
jsVar('leftNotEmpty', sprintf($lang->error->gt, $lang->task->left, '0'));
jsVar('requiredFields', $config->task->edit->requiredFields);
/* zin: Set variables to define picker options for form */
$formTitle = $task->name;
$executionOptions = $executions;
$moduleOptions = $modules;
$storyOptions = $stories;
if($task->status == 'wait' and $task->parent == 0)
{
$modeOptions = $lang->task->editModeList;
}
else
{
$modeText = $task->mode == '' ? $lang->task->editModeList['single'] : zget($lang->task->editModeList, $task->mode);
}
$assignedToOptions = $taskMembers;
$typeOptions = $lang->task->typeList;
$statusOptions = (array)$lang->task->statusList;
$priOptions = $lang->task->priList;
$mailtoOptions = $users;
$contactListMenuOptions = $contactLists;
$finishedByOptions = $members;
$canceledByOptions = $users;
$closedByOptions = $users;
$closedReasonOptions = $lang->task->reasonList;
$teamOptions = $members;
/* ====== Define the page structure with zin widgets ====== */
/* zin: Define the form in main content */
formPanel
(
set::title($formTitle), // The form title is diffrent from the page title,
setStyle(['max-width' => '100%']),
setClass('mx-8'),
div
(
setClass('flex'),
cell
(
set('width', '67%'),
h::strong
(
$lang->task->name,
setClass('leading-8')
),
input
(
set::label($lang->task->name),
set::name('name'),
set::value($task->name),
set::placeholder($lang->task->name),
set::control('input'),
set::required(true),
set::autofocus(true),
),
h::strong
(
$lang->task->desc,
setClass('leading-8')
),
textarea
(
set::label($lang->task->desc),
set::name('desc'),
set::value(htmlSpecialString($task->desc)),
set::control('textarea'),
),
h::strong
(
$lang->comment,
setClass('leading-8')
),
textarea
(
set::label($lang->comment),
set::name('comment'),
set::value(''),
set::control('textarea'),
),
history
(
set::actions($actions),
set::users($users),
set::methodName($methodName),
)
),
cell
(
on::change('#execution'),
set('width', '33%'),
setClass('pl-5'),
h::strong
(
$lang->task->legendBasic,
setClass('leading-8')
),
formGroup
(
set::name("execution"),
set::label($lang->task->execution),
set::required(true),
set::value($task->execution),
set::control("picker"),
set::strong(true),
set::items($executionOptions)
),
formGroup
(
set::name("module"),
set::label($lang->task->module),
set::value($task->module),
set::control("picker"),
set::strong(true),
set::items($moduleOptions)
),
formGroup
(
set::name("story"),
set::label($lang->task->story),
set::value($task->story),
set::control("picker"),
set::strong(true),
set::items($storyOptions)
),
(empty($modeText))
? formGroup
(
set::name("mode"),
set::label($lang->task->mode),
set::value($task->mode),
set::control("picker"),
set::strong(true),
set::items($modeOptions)
)
: label
(
$modeText
),
formGroup
(
set::label($lang->task->assignedTo),
set::strong(true),
inputGroup
(
control(set(array
(
'name' => "assignedTo",
'id' => "assignedTo",
'value' => $task->assignedTo,
'disabled' => (!empty($task->team) and $task->mode == 'linear') ? true : false,
'type' => "picker",
'items' => $assignedToOptions
))),
btn(set(array
(
'type' => "btn",
'text' => $lang->task->team,
'class' => "input-group-btn team-group"
)))
)
),
formGroup
(
set::name("type"),
set::label($lang->task->type),
set::required(true),
set::value($task->type),
set::control("picker"),
set::strong(true),
set::items($typeOptions)
),
empty($task->children)
? formGroup
(
set::name("status"),
set::label($lang->task->status),
set::value($task->status),
set::control("picker"),
set::strong(true),
set::items($statusOptions)
)
: null,
formGroup
(
set::name("pri"),
set::label($lang->task->pri),
set::value($task->pri),
set::control("picker"),
set::strong(true),
set::items($priOptions)
),
formGroup
(
set::label($lang->task->mailto),
set::strong(true),
inputGroup
(
control(set(array
(
'name' => "mailto[]",
'id' => "mailto",
'value' => $task->mailto,
'type' => "picker",
'items' => $mailtoOptions,
'multiple' => true
))),
control(set(array
(
'name' => "contactListMenu",
'id' => "contactListMenu",
'value' => "",
'disabled' => false,
'type' => "picker",
'onchange' => "setMailto",
'items' => $contactListMenuOptions
)))
)
),
h::strong
(
$lang->task->legendEffort,
setClass('leading-8')
),
formGroup
(
set::name("estStarted"),
set::label($lang->task->estStarted),
set::value($task->estStarted),
set::strong(true),
set::control("date")
),
formGroup
(
set::name("deadline"),
set::label($lang->task->deadline),
set::value($task->deadline),
set::strong(true),
set::control("date")
),
formGroup
(
set::name("estimate"),
set::label($lang->task->estimate),
set::value($task->estimate),
set::strong(true),
set::control("text")
),
formGroup
(
set::name("left"),
set::label($lang->task->left),
set::value($task->left),
set::strong(true),
set::control("text")
),
h::strong
(
$lang->task->legendLife,
setClass('leading-8')
),
formGroup
(
set::name("realStarted"),
set::label($lang->task->realStarted),
set::value(helper::isZeroDate($task->realStarted) ? '' : $task->realStarted),
set::strong(true),
set::control("datetime")
),
formGroup
(
set::name("finishedBy"),
set::label($lang->task->finishedBy),
set::value($task->finishedBy),
set::control("picker"),
set::strong(true),
set::items($finishedByOptions)
),
formGroup
(
set::name("finishedDate"),
set::label($lang->task->finishedDate),
set::value($task->finishedDate),
set::strong(true),
set::control("datetime")
),
formGroup
(
set::name("canceledBy"),
set::label($lang->task->canceledBy),
set::value($task->canceledBy),
set::control("picker"),
set::strong(true),
set::items($canceledByOptions)
),
formGroup
(
set::name("canceledDate"),
set::label($lang->task->canceledDate),
set::value($task->canceledDate),
set::strong(true),
set::control("datetime")
),
formGroup
(
set::name("closedBy"),
set::label($lang->task->closedBy),
set::value($task->closedBy),
set::control("picker"),
set::strong(true),
set::items($closedByOptions)
),
formGroup
(
set::name("closedReason"),
set::label($lang->task->closedReason),
set::value($task->closedReason),
set::control("picker"),
set::strong(true),
set::items($closedReasonOptions)
),
formGroup
(
set::name("closedDate"),
set::label($lang->task->closedDate),
set::value($task->closedDate),
set::strong(true),
set::control("datetime")
),
formRow
(
set::hidden(true),
formGroup
(
set::name("team[]"),
set::value("zenggang"),
set::control("picker"),
set::id("team"),
set::strong(true),
set::items($teamOptions)
),
formGroup
(
inputGroup
(
)
)
),
formRow
(
set::hidden(true),
formGroup
(
set::name("team[]"),
set::value("zenggang"),
set::control("picker"),
set::id("team"),
set::strong(true),
set::items($teamOptions)
),
formGroup
(
inputGroup
(
)
)
),
formRow
(
set::hidden(true),
formGroup
(
set::name("team[]"),
set::control("picker"),
set::id("team"),
set::items($teamOptions)
),
formGroup
(
inputGroup
(
)
)
),
formRow
(
set::hidden(true),
formGroup
(
set::name("team[]"),
set::control("picker"),
set::id("team"),
set::items($teamOptions)
),
formGroup
(
inputGroup
(
)
)
),
formRow
(
set::hidden(true),
formGroup
(
set::name("team[]"),
set::control("picker"),
set::id("team"),
set::items($teamOptions)
),
formGroup
(
inputGroup
(
)
)
),
formRow
(
set::hidden(true),
formGroup
(
set::name("team[]"),
set::control("picker"),
set::id("team"),
set::items($teamOptions)
),
formGroup
(
inputGroup
(
)
)
)
)
)
);
/* ====== Render page ====== */
render();