edit.biz.html.hook.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace zin;
  3. global $lang;
  4. jsVar('currentMethod', 'edit');
  5. $projectID = data('projectID');
  6. $project = data('project');
  7. $from = data('from');
  8. $programID = data('programID');
  9. $loadUrl = helper::createLink('project', 'edit', "projectID={$projectID}&from={$from}&programID={$programID}&extra=charter={charter}");
  10. query('formGridPanel')->each(function($node) use($lang, $loadUrl, $project)
  11. {
  12. $fields = $node->prop('fields');
  13. if(data('config.systemMode') == 'light' || $project->model == 'kanban') $fields->field('parent')->wrapAfter();
  14. $fields->field('charter')
  15. ->class('charterBox')
  16. ->control(array('control' => 'picker', 'data-on' => 'change', 'data-call' => 'changeCharter'))
  17. ->items(data('charters'))
  18. ->value(data('charter'))
  19. ->disabled(data('disableModel'))
  20. ->hidden(data('config.systemMode') == 'light' || $project->model == 'kanban' || (!helper::hasFeature('program') && data('config.edition') != 'ipd'))
  21. ->moveAfter('parent');
  22. $fields->field('linkType')->value(data('linkType'))->hidden(true);
  23. $fields->field('productsBox')
  24. ->width('full')
  25. ->required(data('copyProject.parent') || data('parentProgram.id') || data('project.parent'))
  26. ->hidden(!data('charter') && !data('project.hasProduct'))
  27. ->control(array
  28. (
  29. 'control' => 'productsBox',
  30. 'productItems' => data('charter') ? data('charterProductPairs') : data('allProducts'),
  31. 'branchGroups' => data('charter') ? data('branchPairs') : data('branchGroups'),
  32. 'planGroups' => data('charter') ? data('charterPlans') : data('productPlans'),
  33. 'roadmapGroups' => data('productRoadmaps'),
  34. 'productPlans' => data('charter') ? data('charterPlans') : data('productPlans'),
  35. 'linkedProducts' => data('charter') ? data('charterProducts') : data('linkedProducts'),
  36. 'linkedBranches' => data('linkedBranches'),
  37. 'project' => data('project') ? data('project') : data('copyProject'),
  38. 'hasNewProduct' => data('app.rawMethod') == 'create',
  39. 'isStage' => data('isStage'),
  40. 'type' => data('linkType'),
  41. 'charterID' => data('charter'),
  42. 'errorSameProducts' => $lang->project->errorSameProducts,
  43. 'selectTip' => $lang->project->selectProductTip
  44. ));
  45. $fields->autoLoad('charter', 'productsBox,linkType');
  46. $fields->orders('parent,charter,name', 'days,PM,budget');
  47. $fields->field('hasProduct')->hidden(true);
  48. $node->setProp('fields', $fields);
  49. $node->setProp('loadUrl', $loadUrl);
  50. });