relateobject.html.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. /**
  3. * The relateObject file of custom module of ZenTaoPMS.
  4. *
  5. * @copyright Copyright 2009-2024 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
  6. * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  7. * @author Qiyu Xie <xieqiyu@chandao.com>
  8. * @package custom
  9. * @link https://www.zentao.net
  10. */
  11. namespace zin;
  12. jsVar('relateObjectList', $this->config->custom->relateObjectList);
  13. jsVar('relationPairs', $relationPairs);
  14. jsVar('objectID', $objectID);
  15. jsVar('objectType', $objectType);
  16. jsVar('vision', $this->config->vision);
  17. modalHeader(set::title($lang->custom->relateObject), set::titleClass('font-bold text-lg'));
  18. featureBar
  19. (
  20. inputGroup
  21. (
  22. set::className('mb-4 mr-4'),
  23. $lang->custom->relateObject,
  24. picker
  25. (
  26. set::name('relatedObjectType'),
  27. set::items($config->custom->relateObjectList),
  28. set::value($relatedObjectType),
  29. set::required(true),
  30. setClass('w-60'),
  31. set::onChange(jsRaw("(value) => switchObject(value)"))
  32. )
  33. )
  34. );
  35. $module = in_array($relatedObjectType, array('epic', 'requirement')) ? 'story' : $relatedObjectType;
  36. searchForm
  37. (
  38. set::module($module),
  39. set::simple(true),
  40. set::show(true)
  41. );
  42. dtable
  43. (
  44. setID('relateObject'),
  45. set::cols($cols),
  46. set::data($objects),
  47. set::userMap($users),
  48. set::noNestedCheck(),
  49. set::sortLink(inlink('relateObject', "objectID={$objectID}&objectType={$objectType}&relatedObjectType={$relatedObjectType}&browseType={$browseType}&orderBy={name}_{sortType}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}")),
  50. set::checkable(true),
  51. set::footToolbar(array('items' => array(array
  52. (
  53. 'text' => $lang->save,
  54. 'className' => 'ajax-btn batch-btn',
  55. 'data-url' => inlink('relateObject', "objectID=$objectID&objectType=$objectType&relatedObjectType=$relatedObjectType"),
  56. 'btnProps' => array('size' => 'sm', 'btnType' => 'secondary')
  57. ))
  58. )),
  59. set::footPager(usePager()),
  60. set::onRenderCell(jsRaw('window.renderCell')),
  61. set::plugins(array('form'))
  62. );