* Add long time checkbox to project::create and project::edit, and fix bug #45232.
This commit is contained in:
@@ -44,20 +44,22 @@ if($hasCode)
|
||||
|
||||
$fields->field('PM')->control('picker')->items(data('PMUsers'));
|
||||
|
||||
$isLongTime = data('copyProject') ? data('copyProject.end') == LONG_TIME : data('project.end') == LONG_TIME;
|
||||
$fields->field('begin')
|
||||
->label($lang->project->planDate)
|
||||
->checkbox(array('text' => $lang->project->longTime, 'name' => 'longTime', 'checked' => $isLongTime))
|
||||
->required()
|
||||
->control('inputGroup')
|
||||
->itemBegin('begin')->control('datePicker')->placeholder($lang->project->begin)->value(data('project.begin') ? data('project.begin') : date('Y-m-d'))->required(true)->itemEnd()
|
||||
->item(array('control' => 'span', 'text' => '-'))
|
||||
->itemBegin('end')->control('datePicker')->placeholder($lang->project->end)->required(true)->value(data('project.end'))
|
||||
->itemBegin('end')->control('datePicker')->placeholder($lang->project->end)->required(true)->value(data('project.end'))->className('end-picker')->disabled($isLongTime)
|
||||
->menu(array('items' => jsRaw('window.getDateMenu')))
|
||||
->itemEnd()
|
||||
->tip(' ')
|
||||
->tipProps(array('id' => 'dateTip'))
|
||||
->tipClass('text-warning hidden');
|
||||
|
||||
$fields->field('days')->label($lang->project->days . $lang->project->daysUnit)->control('input');
|
||||
$fields->field('days')->label($lang->project->days . $lang->project->daysUnit)->control('input')->hidden($isLongTime);
|
||||
|
||||
$fields->field('productsBox')
|
||||
->width('full')
|
||||
|
||||
@@ -65,6 +65,7 @@ formGridPanel
|
||||
on::click('[name=name], [name=code], [name=end], [name=days], [data-name="parent"] .pick *', 'removeTips'),
|
||||
on::click('[type=submit]', 'removeAllTips'),
|
||||
on::change('[name=hasProduct]', 'changeType'),
|
||||
on::change('[name=longTime]')->do('$("[name=end]").zui("datePicker").render({disabled: $(target).prop("checked")}); $("[data-name=days]").toggleClass("hidden",$(target).prop("checked"));'),
|
||||
on::change('[name=future]', 'toggleBudget'),
|
||||
on::change('[name=begin], [name=end]', 'computeWorkDays'),
|
||||
on::change('[name^=products]', 'toggleStageBy'),
|
||||
|
||||
@@ -59,6 +59,7 @@ formGridPanel
|
||||
)
|
||||
),
|
||||
on::change('[name=hasProduct]', 'changeType'),
|
||||
on::change('[name=longTime]')->do('$("[name=end]").zui("datePicker").render({disabled: $(target).prop("checked")}); $("[data-name=days]").toggleClass("hidden",$(target).prop("checked"));'),
|
||||
on::change('[name=future]', 'toggleBudget'),
|
||||
on::change('[name=begin], [name=end]', 'computeWorkDays'),
|
||||
on::change('[name=parent], [name=budget]', 'checkBudget'),
|
||||
|
||||
@@ -20,8 +20,8 @@ class projectZen extends project
|
||||
protected function prepareCreateExtras(object $postData): object|false
|
||||
{
|
||||
$project = $postData->setDefault('status', 'wait')
|
||||
->setIF($this->post->delta == 999, 'end', LONG_TIME)
|
||||
->setIF($this->post->delta == 999, 'days', 0)
|
||||
->setIF($this->post->longTime, 'end', LONG_TIME)
|
||||
->setIF($this->post->longTime, 'days', 0)
|
||||
->setIF($this->post->acl == 'open', 'whitelist', '')
|
||||
->setIF(!isset($_POST['whitelist']), 'whitelist', '')
|
||||
->setIF($this->post->multiple != 'on', 'multiple', '0')
|
||||
@@ -83,8 +83,8 @@ class projectZen extends project
|
||||
->setDefault('lastEditedBy', $this->app->user->account)
|
||||
->setDefault('lastEditedDate', helper::now())
|
||||
->setDefault('days', '0')
|
||||
->setIF($this->post->delta == 999, 'end', LONG_TIME)
|
||||
->setIF($this->post->delta == 999, 'days', 0)
|
||||
->setIF($this->post->longTime, 'end', LONG_TIME)
|
||||
->setIF($this->post->longTime, 'days', 0)
|
||||
->setIF($this->post->future, 'budget', 0)
|
||||
->setIF($this->post->budget != 0, 'budget', round((float)$this->post->budget, 2))
|
||||
->join('whitelist', ',')
|
||||
|
||||
Reference in New Issue
Block a user