common.field.php 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace zin;
  3. global $lang, $config;
  4. $fields = defineFieldList('program');
  5. $fields->field('parent')
  6. ->control(array('control' => 'picker', 'required' => true))
  7. ->items(data('parents'))
  8. ->value(data('parentProgram.id') ? data('parentProgram.id') : 0)
  9. ->data('parentBudget', data('parentProgram.budget'))
  10. ->data('parentBegin', data('parentProgram.begin'))
  11. ->data('parentEnd', data('parentProgram.end'));
  12. $fields->field('name')
  13. ->wrapBefore(true);
  14. $fields->field('PM')
  15. ->items(data('pmUsers'));
  16. $fields->field('dateRange')
  17. ->required()
  18. ->label($lang->project->dateRange)
  19. ->checkbox(array('text' => $lang->project->longTime, 'name' => 'longTime'))
  20. ->controlBegin('dateRangePicker')
  21. ->beginName('begin')
  22. ->beginPlaceholder($lang->project->begin)
  23. ->beginValue(date('Y-m-d'))
  24. ->endName('end')
  25. ->endPlaceholder($lang->project->end)
  26. ->endValue('')
  27. ->endList($lang->execution->endList)
  28. ->controlEnd()
  29. ->tip(' ')
  30. ->tipProps(array('id' => 'dateTip'))
  31. ->tipClass('text-warning hidden');
  32. $budgetItemList = array();
  33. $budgetUnitList = data('budgetUnitList') ? data('budgetUnitList') : array();
  34. foreach($budgetUnitList as $key => $value)
  35. {
  36. $budgetItemList[] = array('text' => $value, 'value' => $key, 'url' => "javascript:toggleBudgetUnit('{$key}')");
  37. }
  38. $currency = data('parentProgram.budgetUnit') ? data('parentProgram.budgetUnit') : (data('program.budgetUnit') ? data('program.budgetUnit') : $config->project->defaultCurrency);
  39. $budgetDisabled = (data('parentProgram.budget') !== null && empty(data('parentProgram.budget'))) || (data('program.budget') !== null && empty(data('program.budget')));
  40. $budgetUnitDisabled = data('parentProgram.budgetUnit') ? true : false;
  41. $fields->field('budget')
  42. ->label($lang->project->budget)
  43. ->checkbox(array('name' => 'future', 'text' => $lang->project->future, 'checked' => $budgetDisabled ? true : false))
  44. ->control('inputControl', array('control' => 'input', 'name' => 'budget', 'value' => (data('program.budget') !== null && data('program.budget') != 0 ? data('program.budget') : ''), 'prefix' => array('control' => 'dropdown', 'name' => 'budgetUnit', 'items' => $budgetItemList, 'widget' => true, 'text' => zget($lang->project->currencySymbol, $currency), 'className' => 'ghost', 'disabled' => $budgetUnitDisabled), 'prefixWidth' => 34, 'disabled' => $budgetDisabled));
  45. if(data('parentProgram.budget'))
  46. {
  47. $fields->field('budget')
  48. ->tip(' ')
  49. ->tipProps(array('id' => 'budgetTip'))
  50. ->tipClass('text-warning hidden');
  51. }
  52. $fields->field('budgetUnit')->control('hidden')->value($currency);
  53. $fields->field('desc')
  54. ->width('full')
  55. ->control('editor');
  56. $fields->field('acl')
  57. ->width('full')
  58. ->control('radioList');
  59. $fields->field('whitelist')
  60. ->width('full')
  61. ->control('whiteList')
  62. ->items(data('users'))
  63. ->hidden(true);