edittemplate.field.php 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. namespace zin;
  3. global $lang, $app, $config;
  4. $hasCode = !empty($config->setCode);
  5. $project = data('project');
  6. $workflowGroups = data('workflowGroups');
  7. $currency = $config->project->defaultCurrency;
  8. $fields = defineFieldList('project.edittemplate', 'project');
  9. $fields->field('workflowGroup')
  10. ->label($lang->project->workflowGroup)
  11. ->control('picker')
  12. ->disabled(true)
  13. ->value(data('project.workflowGroup'))
  14. ->items($workflowGroups);
  15. $fields->field('name')
  16. ->required(true)
  17. ->control('input')
  18. ->value(data('project.name'));
  19. if($hasCode)
  20. {
  21. $fields->field('code')
  22. ->control('input')
  23. ->value(data('project.code'));
  24. }
  25. $budgetFuture = data('project.budget') !== null && !data('project.budget');
  26. $budgetItemList = array();
  27. $budgetUnitList = data('budgetUnitList') ? data('budgetUnitList') : array();
  28. foreach($budgetUnitList as $key => $value)
  29. {
  30. $budgetItemList[] = array('text' => $value, 'value' => $key, 'url' => "javascript:toggleBudgetUnit('{$key}')");
  31. }
  32. $fields->field('budget')
  33. ->label($lang->project->budget)
  34. ->control('inputControl', array('control' => 'input', 'name' => 'budget', 'prefix' => array('control' => 'dropdown', 'name' => 'budgetUnit', 'items' => $budgetItemList, 'widget' => true, 'text' => zget($lang->project->currencySymbol, data('project.budgetUnit') ? data('project.budgetUnit') : $currency), 'className' => 'ghost'), 'prefixWidth' => 34, 'disabled' => $budgetFuture))
  35. ->tip(' ')
  36. ->tipProps(array('id' => 'budgetTip'))
  37. ->value(data('project.budget'))
  38. ->tipClass('text-danger');
  39. $fields->field('budget')->checkbox(array('text' => $lang->project->future, 'name' => 'future', 'checked' => $budgetFuture));
  40. $fields->field('budgetUnit')->control('hidden')->value($currency);
  41. $fields->field('PM')
  42. ->control('picker')
  43. ->items(data('users'))
  44. ->value(data('project.PM'));
  45. $fields->field('desc')
  46. ->width('full')
  47. ->value(data('project.desc'))
  48. ->control('editor');
  49. $fields->field('acl')->control(array('control' => 'aclBox', 'aclItems' => $lang->project->aclList, 'aclValue' => data('project.acl'), 'whitelistLabel' => $lang->project->whitelist, 'userValue' => data('project.whitelist')))->value(data('project.acl'));
  50. $fields->field('auth')
  51. ->width('full')
  52. ->control('radioList')
  53. ->items($lang->project->authList)
  54. ->value(data('project.auth'));
  55. $storyTypeList = array();
  56. foreach($lang->story->typeList as $key => $text)
  57. {
  58. $disabled = $key == 'story' ? true : false;
  59. $storyTypeList[] = array('text' => $text, 'value' => $key, 'disabled' => $disabled);
  60. }
  61. $fields->field('taskDateLimit')
  62. ->width('full')
  63. ->control(array('control' => 'radioList', 'items' => $lang->project->taskDateLimitList, 'name' => 'taskDateLimit'))
  64. ->value(data('project.taskDateLimit'));
  65. $fields->field('storyType')
  66. ->width('full')
  67. ->control(array('control' => 'checkBox', 'items' => $storyTypeList, 'name' => 'storyType[]'))
  68. ->value(data('project.storyType'));