properties_index_update_task.xts 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: ps
  5. (C) Copyright IBM Corp. 2005, 2013
  6. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. -->
  8. <!--
  9. Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
  10. Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
  11. -->
  12. <xts:morphlet xmlns:xts="http://developer.cognos.com/schemas/xts/" messageBase="messages/portal.xml, messages/portalRL.xml">
  13. <xts:block id="formlogic_init" type="exec" mode="interpret" processor="XSLT" path="/logicsheets/formlogic_init.xslt" nodelist="env,credential,system,http"/>
  14. <!-- Load object-specific property tabs map ============================================================== -->
  15. <xts:block id="getTabs" dependency="formlogic_init" type="exec" mode="interpret" processor="XML" path="/portal/uiobjects_tabs.xml"/>
  16. <!--
  17. ===============================================================================================
  18. callMorphlet - Calls the appropriate morphlet using the passed in params which will return
  19. markup to be displayed or the expected results
  20. ===============================================================================================
  21. -->
  22. <xts:block
  23. id="callMorphlet"
  24. nodelist="requestParams,env, http, session, credential, cookies, header, user"
  25. processor="XSLT"
  26. type="exec"
  27. dependency="getTabs"
  28. condition=".[ /root/env/param[@name='controller_state'] != '' ]"
  29. mandatory="false">
  30. <xts:logicsheet path="logicsheets/portal.xsl"/>
  31. <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
  32. <xsl:stylesheet version="1.0"
  33. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  34. xmlns:dlgctrl="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/controller-templates/"
  35. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  36. xmlns:req-params="http://developer.cognos.com/schemas/request/params"
  37. exclude-result-prefixes="xsl dlgctrl xtsext req-params">
  38. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  39. <xsl:key name="request-param" match="/root/*[local-name()='requestParams']/*[local-name()='param']" use="@name"/>
  40. <xsl:template match="/">
  41. <xts:sequence>
  42. <dlgctrl:XTS2Request>
  43. <dlgctrl:target>/portal/addEntries/add_entries.xts</dlgctrl:target>
  44. <dlgctrl:stackName>addEntriesStack</dlgctrl:stackName>
  45. <req-params:param name="defaultTarget">/portal/properties_index_update_task.xts</req-params:param>
  46. <req-params:param name="titlePostfix"><xsl:value-of select="/root/env/param[@name='m_name']"/></req-params:param>
  47. <req-params:param name="defaultSearchPath">/</req-params:param>
  48. <req-params:param name="addEntriesUI">indexUpdateLocations</req-params:param>
  49. <req-params:param name="allowRootBrowsing">true</req-params:param>
  50. <req-params:param name="allowDuplicates">false</req-params:param>
  51. <req-params:param name="returnProperties">
  52. <req-params:property name="userInterfaces"/>
  53. </req-params:param>
  54. </dlgctrl:XTS2Request>
  55. </xts:sequence>
  56. </xsl:template>
  57. </xsl:stylesheet>
  58. </xts:block>
  59. <!--
  60. ===============================================================================================
  61. processReponse - Process the response from the callMorphlet block and either displays
  62. the markup or processes the results
  63. ===============================================================================================
  64. -->
  65. <xts:block
  66. id="processResponse"
  67. nodelist="output,http,env,system,user,morphletResponse,credential,cookies"
  68. path="/portal/addEntries/logicsheets/process_added_entries.xslt"
  69. processor="XSLT"
  70. dependency="callMorphlet"
  71. type="exec"
  72. condition=".[ /root/env/param[@name='controller_state'] != '' ]"
  73. mandatory="false">
  74. <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
  75. <xts:logicsheet path="logicsheets/portal.xsl"/>
  76. </xts:block>
  77. <!--
  78. ===============================================================================================
  79. getContent
  80. ===============================================================================================
  81. -->
  82. <xts:block id="getContent" processor="XSLT" type="exec" dependency="processResponse" condition=".[not(/root/mode='addEntries')]" mandatory="false">
  83. <xts:logicsheet path="logicsheets/contentadmin.xsl"/>
  84. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  85. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  86. <xsl:stylesheet version="1.0"
  87. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  88. xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
  89. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  90. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  91. xmlns:adm="http://developer.cognos.com/schemas/xts/logicsheets/contentadmin/"
  92. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  93. exclude-result-prefixes="xsl cml cm send adm">
  94. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  95. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  96. <xsl:template match="/">
  97. <xts:sequence>
  98. <xts:append>
  99. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  100. <send:request provider="cm">
  101. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  102. <cm:query>
  103. <cm:search>
  104. <xsl:value-of select="key('env-param','m_obj')"/>
  105. </cm:search>
  106. <cm:properties>
  107. <cml:prop-report/>
  108. <cm:property name="options"/>
  109. </cm:properties>
  110. <cm:options schemaInfo="true"/>
  111. </cm:query>
  112. </xts:transform>
  113. </send:request>
  114. </xts:transform>
  115. </xts:append>
  116. <!-- if it's the first time we hit this dialog, then create any queries that need to be sent
  117. to CM for the index upgrade options. Also create the params that should be copied into the env -->
  118. <xsl:if test="not(key('env-param','m_firstrun'))">
  119. <adm:parseIndexUpdateTaskOptions optionsPath="/root/*[local-name()='queryResponse']/*/*[local-name()='options']"/>
  120. </xsl:if>
  121. <!-- unpack the indexUpdate information -->
  122. <xsl:if test="key('env-param','m_indexUpdates')!=''">
  123. <xts:append>
  124. <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap',string(key('env-param','m_indexUpdates'))), true())" disable-output-escaping="yes"/>
  125. </xts:append>
  126. </xsl:if>
  127. </xts:sequence>
  128. </xsl:template>
  129. </xsl:stylesheet>
  130. </xts:block>
  131. <!--
  132. ===============================================================================================
  133. genDefaultIndexUpdateOptions - Query CM for the display information needed, build the appropriate XML structure
  134. of the indexUpdateTask and populate the DOM
  135. ===============================================================================================
  136. -->
  137. <xts:block id="genDefaultIndexUpdateOptions" processor="XSLT" type="exec" dependency="getContent" condition=".[/root/indexUpdateTaskSearchPaths/include/*[local-name()='query']!='' and not(/root/mode='addEntries')]" mandatory="false">
  138. <xts:logicsheet path="logicsheets/portal.xsl"/>
  139. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  140. <xsl:stylesheet version="1.0"
  141. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  142. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  143. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  144. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  145. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  146. exclude-result-prefixes="xsl cm send pf xtsext">
  147. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  148. <pf:variables/>
  149. <xsl:template match="/">
  150. <xts:sequence>
  151. <!-- Included Content -->
  152. <xts:append select="/root">
  153. <indexUpdateInfoResponse>
  154. <xsl:if test="/root/indexUpdateTaskSearchPaths/include">
  155. <include>
  156. <xts:transform src="transforms/portal/options/swapSearchPaths.xslt" processor="XSLT">
  157. <root>
  158. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  159. <send:request provider="cm">
  160. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  161. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  162. <cm:requests>
  163. <xsl:copy-of select="/root/indexUpdateTaskSearchPaths/include/*[local-name()='query']"/>
  164. </cm:requests>
  165. </cm:query>
  166. </xts:transform>
  167. </send:request>
  168. </xts:transform>
  169. <queryBuiltFromOptions>
  170. <xsl:copy-of select="/root/indexUpdateTaskSearchPaths/include/*[local-name()='query']"/>
  171. </queryBuiltFromOptions>
  172. </root>
  173. </xts:transform>
  174. </include>
  175. </xsl:if>
  176. <xsl:if test="/root/indexUpdateTaskSearchPaths/exclude">
  177. <exclude>
  178. <xts:transform src="transforms/portal/options/swapSearchPaths.xslt" processor="XSLT">
  179. <root>
  180. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  181. <send:request provider="cm">
  182. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  183. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  184. <cm:requests>
  185. <xsl:copy-of select="/root/indexUpdateTaskSearchPaths/exclude/*[local-name()='query']"/>
  186. </cm:requests>
  187. </cm:query>
  188. </xts:transform>
  189. </send:request>
  190. </xts:transform>
  191. <queryBuiltFromOptions>
  192. <xsl:copy-of select="/root/indexUpdateTaskSearchPaths/exclude/*[local-name()='query']"/>
  193. </queryBuiltFromOptions>
  194. </root>
  195. </xts:transform>
  196. </exclude>
  197. </xsl:if>
  198. </indexUpdateInfoResponse>
  199. </xts:append>
  200. <!-- Read existing content in the update task (ex: when page is first loaded) -->
  201. <xts:append select="/root">
  202. <indexUpdates>
  203. <xsl:if test="/root/indexUpdateTaskSearchPaths/include">
  204. <include>
  205. <xts:transform src="portal/addEntries/transforms/sortAddedEntriesList.xslt" processor="XSLT">
  206. <root>
  207. <addedEntriesList>
  208. <xts:transform src="transforms/portal/options/genStandardIndexUpdateEntries.xslt" processor="XSLT">
  209. <root>
  210. <xts:queryNode select="/root/indexUpdateInfoResponse/include/*"/>
  211. <searchPaths>
  212. <xts:queryNode select="/root/indexUpdateTaskSearchPaths/include/*"/>
  213. </searchPaths>
  214. </root>
  215. </xts:transform>
  216. </addedEntriesList>
  217. <contentLocale><xsl:value-of select="$contentLocale"/></contentLocale>
  218. </root>
  219. </xts:transform>
  220. </include>
  221. </xsl:if>
  222. <xsl:if test="/root/indexUpdateTaskSearchPaths/exclude">
  223. <exclude>
  224. <xts:transform src="portal/addEntries/transforms/sortAddedEntriesList.xslt" processor="XSLT">
  225. <root>
  226. <addedEntriesList>
  227. <xts:transform src="transforms/portal/options/genStandardIndexUpdateEntries.xslt" processor="XSLT">
  228. <root>
  229. <xts:queryNode select="/root/indexUpdateInfoResponse/exclude/*"/>
  230. <searchPaths>
  231. <xts:queryNode select="/root/indexUpdateTaskSearchPaths/exclude/*"/>
  232. </searchPaths>
  233. </root>
  234. </xts:transform>
  235. </addedEntriesList>
  236. <contentLocale><xsl:value-of select="$contentLocale"/></contentLocale>
  237. </root>
  238. </xts:transform>
  239. </exclude>
  240. </xsl:if>
  241. </indexUpdates>
  242. </xts:append>
  243. <!-- Add new entries to either the include or exclude list -->
  244. <xsl:if test="key('env-param','include_or_exclude') != ''"><!--maybe add another condition here to make sure there is content to append-->
  245. <xts:append select="/root/indexUpdates">
  246. <xsl:variable name="includeOrExclude" select="key('env-param','include_or_exclude')"/>
  247. <xsl:element name="{$includeOrExclude}">
  248. <xts:transform src="portal/addEntries/transforms/sortAddedEntriesList.xslt" processor="XSLT">
  249. <root>
  250. <addedEntriesList>
  251. <xts:transform src="transforms/portal/options/genStandardIndexUpdateEntries.xslt" processor="XSLT">
  252. <root>
  253. <xts:queryNode select="/root/indexUpdateInfoResponse/*[local-name()=key('env-param','include_or_exclude')]/*"/>
  254. <searchPaths>
  255. <xts:queryNode select="/root/indexUpdateTaskSearchPaths/*[local-name()=key('env-param','include_or_exclude')]/*"/>
  256. </searchPaths>
  257. </root>
  258. </xts:transform>
  259. </addedEntriesList>
  260. <contentLocale><xsl:value-of select="$contentLocale"/></contentLocale>
  261. </root>
  262. </xts:transform>
  263. </xsl:element>
  264. </xts:append>
  265. </xsl:if>
  266. <xts:delete select="/root/indexUpdateTaskSearchPaths"/>
  267. <xts:delete select="/root/env/param[@name='m_io_includedObjects']"/>
  268. <xts:delete select="/root/env/param[@name='m_io_excludedObjects']"/>
  269. </xts:sequence>
  270. </xsl:template>
  271. </xsl:stylesheet>
  272. </xts:block>
  273. <!--
  274. ===============================================================================================
  275. execute_command
  276. Execute the operation: delete, additems_
  277. ===============================================================================================
  278. -->
  279. <xts:block id="execute_command" dependency="genDefaultIndexUpdateOptions" type="exec" mode="interpret" processor="XSLT" condition=".[not(/root/mode='addEntries')]" mandatory="false">
  280. <xts:logicsheet path="logicsheets/portal.xsl"/>
  281. <xts:logicsheet path="logicsheets/contentadmin.xsl"/>
  282. <xsl:stylesheet version="1.0"
  283. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  284. xmlns:adm="http://developer.cognos.com/schemas/xts/logicsheets/contentadmin/"
  285. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  286. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  287. exclude-result-prefixes="xsl adm pf xtsext">
  288. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  289. <pf:variables/>
  290. <xsl:template match="/">
  291. <adm:executeIndexUpdateCommand/>
  292. </xsl:template>
  293. </xsl:stylesheet>
  294. </xts:block>
  295. <!--
  296. ===============================================================================================
  297. updateEnv
  298. Serialize the data (web64 encoded) in m_indexUpdates
  299. ===============================================================================================
  300. -->
  301. <xts:block id="updateEnv" dependency="execute_command" type="exec" mode="interpret" processor="XSLT" condition=".[not(/root/mode='addEntries')]" mandatory="false">
  302. <xts:logicsheet path="logicsheets/portal.xsl"/>
  303. <xsl:stylesheet version="1.0"
  304. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  305. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  306. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  307. exclude-result-prefixes="xsl xtsext pf">
  308. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  309. <pf:serialize-xml/>
  310. <pf:variables/>
  311. <xsl:template match="/">
  312. <xts:sequence>
  313. <xts:delete select="/root/env/param[@name = 'm_indexUpdates']"/>
  314. <xts:append select="/root/env">
  315. <xsl:variable name="markup">
  316. <xsl:apply-templates mode="markup" select="/root/indexUpdates"/>
  317. </xsl:variable>
  318. <param name="m_indexUpdates">
  319. <xsl:value-of select="xtsext:cafaction( concat('sign_wrap_setpassportid_', $passport),xtsext:web64encode(string($markup), true()))"/>
  320. </param>
  321. </xts:append>
  322. <xts:delete select="/root/env/param[@name='readOnlyAccess']"/>
  323. </xts:sequence>
  324. </xsl:template>
  325. </xsl:stylesheet>
  326. </xts:block>
  327. <!--
  328. ===============================================================================================
  329. Render the dialog
  330. ===============================================================================================
  331. -->
  332. <xts:block id="format" mode="output" processor="XSLT" type="exec" mimeType="text/html" dependency="updateEnv" condition=".[not(/root/mode='addEntries')]" mandatory="false">
  333. <xts:logicsheet path="logicsheets/contentadmin.xsl"/>
  334. <xts:logicsheet path="logicsheets/portal.xsl"/>
  335. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  336. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  337. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  338. <xts:logicsheet path="logicsheets/presentation/main/framework.xsl"/>
  339. <xts:logicsheet path="logicsheets/presentation/dialog/confirm.xslt"/>
  340. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  341. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  342. <xts:logicsheet path="logicsheets/formlogic.xslt"/>
  343. <xts:logicsheet path="logicsheets/validation.xslt"/>
  344. <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
  345. <xsl:stylesheet version="1.0"
  346. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  347. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  348. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  349. xmlns:xts="http://developer.cognos.com/schemas/xts/"
  350. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  351. xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
  352. xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
  353. xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
  354. xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
  355. xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
  356. xmlns:dc="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/confirm/1/"
  357. xmlns:mf="http://developer.cognos.com/schemas/xts/logicsheets/presentation/main/mf"
  358. xmlns:adm="http://developer.cognos.com/schemas/xts/logicsheets/contentadmin/"
  359. xmlns:utml="http://developer.cognos.com/schemas/xts/logicsheet/xslt/formlogic/"
  360. exclude-result-prefixes="xsl cf cp pf df dp lyt cm utml xts xtsext adm dc">
  361. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  362. <!-- current file name -->
  363. <xsl:variable name="mname" select="'properties_index_update_task.xts'"/>
  364. <!-- add any theme variables -->
  365. <pf:variables/>
  366. <pf:gen-icon/>
  367. <mf:variables/>
  368. <!-- start the output -->
  369. <xsl:template match="/root">
  370. <xsl:variable name="has_write_permission" select="contains(concat(' ', cm:queryResponse/*[position()=1]/cm:permissions, ' '), ' write ')"/>
  371. <xsl:variable name="has_policy_permission" select="contains(concat(' ', cm:queryResponse/*[position()=1]/cm:permissions, ' '), ' setPolicy ')"/>
  372. <xsl:variable name="showOKCancel" select="$has_write_permission or $has_policy_permission"/>
  373. <xsl:variable name="browserTitle">
  374. <xts:string id="IDS_PROPERTIES_TITLE">
  375. <xts:param name="objectName">
  376. <span lang="{$contentLocale}"><xsl:value-of select="/root/env/param[@name = 'm_name']"/></span>
  377. </xts:param>
  378. </xts:string>
  379. </xsl:variable>
  380. <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html></xsl:text><dp:page longTitle="$browserTitle">
  381. <dp:meta>
  382. <!-- Standard meta tags -->
  383. <pf:meta/>
  384. </dp:meta>
  385. <dp:script>
  386. <!-- Help system -->
  387. <pf:help/>
  388. <script language="javascript" src="{$webcontent}/{$app}/js/list.js"/>
  389. <script language="javascript">
  390. function validate()
  391. {
  392. <xsl:if test="count(/root/indexUpdates/include/*) = 0">
  393. alert('<xts:string id="IDS_INDEX_UPDATE_NO_ADDED_ENTRY" encode="javascript"/>');
  394. return false;
  395. </xsl:if>
  396. return true;
  397. }
  398. function clearSelections()
  399. {
  400. for(var i=0; document.pform.length > i; i++)
  401. {
  402. if (document.pform.elements[i].name.substring( 0, 17) == 'checkbox_location')
  403. {
  404. document.pform.elements[i].checked = false;
  405. }
  406. }
  407. }
  408. </script>
  409. </dp:script>
  410. <utml:form name="pform" method="post" action="{$gateway}">
  411. <utml:read-only>
  412. <xsl:choose>
  413. <xsl:when test="contains(cm:queryResponse/*[position()=1]/cm:permissions, 'write')">false</xsl:when>
  414. <xsl:otherwise>true</xsl:otherwise>
  415. </xsl:choose>
  416. </utml:read-only>
  417. <utml:input type="hidden" name="ifrmcmd" value="save" utml:update="false"/>
  418. <utml:input type="hidden" name="m_firstrun" value="false" utml:update="false"/>
  419. <utml:input type="hidden" name="controller_state" value="" utml:update="false"/>
  420. <utml:input type="hidden" name="listop" value="" utml:update="false"/>
  421. <utml:input type="hidden" name="include_or_exclude" value="include" utml:update="false"/>
  422. <utml:input name="ps_nav_op" type="hidden" value=""/>
  423. <utml:input name="m" type="hidden" value=""/>
  424. <xsl:if test="not($has_write_permission)">
  425. <utml:input type="hidden" name="readOnlyAccess" value="true" utml:update="false"/>
  426. </xsl:if>
  427. <xsl:for-each select="/root/indexUpdates/include/*">
  428. <utml:input type="hidden" name="m_io_includedObjects" utml:update="false">
  429. <xsl:attribute name="value"><xsl:value-of select="*[local-name()='searchPath']"/></xsl:attribute>
  430. </utml:input>
  431. </xsl:for-each>
  432. <xsl:for-each select="/root/indexUpdates/exclude/*">
  433. <utml:input type="hidden" name="m_io_excludedObjects" utml:update="false">
  434. <xsl:attribute name="value"><xsl:value-of select="*[local-name()='searchPath']"/></xsl:attribute>
  435. </utml:input>
  436. </xsl:for-each>
  437. <dp:header useBackURL="not($showOKCancel)">
  438. <dp:title><xsl:copy-of select="$browserTitle"/></dp:title>
  439. </dp:header>
  440. <!-- property tabs -->
  441. <df:propertiesTabs select="indexUpdateTask">
  442. <df:hasSetPolicy>
  443. <xsl:value-of select="$has_policy_permission"/>
  444. </df:hasSetPolicy>
  445. </df:propertiesTabs>
  446. <!-- description tabs -->
  447. <dp:description>
  448. <xts:string id="IDS_INDEX_UPDATE_TASK_HINT"/>
  449. </dp:description>
  450. <lyt:layout style="1" title="IDS_INDEX_UPDATE_TASK_TABLE_TITLE_INCLUDE" border="yes"/>
  451. <lyt:layout style="1">
  452. <lyt:section>
  453. <adm:indexUpdateOptions IncludeOrExclude="include"/>
  454. </lyt:section>
  455. </lyt:layout>
  456. <lyt:layout style="1" title="IDS_INDEX_UPDATE_TASK_TABLE_TITLE_EXCLUDE" border="yes"/>
  457. <lyt:layout style="1">
  458. <lyt:section>
  459. <adm:indexUpdateOptions IncludeOrExclude="exclude"/>
  460. </lyt:section>
  461. </lyt:layout>
  462. <dp:footer>
  463. <xsl:choose>
  464. <xsl:when test="$showOKCancel">
  465. <df:button df:id="IDS_OK" df:style="submit" utml:validate="true"/>
  466. <xsl:choose>
  467. <xsl:when test="key('env-param', 'ps_nav_stack') and not(key('env-param', 'ps_nav_stack') = '') ">
  468. <df:button df:id="IDS_CANCEL" df:style="stack-down" onclick="{$dc-confirm-cancel}"/>
  469. </xsl:when>
  470. <xsl:otherwise>
  471. <df:button df:id="IDS_CANCEL" df:style="back-url" onclick="{$dc-confirm-cancel}"/>
  472. </xsl:otherwise>
  473. </xsl:choose>
  474. </xsl:when>
  475. <xsl:otherwise>
  476. <df:button df:id="IDS_CLOSE" df:style="back-url"/>
  477. </xsl:otherwise>
  478. </xsl:choose>
  479. </dp:footer>
  480. <!-- if the user tried to add a duplicate entry -->
  481. <script language="javascript">
  482. <xsl:variable name="indexUpdateItems" select="/root/indexUpdates/*[local-name()=key('env-param','include_or_exclude')]/*"/>
  483. <xsl:if test="/root/totalEntriesCount and (/root/totalEntriesCount != count($indexUpdateItems))">
  484. window.alert("<xts:string id="IDS_DUPLICATE_ENTRY" encode="javascript"/>");
  485. </xsl:if>
  486. <xsl:if test="/root/indexUpdates/*[local-name()='unavailable'] and not(key('env-param','m_firstrun'))">
  487. if (window.confirm("<xts:string id="IDS_INDEX_UPDATE_MISSING_ENTRY" encode="javascript"/>"))
  488. {
  489. document.pform.listop.value = 'removeUnavailableObjects';
  490. document.pform.ps_nav_op.value = 'maintain';
  491. document.pform.m.value = 'portal/<xsl:value-of select="$mname"/>';
  492. window.setTimeout('document.pform.submit();', 1 );
  493. }
  494. </xsl:if>
  495. </script>
  496. </utml:form>
  497. </dp:page>
  498. </xsl:template>
  499. </xsl:stylesheet>
  500. </xts:block>
  501. <!--
  502. =============================================
  503. Output debug dump
  504. =============================================
  505. -->
  506. <xts:block id="debug" type="exec" mode="output" processor="XSLT" condition=".[/root/env/param[@name='d'] = '1' or /root/session/param[@name='debug'] = '1']" mandatory="false" mimeType="text/html" dependency="format">
  507. <!-- get the debug logic sheet -->
  508. <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
  509. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dbg="http://developer.cognos.com/schemas/xts/logicsheets/xslt/debug/" exclude-result-prefixes="dbg">
  510. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  511. <xsl:template match="/">
  512. <dbg:dumpxml select="/root"/>
  513. </xsl:template>
  514. </xsl:stylesheet>
  515. </xts:block>
  516. </xts:morphlet>