50 lines
1.8 KiB
PHP
50 lines
1.8 KiB
PHP
<?php
|
|
namespace zin;
|
|
|
|
$parentID = $program->parent;
|
|
$currency = $parentID ? $parentProgram->budgetUnit : $config->project->defaultCurrency;
|
|
$aclList = $parentID ? $lang->program->subAclList : $lang->program->aclList;
|
|
$delta = $program->end == LONG_TIME ? 999 : (strtotime($program->end) - strtotime($program->begin)) / 3600 / 24 + 1;
|
|
|
|
jsVar('page', 'edit');
|
|
jsVar('longTime', $lang->project->longTime);
|
|
jsVar('weekend', $config->execution->weekend);
|
|
jsVar('parentBudget', $lang->program->parentBudget);
|
|
jsVar('beginLessThanParent', $lang->program->beginLessThanParent);
|
|
jsVar('endGreatThanParent', $lang->program->endGreatThanParent);
|
|
jsVar('ignore', $lang->program->ignore);
|
|
jsVar('currencySymbol', $lang->project->currencySymbol);
|
|
jsVar('budgetOverrun', $lang->project->budgetOverrun);
|
|
|
|
unset($lang->project->endList['999']);
|
|
jsVar('endList', $lang->project->endList);
|
|
|
|
$fields = useFields('program.edit');
|
|
|
|
$autoLoad = array();
|
|
$autoLoad['parent'] = 'future,budget,budgetUnit,acl,whitelist';
|
|
|
|
$handleLongTimeChange = jsCallback()->do(<<<'JS'
|
|
const endPicker = $element.find('[name=end]').zui('datePicker');
|
|
const longTime = $element.find('[name=longTime]').prop('checked');
|
|
endPicker.render({disabled: longTime});
|
|
if(longTime) endPicker.$.setValue('');
|
|
JS);
|
|
|
|
formGridPanel
|
|
(
|
|
set::modeSwitcher(false),
|
|
set::title($title),
|
|
set::fields($fields),
|
|
set::loadUrl($loadUrl),
|
|
set::autoLoad($autoLoad),
|
|
on::change('[name=budget]', 'budgetOverrunTips'),
|
|
on::change('[name=future]', 'onFutureChange'),
|
|
on::change('[name=acl]', 'onAclChange'),
|
|
on::change('[name=longTime]', $handleLongTimeChange),
|
|
on::change('[name=begin], [name=end]', 'onDateChange'),
|
|
on::init()->do('setTimeout(() => $element.find("[name=longTime]").trigger("change"), 500)')
|
|
);
|
|
|
|
render();
|