edit.ipd.html.hook.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <?php
  2. if($project->model == 'kanban') return;
  3. js::set('currentCharter', $project->charter);
  4. $this->loadModel('roadmap');
  5. $charters = array(0 => '') + $this->loadModel('charter')->getPairs();
  6. $charter = '<tr>';
  7. $charter .= "<th class='w-120px'>";
  8. $charter .= $lang->project->charter;
  9. $charter .= '</th>';
  10. $charter .= '<td>';
  11. $charter .= html::select('charter', $charters, $project->charter, "class='form-control chosen' $disableModel");
  12. $charter .= '</td>';
  13. $charter .= '</tr>';
  14. $category = '<tr>';
  15. $category .= '<th>';
  16. $category .= $lang->project->category;
  17. $category .= '</th>';
  18. $category .= '<td>';
  19. $category .= html::select('category', $lang->project->categoryList, $project->category, "class='form-control chosen' disabled='disabled'");
  20. $category .= '</td>';
  21. $category .= "<td id='hasProductBox' class='hidden'>";
  22. $category .= html::radio('hasProduct', $lang->project->projectTypeList, $project->hasProduct);
  23. $category .= '</td>';
  24. $category .= '</tr>';
  25. $productRoadmap = '<tr id="productRoadmap">';
  26. $productRoadmap .= '<th>';
  27. $productRoadmap .= $lang->project->manageProductRoadmap;
  28. $productRoadmap .= '</th>';
  29. $productRoadmap .= '<td>';
  30. $productRoadmap .= '<div class="input-group">';
  31. $productRoadmap .= '<span class="input-group-addon">' . $lang->product->common . '</span>';
  32. $productRoadmap .= html::input('productName', '', "class='form-control' disabled");
  33. $productRoadmap .= html::hidden('products[]');
  34. $productRoadmap .= html::hidden('branch[0][]', 0);
  35. $productRoadmap .= '</div>';
  36. $productRoadmap .= '</td>';
  37. $productRoadmap .= '<td>';
  38. $productRoadmap .= '<div class="input-group">';
  39. $productRoadmap .= '<span class="input-group-addon">' . $lang->roadmap->common . '</span>';
  40. $productRoadmap .= html::input('roadmapName', '', "class='form-control' disabled");
  41. $productRoadmap .= '</div>';
  42. $productRoadmap .= '</td>';
  43. $productRoadmap .= '</tr>';
  44. ?>
  45. <script>
  46. $(function()
  47. {
  48. $('#dataform > .table').prepend(<?php echo json_encode($charter);?>);
  49. $('#PM').closest('tr').before(<?php echo json_encode($category);?>);
  50. $('#charter').chosen();
  51. $('#category').chosen();
  52. $('#projectType').closest('tr').remove();
  53. $('#model').closest('tr').remove();
  54. $('input[name="multiple"').closest('tr').remove();
  55. $('#category').change(function()
  56. {
  57. var category = $(this).val();
  58. toggleHasProduct(category);
  59. })
  60. $('#charter').change(function()
  61. {
  62. var charterID = $('#charter').val();
  63. $('tr.newLine').remove();
  64. toggleProductGroup(charterID);
  65. })
  66. })
  67. function toggleHasProduct(category)
  68. {
  69. hasCharter = $('#charter').val();
  70. if(category == 'CPD' && hasCharter == '0')
  71. {
  72. $('#hasProductBox').removeClass('hidden');
  73. }
  74. else
  75. {
  76. $('#hasProductBox').find("input[name='hasProduct'][value='1']").prop('checked', true);
  77. $('#hasProductBox').addClass('hidden');
  78. $('#productTitle, #linkPlan').closest('tr').show();
  79. }
  80. }
  81. function toggleProductGroup(charterID)
  82. {
  83. $('#categoryHide').remove();
  84. $('#productRoadmap').remove();
  85. if(charterID != '0')
  86. {
  87. $('.productsBox').closest('tr').addClass('hidden');
  88. $('.productsBox').closest('tr').after(<?php echo json_encode($productRoadmap);?>);
  89. var link = createLink('charter', 'ajaxGetCharterInfo', 'id=' + charterID);
  90. $.get(link, function(data)
  91. {
  92. data = JSON.parse(data);
  93. $('#category').val(data.category).attr('disabled', true).trigger("chosen:updated").chosen();
  94. $('#category').after("<input type='hidden' name='category' id='categoryHide' value='" + data.category + "'/>");
  95. $('#budget').val(data.budget);
  96. $('#budgetUnit').val(data.budgetUnit);
  97. $('#productRoadmap #productName').val(data.productName);
  98. $('#roadmapName').val(data.roadmapName);
  99. $('#products').val(data.product);
  100. toggleHasProduct(data.category);
  101. })
  102. }
  103. else
  104. {
  105. $('.productsBox').closest('tr').removeClass('hidden');
  106. $('#category').attr('disabled', false).trigger("chosen:updated").chosen();
  107. }
  108. }
  109. toggleProductGroup(currentCharter);
  110. </script>