testtask.max.html.hook.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace zin;
  3. query('dtable')->each(function($node)
  4. {
  5. $node->setProp('plugins', array('cellspan'));
  6. $node->setProp('getCellSpan', jsRaw('window.getCellSpan'));
  7. $data = $node->prop('data');
  8. $testtasks = array();
  9. foreach($data as $testtask)
  10. {
  11. if($testtask->joint && !empty($testtask->productGroup))
  12. {
  13. $trowspan = 0;
  14. foreach($testtask->productGroup as $builds) $trowspan += count($builds);
  15. $testtask->trowspan = $trowspan;
  16. $index = 0;
  17. foreach($testtask->productGroup as $builds)
  18. {
  19. $testtask->prowspan = count($builds);
  20. foreach($builds as $build)
  21. {
  22. $testtaskInfo = clone $testtask;
  23. $testtaskInfo->build = $build->id;
  24. $testtaskInfo->product = $build->product;
  25. $testtaskInfo->project = data('projectID');
  26. $testtaskInfo->buildName = $build->name;
  27. $testtaskInfo->projectName = $build->projectName;
  28. $testtaskInfo->executionName = $build->executionName;
  29. $testtaskInfo->productName = $build->productName;
  30. if($index > 0) $testtaskInfo->id .= '_' . $build->id;
  31. $index ++;
  32. $testtasks[] = $testtaskInfo;
  33. }
  34. }
  35. }
  36. else
  37. {
  38. $testtasks[] = $testtask;
  39. }
  40. }
  41. $node->setProp('data', $testtasks);
  42. });