agentDefinition.xts 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689
  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, 2016
  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" resolverBase="prompting" includeConfig="true" requiredCapability="canUseScheduling">
  13. <!--
  14. ===============================================================================================
  15. formlogic_init
  16. ===============================================================================================
  17. -->
  18. <xts:block id="formlogic_init" type="exec" mode="interpret" processor="XSLT" path="/logicsheets/formlogic_init.xslt" nodelist="env,credential,system,http"/>
  19. <!--
  20. ===============================================================================================
  21. checkParam - change m_name, m_class, m_obj when dealing with shortcut.
  22. ===============================================================================================
  23. -->
  24. <xts:block id="checkParam" path="/portal/ref2target.xml" dependency="formlogic_init" type="exec" mode="interpret" processor="XSLT" condition=".[/root/env/param[starts-with(@name,'sc_target')]!='']" mandatory="false"/>
  25. <!--
  26. ===============================================================================================
  27. getRoutingServerContent - Get the routing server information from CM
  28. ===============================================================================================
  29. -->
  30. <xts:block id="getRoutingServerContent"
  31. dependency="formlogic_init"
  32. processor="XSLT" type="exec" mandatory="false"
  33. condition=".[/root/env/param[@name='m_obj'] and /root/env/param[@name='method'] and /root/env/param[@name='method']!='']" nodelist="env, header">
  34. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  35. <xsl:stylesheet version="1.0"
  36. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  37. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  38. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  39. xmlns:xts="http://developer.cognos.com/schemas/xts/"
  40. exclude-result-prefixes="xsl send xts cm">
  41. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  42. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  43. <xsl:template match="/">
  44. <xts:sequence>
  45. <xts:append>
  46. <routing>
  47. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  48. <send:request provider="cm">
  49. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  50. <cm:query>
  51. <cm:search>
  52. <xsl:choose>
  53. <xsl:when test="key('env-param', 'm_class')='agentDefinitionView'">
  54. <xsl:value-of select="key('env-param', 'm_obj')"/>/reportView
  55. </xsl:when>
  56. <xsl:otherwise>
  57. <xsl:value-of select="key('env-param', 'm_obj')"/>/report
  58. </xsl:otherwise>
  59. </xsl:choose>
  60. </cm:search>
  61. <cm:properties>
  62. <cm:property name="searchPath"/>
  63. <cm:property name="routingServerGroup"/>
  64. </cm:properties>
  65. </cm:query>
  66. </xts:transform>
  67. </send:request>
  68. </xts:transform>
  69. </routing>
  70. </xts:append>
  71. <xts:append select="/root/env">
  72. <param name="routingServerGroup"><xts:queryValue select="/root/routing/*[local-name()='queryResponse']/*/*[local-name()='routingServerGroup']"/></param>
  73. </xts:append>
  74. <xts:delete select="/root/routing"/>
  75. </xts:sequence>
  76. </xsl:template>
  77. </xsl:stylesheet>
  78. </xts:block>
  79. <!--
  80. ===============================================================================================
  81. execute-method -
  82. ===============================================================================================
  83. -->
  84. <xts:block id="execute-method" dependency="checkParam getRoutingServerContent" processor="XSLT" type="exec" condition=".[/root/env/param[@name='method'] and /root/env/param[@name='method']!='']" mandatory="false">
  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:prompt="http://developer.cognos.com/schemas/xts/portal/iPrompting/1/"
  89. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/">
  90. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  91. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  92. <xsl:template match="/">
  93. <xts:sequence>
  94. <xts:append>
  95. <promptRequest>
  96. <send:request provider="xts" option="xml-multipart">
  97. <xsl:choose>
  98. <xsl:when test="key('env-param', 'method') = 'edit' ">
  99. <prompt:collect>
  100. <promptObject>
  101. <xsl:value-of select="concat(/root/env/param[@name='m_obj'],'/*[@objectClass=&quot;report&quot; or @objectClass=&quot;reportView&quot;]')"/>
  102. </promptObject>
  103. <returnMorphlet>portal/schedule/agentDefinition.xts</returnMorphlet>
  104. <ps_nav_op>maintain</ps_nav_op>
  105. <routingServerGroup><xsl:value-of select="/root/env/param[@name='routingServerGroup']"/></routingServerGroup>
  106. <runAsync>true</runAsync>
  107. </prompt:collect>
  108. </xsl:when>
  109. <xsl:otherwise>
  110. <xsl:element name="{key('env-param', 'method')}" namespace="http://developer.cognos.com/schemas/xts/portal/iPrompting/1/">
  111. <returnMorphlet>portal/schedule/agentDefinition.xts</returnMorphlet>
  112. <ps_nav_op>maintain</ps_nav_op>
  113. <callFinish>true</callFinish>
  114. </xsl:element>
  115. </xsl:otherwise>
  116. </xsl:choose>
  117. </send:request>
  118. </promptRequest>
  119. </xts:append>
  120. </xts:sequence>
  121. </xsl:template>
  122. </xsl:stylesheet>
  123. </xts:block>
  124. <!--
  125. ===============================================================================================
  126. check-state -
  127. ===============================================================================================
  128. -->
  129. <xts:block id="check-state" path="/portal/iPrompting/logicsheets/check-state.xslt" processor="XSLT" type="exec" dependency="execute-method getRoutingServerContent">
  130. <xts:logicsheet path="logicsheets/portal.xsl"/>
  131. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  132. </xts:block>
  133. <!--
  134. ===============================================================================================
  135. getContent - get our data from Content Manager
  136. ===============================================================================================
  137. -->
  138. <xts:block id="getContent" processor="XSLT" type="exec" dependency="check-state formlogic_init checkParam getRoutingServerContent" condition=".[/root/view='properties']" mandatory="false">
  139. <xts:logicsheet path="portal/schedule/logicsheets/request.xslt"/>
  140. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  141. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  142. <xts:logicsheet path="portal/schedule/logicsheets/common.xslt"/>
  143. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  144. <xsl:stylesheet version="1.0"
  145. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  146. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  147. xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/"
  148. xmlns:cls="http://developer.cognos.com/schemas/xts/cls/"
  149. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  150. xmlns:rdr="http://developer.cognos.com/schemas/xts/rdr/"
  151. exclude-result-prefixes="xsl xtsext rdr dt cls">
  152. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  153. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  154. <xsl:template match="/">
  155. <xsl:variable name="userPrefs" select="/root/session/param"/>
  156. <xsl:variable name="userPrefsDefault" select="/root/system/param[@name='defaultPortalPreferences']"/>
  157. <xsl:variable name="maxObjects">
  158. <xsl:choose>
  159. <xsl:when test="string(key('env-param','m_pagertotasks')) !='' and string(key('env-param','m_pagerfromtasks')) !=''">
  160. <xsl:value-of select="(key('env-param','m_pagertotasks') - key('env-param','m_pagerfromtasks')) + 1"/>
  161. </xsl:when>
  162. <xsl:when test="$userPrefs[@name='linesPerPage']!=''">
  163. <xsl:value-of select="$userPrefs[@name='linesPerPage']"/>
  164. </xsl:when>
  165. <xsl:otherwise>
  166. <xsl:value-of select="userPrefsDefault/pref[@name='lines']"/>
  167. </xsl:otherwise>
  168. </xsl:choose>
  169. </xsl:variable>
  170. <xsl:variable name="skipObjects">
  171. <xsl:choose>
  172. <xsl:when test="key('env-param','m_pagerfromtasks') and key('env-param','m_pagerfromtasks')!=''">
  173. <xsl:value-of select="key('env-param','m_pagerfromtasks')-1"/>
  174. </xsl:when>
  175. <xsl:when test="key('env-param','m_taskssection')!=''">
  176. <xsl:choose>
  177. <xsl:when test="key('env-param','m_taskssection')!='-1'">
  178. <xsl:value-of select="(key('env-param','m_taskssection') -1)"/>
  179. </xsl:when>
  180. <xsl:otherwise>
  181. <xsl:value-of select="($maxObjects) * -1"/>
  182. </xsl:otherwise>
  183. </xsl:choose>
  184. </xsl:when>
  185. <xsl:otherwise>0</xsl:otherwise>
  186. </xsl:choose>
  187. </xsl:variable>
  188. <xts:sequence>
  189. <rdr:Requests>
  190. <rdr:Request type="runnable">
  191. <rdr:searchPath>
  192. <xsl:value-of select="key('env-param', 'm_obj')"/>
  193. </rdr:searchPath>
  194. </rdr:Request>
  195. <rdr:Request type="steps" mode="agent">
  196. <rdr:searchPath>
  197. <xsl:value-of select="key('env-param', 'm_obj')"/>
  198. </rdr:searchPath>
  199. <rdr:maxObjects><xsl:value-of select="$maxObjects+1"/></rdr:maxObjects>
  200. <rdr:skipObjects><xsl:value-of select="$skipObjects"/></rdr:skipObjects>
  201. </rdr:Request>
  202. <rdr:Request type="credential"/>
  203. <cm:query>
  204. <cm:search><xsl:value-of select="key('env-param', 'm_obj')"/>
  205. <xsl:choose>
  206. <xsl:when test="key('env-param','m_class')='agentDefinitionView'">/reportView</xsl:when>
  207. <xsl:otherwise>/report</xsl:otherwise>
  208. </xsl:choose>
  209. </cm:search>
  210. <cm:properties>
  211. <cm:property name="parameters"/>
  212. <cm:property name="routingServerGroup"/>
  213. </cm:properties>
  214. </cm:query>
  215. <xsl:if test="not(key('env-param', 'visited_schedule_properties'))">
  216. <rdr:Request type="schedule">
  217. <rdr:searchPath>
  218. <xsl:value-of select="key('env-param', 'm_obj')"/>
  219. <xsl:text>/schedule[permission("read")]</xsl:text>
  220. </rdr:searchPath>
  221. </rdr:Request>
  222. </xsl:if>
  223. <!-- query to get storeID -->
  224. <cm:query>
  225. <cm:search>
  226. <xsl:value-of select="concat(key('env-param','m_obj'),'/schedule')"/>
  227. </cm:search>
  228. <cm:properties>
  229. <cm:property name="storeID"/>
  230. </cm:properties>
  231. </cm:query>
  232. </rdr:Requests>
  233. <xts:delete select="/root/env/param[@name='routingServerGroup']"/>
  234. <xts:append select="/root/env">
  235. <param name="routingServerGroup">
  236. <xts:queryValue select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][4]/*/*[local-name()='routingServerGroup']"/>
  237. </param>
  238. </xts:append>
  239. <!-- if we don't have a parameterDescription, then separate the connection/signon prompts
  240. from other prompts. -->
  241. <xsl:if test="not(/root/env/param[@name='parameterDescription'])">
  242. <dt:splitParameters queryNode="/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='schedule']/*[local-name()='parameters']"/>
  243. </xsl:if>
  244. <!-- if we have a schedule credential blob, then unpack it -->
  245. <cls:unpackCredentials/>
  246. <!-- process the parameters saved on the agent -->
  247. <xsl:if test="not(key('env-param','visited_schedule_properties'))">
  248. <dt:splitRunnableParameters queryNode="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][4]/*/*[local-name()='parameters']"/>
  249. </xsl:if>
  250. </xts:sequence>
  251. <xts:sequence>
  252. <xts:delete select="/root/env/param[@name='pagerfromtasks']"/>
  253. <xts:delete select="/root/env/param[@name='pagertotasks']"/>
  254. <xts:delete select="/root/env/param[@name='pagerfrom_dtasks']"/>
  255. <xts:delete select="/root/env/param[@name='pagerto_dtasks']"/>
  256. </xts:sequence>
  257. </xsl:template>
  258. </xsl:stylesheet>
  259. </xts:block>
  260. <!--
  261. ===============================================================================================
  262. queryDataSourcePrompts - Get the parameter data source connection/signon information from CM
  263. ===============================================================================================
  264. -->
  265. <xts:block id="queryDataSourcePrompts"
  266. nodeList="credentialParameters,runnableParameters"
  267. path="/portal/iPrompting/logicsheets/query-datasource.xslt"
  268. processor="XSLT"
  269. type="exec"
  270. dependency="getContent"
  271. condition=".[/root/credentialParameters or /root/runnableParameters/credentialParameters]"
  272. mandatory="false">
  273. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  274. </xts:block>
  275. <!--
  276. ===============================================================================================
  277. generateParameterDescription
  278. ===============================================================================================
  279. -->
  280. <xts:block id="generateParameterDescription"
  281. nodelist="env,credentialParameters,parameters,dataSources"
  282. path="/portal/iPrompting/logicsheets/gen-prompt-description.xslt"
  283. processor="XSLT"
  284. type="exec"
  285. dependency="queryDataSourcePrompts"
  286. condition=".[/root/view='properties' and not(/root/env/param[@name='parameterDescription'])]"
  287. mandatory="false">
  288. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  289. </xts:block>
  290. <!--
  291. ===============================================================================================
  292. queryCredentialInfo:
  293. Query CM for the necessary user information (default names required for UI)
  294. ===============================================================================================
  295. -->
  296. <xts:block id="queryCredentialInfo"
  297. nodelist="env,header,session,http,queryResponse,scheduleCredentials,credential,cookies"
  298. path="/portal/schedule/logicsheets/query-credential-info.xslt"
  299. processor="XSLT"
  300. type="exec"
  301. dependency="getContent"
  302. condition=".[/root/view='properties' and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='')]"
  303. mandatory="false">
  304. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  305. <xts:logicsheet path="logicsheets/portal.xsl"/>
  306. </xts:block>
  307. <!--
  308. ===============================================================================================
  309. getBaseContent - We need to get the step information from the base object in the case of a view
  310. ===============================================================================================
  311. -->
  312. <xts:block id="getBaseContent" processor="XSLT" type="exec" dependency="getContent" mandatory="false" condition=".[/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][1]/*/*[local-name()='objectClass']='agentDefinitionView']">
  313. <xts:logicsheet path="portal/schedule/logicsheets/request.xslt"/>
  314. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  315. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  316. <xsl:stylesheet version="1.0"
  317. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  318. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  319. xmlns:rdr="http://developer.cognos.com/schemas/xts/rdr/"
  320. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  321. exclude-result-prefixes="xsl xtsext rdr">
  322. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  323. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  324. <xsl:template match="/">
  325. <xts:sequence>
  326. <rdr:Requests>
  327. <rdr:Request type="steps" mode="agent">
  328. <rdr:searchPath>
  329. <xsl:value-of select="/root/cm:queryResponse/cm:queryReply[1]/*/cm:base/*/cm:searchPath"/>
  330. </rdr:searchPath>
  331. </rdr:Request>
  332. </rdr:Requests>
  333. <xts:replace select="/root/*[local-name()='queryResponse'][1]/*[local-name()='queryReply'][2]">
  334. <xts:queryNode select="/root/*[local-name()='queryResponse'][2]/*[local-name()='queryReply']"/>
  335. </xts:replace>
  336. <xts:delete select="/root/*[local-name()='queryResponse'][2]"/>
  337. </xts:sequence>
  338. </xsl:template>
  339. </xsl:stylesheet>
  340. </xts:block>
  341. <!--
  342. ===============================================================================================
  343. generateDefaults
  344. Produce default form fields under /root/env
  345. ===============================================================================================
  346. -->
  347. <xts:block id="generateDefaults" processor="XSLT" type="exec" dependency="generateParameterDescription getContent" condition=".[/root/view='properties']" mandatory="false">
  348. <xts:logicsheet path="logicsheets/portal.xsl"/>
  349. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  350. <xsl:stylesheet version="1.0"
  351. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  352. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  353. xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/"
  354. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  355. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  356. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  357. <pf:variables/>
  358. <xsl:variable name="the-schedule" select="/root/cm:queryResponse/cm:queryReply[5]/cm:schedule"/>
  359. <xsl:template match="/">
  360. <xts:sequence>
  361. <xts:append select="/root/env">
  362. <xsl:if test="not(/root/env/param[@name='visited_schedule_properties'])">
  363. <xts:transform src="/portal/schedule/transforms/generateDefaultParams.xslt" processor="XSLT">
  364. <root>
  365. <xsl:copy-of select="/root/user"/>
  366. <xsl:copy-of select="/root/env"/>
  367. <xsl:copy-of select="$the-schedule"/>
  368. </root>
  369. </xts:transform>
  370. </xsl:if>
  371. </xts:append>
  372. <xts:append select="/root/env">
  373. <xts:transform src="/portal/schedule/transforms/generateMissingParams.xslt" processor="XSLT">
  374. <xts:param name="logicsheet">/logicsheets/portal.xsl</xts:param>
  375. <root>
  376. <xsl:copy-of select="/root/user"/>
  377. <xsl:copy-of select="/root/session"/>
  378. <xts:queryNode select="/root/env"/>
  379. </root>
  380. </xts:transform>
  381. </xts:append>
  382. </xts:sequence>
  383. <xsl:if test="not(/root/env/param[@name='visited_schedule_properties'])">
  384. <xts:sequence>
  385. <xts:append select="/root/env">
  386. <!-- add the necessary params for the default parameters stored on the runnable -->
  387. <xsl:if test="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][4]/*/*[local-name()='parameters']/* != ''">
  388. <xsl:variable name="default-parameters-markup">
  389. <xsl:call-template name="serialize-xml">
  390. <xsl:with-param name="node-set" select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][4]/*/*[local-name()='parameters']"/>
  391. </xsl:call-template>
  392. </xsl:variable>
  393. <xsl:variable name="defaultParameters">
  394. <xsl:value-of select="xtsext:web64encode(string($default-parameters-markup), true())"/>
  395. </xsl:variable>
  396. <param name="defaultParameters"><xsl:value-of select="$defaultParameters"/></param>
  397. <dt:promptDescription params="default" checkRunnableParameters="true"/>
  398. </xsl:if>
  399. </xts:append>
  400. <!-- if we already have saved paramters on the schedule -->
  401. <xsl:if test="/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='schedule']/*[local-name()='parameters']!=''">
  402. <xsl:variable name="parameters-markup">
  403. <xsl:call-template name="serialize-xml">
  404. <xsl:with-param name="node-set" select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='schedule']/*[local-name()='parameters']"/>
  405. </xsl:call-template>
  406. </xsl:variable>
  407. <xts:append select="/root/env">
  408. <param name="m_rp_parameters">
  409. <xsl:value-of select="xtsext:web64encode(string($parameters-markup), true())"/>
  410. </param>
  411. <param name="override_default_parameters">true</param>
  412. </xts:append>
  413. </xsl:if>
  414. </xts:sequence>
  415. </xsl:if>
  416. </xsl:template>
  417. <dt:hierarchicalParmValueItem/>
  418. <pf:serialize-xml/>
  419. </xsl:stylesheet>
  420. </xts:block>
  421. <!--
  422. ===============================================================================================
  423. getObjects - get object class names
  424. ===============================================================================================
  425. -->
  426. <xts:block id="classNames" type="exec" mode="input" processor="XML" path="/portal/uiExtensions.xml">
  427. <xts:logicsheet path="/logicsheets/uiobjects/uiobjects_names.xslt"/>
  428. </xts:block>
  429. <!--
  430. ===============================================================================================
  431. Render the HTML page
  432. ===============================================================================================
  433. -->
  434. <xts:block id="renderPage" type="exec" mode="output" dependency="getBaseContent generateDefaults queryCredentialInfo classNames" processor="XSLT" mimeType="text/html" condition=".[/root/view='properties']" mandatory="false"
  435. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  436. xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
  437. xmlns:ut="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/ui-templates/"
  438. xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
  439. xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
  440. xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
  441. xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
  442. xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
  443. xmlns:dc="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/confirm/1/"
  444. xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/"
  445. xmlns:mt="http://developer.cognos.com/schemas/xts/logicsheets/presentation/main/mt"
  446. xmlns:utml="http://developer.cognos.com/schemas/xts/logicsheet/xslt/formlogic/"
  447. xmlns:rui="http://developer.cognos.com/schemas/xts/logicsheet/xslt/presentation/dialog/recurrenceUI/">
  448. <!-- logicsheets -->
  449. <xts:logicsheet path="logicsheets/presentation/dialog/recurrenceUI.xslt"/>
  450. <!-- portal specific information -->
  451. <xts:logicsheet path="logicsheets/portal.xsl"/>
  452. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  453. <!-- Dialog specific logicsheets -->
  454. <xts:logicsheet path="logicsheets/presentation/dialog/ui-templates.xsl"/>
  455. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  456. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  457. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  458. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  459. <xts:logicsheet path="logicsheets/presentation/main/presentation.xsl"/>
  460. <xts:logicsheet path="portal/schedule/logicsheets/scheduleVars.xsl"/>
  461. <!-- Generic logicsheets -->
  462. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  463. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  464. <xts:logicsheet path="logicsheets/presentation/dialog/confirm.xslt"/>
  465. <!-- apply the form logic -->
  466. <xts:logicsheet path="logicsheets/formlogic.xslt"/>
  467. <xts:logicsheet path="logicsheets/validation.xslt"/>
  468. <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
  469. <xsl:stylesheet version="1.0"
  470. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  471. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  472. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  473. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  474. xmlns:xIE5="http://developer.cognos.com/prompting/xIE5"
  475. exclude-result-prefixes="pf cml ut df lyt dp cf cp dc utml xts bus xtsext cm xIE5">
  476. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  477. <!-- current file name -->
  478. <xsl:variable name="mname" select="'schedule/agentDefinition.xts'"/>
  479. <xsl:variable name="the-object" select="/root/cm:queryResponse/cm:queryReply[1]/*"/>
  480. <xsl:variable name="the-steps" select="/root/cm:queryResponse/cm:queryReply[2]/*"/>
  481. <xsl:variable name="the-credential" select="/root/cm:queryResponse/cm:queryReply[3]/cm:credential"/>
  482. <xsl:variable name="the-schedule" select="/root/cm:queryResponse/cm:queryReply[5]/cm:schedule"/>
  483. <xsl:variable name="has_execute_permission" select="contains(concat(' ', /root/cm:queryResponse/cm:queryReply[1]/*/cm:permissions, ' '), ' execute ')"/>
  484. <xsl:variable name="savedTriggerType" select="'schedule'"/>
  485. <!-- add any theme variables -->
  486. <pf:variables/>
  487. <rui:variables/>
  488. <!-- include prompt control stylesheet and variables -->
  489. <rui:promptControls form="pform"/>
  490. <xsl:template match="/">
  491. <xsl:variable name="browserTitle">
  492. <xts:string id="IDS_PROP_SCHEDULE_TITLE">
  493. <xts:param name="objectName">
  494. <span lang="{$contentLocale}"><xsl:value-of select="$the-object/cm:defaultName"/></span>
  495. </xts:param>
  496. </xts:string>
  497. </xsl:variable>
  498. <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html></xsl:text><dp:page longTitle="$browserTitle">
  499. <dp:meta>
  500. <pf:meta/>
  501. </dp:meta>
  502. <!-- get the JavaScript needed for the prompt controls -->
  503. <rui:promptControlsScript/>
  504. <dp:script>
  505. <pf:help context="HID_SCHEDULE"/>
  506. <!-- Help system -->
  507. <dc:confirm-cancel/>
  508. <script language="javascript">
  509. <!-- some behavior for when the page loads -->
  510. <!-- if the form is read only we can not do this init as it will cause javascript errrors -->
  511. <xsl:if test="contains($the-object/cm:permissions, 'write') and contains($the-object/cm:permissions, 'execute')">
  512. function init()
  513. {
  514. <!-- m can get clobbered when going to secondary dialogs, so make sure it has the right value -->
  515. document.pform.m.value = "<xsl:value-of select="xtsext:javascriptencode(string(key('env-param', 'm')))"/>";
  516. if (document.pform.override_default_parameters.checked)
  517. {
  518. showDynamicDiv('overrideParametersDiv');
  519. hideDynamicDiv('defaultParmetersDiv');
  520. }
  521. else
  522. {
  523. hideDynamicDiv('overrideParametersDiv');
  524. showDynamicDiv('defaultParmetersDiv');
  525. }
  526. }
  527. </xsl:if>
  528. function onClickOK()
  529. {
  530. var frm = document.pform;
  531. if (validateSchedule())
  532. {
  533. frm.ps_nav_op.value = 'submit';
  534. frm.m.value = 'portal/submit.xts';
  535. frm.submit();
  536. }
  537. }
  538. </script>
  539. </dp:script>
  540. <utml:form name="pform" method="post" action="{$gateway}">
  541. <!-- Since the date control input variables are not utml input, they would be put into Hidden inputs whenever the page is refreshed and cause
  542. duplicate. So we exclude them from query values. -->
  543. <utml:exclusion-list>
  544. <xsl:value-of select="' txtDatedateTo txtDatedateFrom tempPath p_sched_date1 p_sched_date2 p_sched_time1 p_sched_time2 p_intradayRecurrenceStart p_intradayRecurrenceEnd hourstimeTo hourstimeFrom minutestimeTo minutestimeFrom secondstimeFrom secondstimeTo AMPMtimeTo AMPMtimeFrom visited_schedule_properties dateTotxtDate dateFromtxtDate'"/>
  545. </utml:exclusion-list>
  546. <utml:read-only>
  547. <xsl:choose>
  548. <xsl:when test="contains($the-object/cm:permissions, 'write') and contains($the-object/cm:permissions, 'execute')">
  549. <xsl:text>false</xsl:text>
  550. </xsl:when>
  551. <xsl:otherwise>
  552. <xsl:text>true</xsl:text>
  553. </xsl:otherwise>
  554. </xsl:choose>
  555. </utml:read-only>
  556. <!-- header -->
  557. <dp:header>
  558. <dp:title showName="false">
  559. <xsl:copy-of select="$browserTitle"/>
  560. </dp:title>
  561. <dp:description headerBorder="true">
  562. <xts:string id="IDS_PROP_SCHED_INTRO2"/>
  563. </dp:description>
  564. </dp:header>
  565. <utml:input type="hidden" name="m_timeZoneID">
  566. <xsl:attribute name="value">
  567. <xsl:value-of select="/root/cm:queryResponse/cm:queryReply/cm:schedule/cm:timeZoneID"/>
  568. </xsl:attribute>
  569. </utml:input>
  570. <utml:input type="hidden" name="ps_nav_op" value="" utml:update="false"/>
  571. <utml:input type="hidden" name="m_ro_prompt" value="false" utml:update="false"/>
  572. <utml:input type="hidden" name="m_rp_parameters">
  573. <xsl:attribute name="value"><xsl:value-of select="key('env-param','m_rp_parameters')"/></xsl:attribute>
  574. </utml:input>
  575. <utml:input type="hidden" name="m_scheduleCredentials">
  576. <xsl:attribute name="value"><xsl:value-of select="key('env-param','m_scheduleCredentials')"/></xsl:attribute>
  577. </utml:input>
  578. <xsl:choose>
  579. <xsl:when test="$form-read-only='true' and not($the-schedule)">
  580. <mt:objectNoneFound id="IDS_PROP_SCHED_READ_ONLY_NO_SCHED"/>
  581. </xsl:when>
  582. <xsl:otherwise>
  583. <!-- add this hidden input, its existence allows us to infer that this morphlet has been previously visited -->
  584. <input name="visited_schedule_properties" type="hidden" value="true"/>
  585. <utml:input type="hidden" name="ifrmcmd" value="save" utml:update="false"/>
  586. <!-- save the schedule with the user's credentials if the user has chosen to reset them or with a new schedule -->
  587. <xsl:if test="key('env-param','m_schedule_owner_reset')='true'">
  588. <xsl:choose>
  589. <xsl:when test="$userCredentialsExist='true'">
  590. <utml:input type="hidden" name="m_sp_credential" utml:update="false">
  591. <utml:value><xsl:value-of select="$userCredentialSearchPathProperty"/></utml:value>
  592. </utml:input>
  593. </xsl:when>
  594. <xsl:otherwise>
  595. <input type="hidden" name="h_CAM_action" value=""/>
  596. </xsl:otherwise>
  597. </xsl:choose>
  598. </xsl:if>
  599. <!-- Recurrence -->
  600. <rui:recurrenceUI formName="pform"/>
  601. </xsl:otherwise>
  602. </xsl:choose>
  603. <!-- Display a summary of the job steps -->
  604. <lyt:layout style="1">
  605. <lyt:section>
  606. <ut:taskSummaryUI objectClass="$the-object/cm:objectClass" iterate="$the-steps" itemObject="cm:taskObject"/>
  607. </lyt:section>
  608. </lyt:layout>
  609. <lyt:layout style="1" title="IDS_PROP_JOB_HEADING_PROMPT_VALUES" border="yes">
  610. <lyt:section>
  611. <dp:choice width="100%">
  612. <dp:section1>
  613. <utml:input type="checkbox" name="override_default_parameters" id="ctrl_override_default_parameters" value="true" utml:track="true" onclick="togglePromptDivs();"/>
  614. </dp:section1>
  615. <dp:section2 for="ctrl_override_default_parameters">
  616. <xts:string id="IDS_STEP_RUN_OVERRIDE_DEFAULT_PROMPT_VALUES"/>
  617. </dp:section2>
  618. <dp:section3 width="100%">
  619. <ut:parametersDiv showTitle="false"/>
  620. </dp:section3>
  621. </dp:choice>
  622. </lyt:section>
  623. </lyt:layout>
  624. <rui:footer/>
  625. </utml:form>
  626. </dp:page>
  627. </xsl:template>
  628. <!-- include all the schedule related templates. -->
  629. <pf:gen-icon/>
  630. <cp:tabControl/>
  631. </xsl:stylesheet>
  632. </xts:block>
  633. <!-- Debug -->
  634. <!-- ============================================================================= -->
  635. <xts:block id="debug" dependency="renderPage" condition=".[ /root/session/param[@name='debug'] = '1' ]" type="exec" mode="output" processor="XSLT" mimeType="text/html">
  636. <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
  637. <!-- debug logic sheet -->
  638. <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">
  639. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  640. <xsl:template match="/">
  641. <dbg:dumpxml select="/root"/>
  642. </xsl:template>
  643. </xsl:stylesheet>
  644. </xts:block>
  645. </xts:morphlet>