create.field.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace zin;
  3. global $lang, $config;
  4. $fields = defineFieldList('project.create', 'project');
  5. $model = data('model');
  6. $hasCode = !empty($config->setCode);
  7. $copyProject = !empty(data('copyProjectID'));
  8. $programID = $copyProject ? data('copyProject.parent') : data('parentProgram.id');
  9. $fields->field('parent')
  10. ->control('picker', array('className' => $copyProject ? 'has-warning' : '', 'required' => true))
  11. ->className($copyProject ? 'has-warning' : '')
  12. ->value($programID);
  13. $fields->field('hasProduct')
  14. ->disabled($copyProject)
  15. ->control('checkBtnGroup', array('className' => $copyProject ? 'has-warning' : ''))
  16. ->value($copyProject ? data('copyProject.hasProduct') : '1');
  17. if(in_array($model, array('scrum', 'kanban'))) $fields->field('name')->checkbox(array('text' => $lang->project->multiple, 'name' => 'multiple', 'checked' => $copyProject ? !empty(data('copyProject.multiple')) : true, 'disabled' => $copyProject));
  18. $fields->field('name')
  19. ->className($copyProject ? 'has-warning' : '')
  20. ->tip($copyProject ? $lang->project->copyProject->nameTips : null)
  21. ->tipClass($copyProject ? 'text-warning' : null)
  22. ->value($copyProject ? data('copyProject.name') : '');
  23. if($copyProject) $fields->field('multiple')->hidden(true)->value(in_array($model, array('scrum', 'kanban')) ? data('copyProject.multiple') : 'on');
  24. if($hasCode)
  25. {
  26. $fields->field('code')
  27. ->control('input', array('className' => $copyProject ? 'has-warning' : ''))
  28. ->className($copyProject ? 'has-warning' : '')
  29. ->tip($copyProject ? $lang->project->copyProject->codeTips : null)
  30. ->tipClass($copyProject ? 'text-warning' : null)
  31. ->value($copyProject ? data('copyProject.code') : '');
  32. }
  33. $fields->field('begin')
  34. ->tip($copyProject ? $lang->project->copyProject->endTips : ' ')
  35. ->tipClass('text-warning');
  36. if(!$copyProject || data('copyProject.multiple') != '0') $fields->field('begin')->checkbox(array('text' => $lang->project->longTime, 'name' => 'longTime', 'checked' => false));
  37. $fields->field('days')
  38. ->control('input', array('className' => $copyProject ? 'has-warning' : ''))
  39. ->className($copyProject ? 'has-warning' : '')
  40. ->tip($copyProject ? $lang->project->copyProject->daysTips : null)
  41. ->value($copyProject ? data('copyProject.days') : '')
  42. ->tipClass($copyProject ? 'text-warning' : null);
  43. $fields->field('productsBox')->hidden(data('copyProject') && data('copyProject.hasProduct') == 0);
  44. $fields->field('desc')->value(data('copyProject.desc'));
  45. $fields->field('PM')->value(data('copyProject.PM'));
  46. $fields->field('budget')->value(data('copyProject.budget'));
  47. $fields->field('budget')->foldable();
  48. $fields->field('acl')
  49. ->foldable()
  50. ->control(array('control' => 'aclBox', 'aclItems' => !empty($programID) ? $lang->project->subAclList : $lang->project->aclList, 'aclValue' => $copyProject ? data('copyProject.acl') : 'open', 'whitelistLabel' => $lang->project->whitelist, 'userValue' => data('copyProjectID') ? data('copyProject.whitelist') : ''));
  51. $fields->field('auth')->foldable()->value($copyProject ? data('copyProject.auth') : 'extend');
  52. $storyType = in_array($model, array('waterfall', 'waterfallplus', 'ipd')) ? 'story,requirement' : 'story';
  53. if($copyProject) $storyType = data('copyProject.storyType');
  54. $fields->field('taskDateLimit')->width('full')->foldable()->value($copyProject ? data('copyProject.taskDateLimit') : 'auto');
  55. $fields->field('storyType')->width('full')->foldable()->value($storyType);