setdocbasic.html.php 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <?php
  2. /**
  3. * The setDocBasic view file of doc module of ZenTaoPMS.
  4. * @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
  5. * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  6. * @author Guangming Sun <sunguangming@easycorp.ltd>
  7. * @package doc
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. if($objectType == 'template')
  12. {
  13. include 'setdocbasic.template.html.php';
  14. return;
  15. }
  16. if($modalType == 'chapter') $lang->doc->aclList['private'] = $lang->doclib->aclList['private'];
  17. formPanel
  18. (
  19. setID('setDocBasicForm'),
  20. setData('officeTypes', $this->config->doc->officeTypes),
  21. setData('docType', isset($doc) ? $doc->type : 'undefined'),
  22. set::title($title),
  23. set::submitBtnText($lang->save),
  24. on::change('[name=space],[name=product],[name=execution]')->call('loadObjectModules', jsRaw('event'), $docID),
  25. on::change('[name=lib]')->call('loadLibModules', jsRaw('event'), $docID),
  26. on::change('[name=project]')->call('loadExecutions', jsRaw('event')),
  27. on::change('[name=lib],[name^=users]', "checkLibPriv('#whiteListBox', 'users')"),
  28. on::change('[name=lib],[name^=readUsers]', "checkLibPriv('#readListBox', 'readUsers')"),
  29. set::ajax(array('beforeSubmit' => jsRaw('window.beforeSetDocBasicInfo'))),
  30. formGroup
  31. (
  32. set::width('1/2'),
  33. set::label($modalType == 'chapter' ? $lang->doc->chapterName : $lang->doc->title),
  34. set::name('title'),
  35. set::required(true),
  36. set::value($docTitle)
  37. ),
  38. $this->app->tab == 'doc' && $objectType == 'project' && $modalType != 'chapter' ? formRow
  39. (
  40. formGroup
  41. (
  42. setClass('w-1/2'),
  43. set::label($lang->doc->project),
  44. set::name('project'),
  45. set::items(createLink('project', 'ajaxGetDropMenu', "objectID=$objectID&module=&method=&extra=selectmode&useLink=0")),
  46. set::value(isset($execution) ? $execution->project : $objectID),
  47. set::required(true)
  48. ),
  49. ($mode == 'create' && $this->app->tab == 'doc' and $config->vision == 'rnd') ? formGroup
  50. (
  51. setClass('w-1/2'),
  52. set::label($lang->doc->execution),
  53. set::control(array('control' => 'picker', 'name' => 'execution', 'items' => $executions, 'value' => isset($execution) ? $objectID : ''))
  54. ) : null
  55. ) : null,
  56. $this->app->tab == 'doc' && $objectType == 'execution' && $modalType != 'chapter' ? formGroup
  57. (
  58. set::width('1/2'),
  59. set::label($lang->doc->execution),
  60. set::required(true),
  61. set::control(array('control' => 'picker', 'name' => 'execution', 'items' => $objects, 'required' => true, 'value' => $lib->execution))
  62. ) : null,
  63. $this->app->tab == 'doc' && $objectType == 'product' && $modalType != 'chapter' ? formGroup
  64. (
  65. set::width('1/2'),
  66. set::label($lang->doc->product),
  67. set::name('product'),
  68. set::items(createLink('product', 'ajaxGetDropMenu', "objectID=$objectID&module=&method=&extra=selectmode&useLink=0")),
  69. set::value($objectID),
  70. set::required(true)
  71. ) : null,
  72. (($objectType == 'custom' || $objectType === 'mine') && $modalType != 'chapter') ? formGroup
  73. (
  74. set::width('1/2'),
  75. set::label($lang->doc->space),
  76. set::required(true),
  77. set::control(array('control' => 'picker', 'name' => 'space', 'items' => $spaces, 'required' => true, 'value' => "{$objectType}.{$objectID}"))
  78. ) : null,
  79. ($modalType != 'chapter' || !$isCreate) ? formGroup
  80. (
  81. setData('libType', $objectType),
  82. set::width('1/2'),
  83. set::label($lang->doc->lib),
  84. set::required(true),
  85. picker(set::name('lib'), set::items($libs), set::value(isset($libs[$libID]) ? $libID : ''), set::required(true))
  86. ) : null,
  87. ($modalType != 'chapter' || !$isCreate) ? formGroup(set::width('1/2'), set::label($lang->doc->module), picker
  88. (
  89. set::name('parent'),
  90. set::items($modalType != 'chapter' ? array('m_0' => '/') + $chapterAndDocs : $chapterAndDocs),
  91. set::value($parentID ? $parentID : "m_$moduleID"),
  92. set::required(true)
  93. )) : null,
  94. $objectType !== 'mine' && $modalType != 'chapter' ? formGroup
  95. (
  96. set::label($lang->doc->mailto),
  97. mailto(set::items($users), set::value(isset($doc) ? $doc->mailto : null))
  98. ) : null,
  99. isset($doc) && $doc->contentType != 'doc' ? formGroup
  100. (
  101. setStyle('min-height', 'auto'),
  102. set::label($lang->doc->files),
  103. fileSelector()
  104. ) : null,
  105. formGroup
  106. (
  107. set::label($lang->doclib->control),
  108. radioList
  109. (
  110. setClass($objectType == 'mine' ? 'pointer-events-none' : ''),
  111. set::name('acl'),
  112. set::items($lang->doc->aclList),
  113. set::value(isset($doc) ? $doc->acl : ($objectType == 'mine' ? 'private' : 'open')),
  114. $objectType != 'mine' ? on::change('toggleWhiteList') : null
  115. )
  116. ),
  117. formGroup
  118. (
  119. setID('whiteListBox'),
  120. setClass((isset($doc) && $libID == $doc->lib && $objectType != 'mine' && $doc->acl == 'private') ? '' : 'hidden'),
  121. set::label($lang->doc->whiteList),
  122. div
  123. (
  124. setClass('w-full check-list'),
  125. inputGroup
  126. (
  127. setClass('w-full'),
  128. $lang->doc->groupLabel,
  129. picker
  130. (
  131. set::name('groups[]'),
  132. set::items($groups),
  133. set::value(isset($doc) ? $doc->groups : null),
  134. set::multiple(true)
  135. )
  136. ),
  137. div
  138. (
  139. setClass('w-full'),
  140. userPicker
  141. (
  142. set::label($lang->doc->userLabel),
  143. set::items($users),
  144. set::value(isset($doc) ? $doc->users : null)
  145. )
  146. )
  147. )
  148. )
  149. );