create.ipd.html.hook.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace zin;
  3. global $app, $lang;
  4. //$roadmaps = $app->control->loadModel('roadmap')->getPairs(data('productID'), 0, 'noclosed');
  5. $createFields = data('fields');
  6. $feedback = data('feedback');
  7. $isBranchUR = isset($createFields['branch']) && $type != 'story';
  8. query('formGridPanel')->each(function($node) use($createFields, $feedback, $lang, $isBranchUR)
  9. {
  10. $fields = $node->prop('fields');
  11. $fields->field('product')
  12. ->hidden(data('product.shadow'))
  13. ->required()
  14. ->control('inputGroup')
  15. ->items(false)
  16. ->itemBegin('product')->control('picker')->items($createFields['product']['options'])->value($createFields['product']['default'])->required(true)->itemEnd()
  17. ->item($isBranchUR ? field('branch')->control('picker')->boxClass('flex-none')->width('100px')->name('branch')->items($createFields['branch']['options'])->value($createFields['branch']['default'])->set(array('data-on' => 'change', 'data-call' => 'loadBranchRoadmaps')) : null);
  18. $fields->field('duration')
  19. ->required($createFields['duration']['required'])
  20. ->items($createFields['duration']['options'])
  21. ->value($createFields['duration']['default'])
  22. ->moveAfter('title');
  23. $fields->field('BSA')
  24. ->required($createFields['BSA']['required'])
  25. ->items($createFields['BSA']['options'])
  26. ->value($createFields['BSA']['default']);
  27. $fields->field('keywords')->value(!empty($feedback->keywords) ? $feedback->keywords : '');
  28. //$fields->field('roadmap')
  29. // ->foldable()
  30. // ->control('inputGroup')
  31. // ->items(false)
  32. // ->itemBegin('roadmap')->control('picker')->id('roadmapIdBox')->items($roadmaps)->value('')->itemEnd()
  33. // ->item(empty($roadmaps) ? field()->control('btn')->icon('plus')->url(createLink('roadmap', 'create', 'productID=' . data('productID'), '', true))->set(array('data-toggle' => 'modal', 'data-size' => 'lg', 'data-type' => 'iframe'))->set('title', $lang->roadmap->create) : null)
  34. // ->item(empty($roadmaps) ? field()->control('btn')->icon('refresh')->id("loadProductRoadmaps")->set('title', $lang->refresh)->set(array('data-on' => 'click', 'data-call' => 'loadProductRoadmaps', 'data-params' => data('productID'))) : null);
  35. if(!empty($fields->defaultOrders))
  36. {
  37. $orders = current($fields->defaultOrders);
  38. if(strpos($orders, ',reviewer,') !== false)
  39. {
  40. $orders = str_replace(',reviewer,', ',reviewer,duration,BSA,', $orders);
  41. $fields->defaultOrders[0] = $orders;
  42. }
  43. }
  44. if(!empty($fields->ordersForFull))
  45. {
  46. $orders = current($fields->ordersForFull);
  47. if(strpos($orders, ',reviewer,') !== false)
  48. {
  49. $orders = str_replace(',reviewer,', ',reviewer,duration,BSA,', $orders);
  50. $fields->ordersForFull[0] = $orders;
  51. }
  52. }
  53. //$fields->sort('files,roadmap');
  54. //$fields->fullModeOrders('module,roadmap,parent');
  55. $node->setProp('fields', $fields);
  56. });