properties_agent.xts 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690
  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" includeConfig="true">
  13. <!--
  14. ===============================================================================================
  15. execute-method -
  16. ===============================================================================================
  17. -->
  18. <xts:block id="execute-method" processor="XSLT" type="exec" condition=".[ /root/env/param[@name='method'] and /root/env/param[@name='method']!='']" mandatory="false">
  19. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  20. <xsl:stylesheet version="1.0"
  21. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  22. xmlns:prompt="http://developer.cognos.com/schemas/xts/portal/iPrompting/1/"
  23. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/">
  24. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  25. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  26. <xsl:template match="/">
  27. <xts:sequence>
  28. <xts:append>
  29. <promptRequest>
  30. <send:request provider="xts" option="xml-multipart">
  31. <xsl:choose>
  32. <xsl:when test="/root/env/param[@name='method'] = 'edit'">
  33. <prompt:collect>
  34. <promptObject>
  35. <xsl:value-of select="concat(/root/env/param[@name='m_obj'],'/*[@objectClass=&quot;report&quot; or @objectClass=&quot;reportView&quot;]')"/>
  36. </promptObject>
  37. <returnMorphlet>portal/properties_agent.xts</returnMorphlet>
  38. <ps_nav_op>maintain</ps_nav_op>
  39. <runAsync>true</runAsync>
  40. <routingServerGroup><xsl:value-of select="/root/env/param[@name='routingServerGroup']"/></routingServerGroup>
  41. </prompt:collect>
  42. </xsl:when>
  43. <xsl:otherwise>
  44. <xsl:element name="{key('env-param', 'method')}" namespace="http://developer.cognos.com/schemas/xts/portal/iPrompting/1/">
  45. <returnMorphlet>portal/properties_agent.xts</returnMorphlet>
  46. <ps_nav_op>maintain</ps_nav_op>
  47. <callFinish>true</callFinish>
  48. </xsl:element>
  49. </xsl:otherwise>
  50. </xsl:choose>
  51. </send:request>
  52. </promptRequest>
  53. </xts:append>
  54. </xts:sequence>
  55. </xsl:template>
  56. </xsl:stylesheet>
  57. </xts:block>
  58. <!--
  59. ===============================================================================================
  60. check-state -
  61. ===============================================================================================
  62. -->
  63. <xts:block id="check-state" path="/portal/iPrompting/logicsheets/check-state.xslt" processor="XSLT" type="exec" dependency="execute-method">
  64. <xts:logicsheet path="logicsheets/portal.xsl"/>
  65. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  66. </xts:block>
  67. <!-- formlogic_init - standard form logic initialization ===============================================-->
  68. <xts:block id="formlogic_init" dependency="check-state" type="exec" mode="interpret" processor="XSLT" path="/logicsheets/formlogic_init.xslt" nodelist="env,credential,system,http" condition=".[/root/view='properties']" mandatory="false"/>
  69. <!-- getTabs - load object-specific property tabs map ==================================================-->
  70. <xts:block id="getTabs" dependency="check-state" type="exec" mode="interpret" processor="XML" path="/portal/uiobjects_tabs.xml" condition=".[/root/view='properties']" mandatory="false"/>
  71. <!-- getObjects - get object class names ===============================================================-->
  72. <xts:block id="classNames" dependency="check-state" type="exec" mode="input" processor="XML" path="/portal/uiExtensions.xml" condition=".[/root/view='properties']" mandatory="false">
  73. <xts:logicsheet path="/logicsheets/uiobjects/uiobjects_names.xslt"/>
  74. </xts:block>
  75. <!-- getContent - get our data from Content Manager ====================================================-->
  76. <xts:block id="getContent" dependency="check-state" processor="XSLT" type="exec" condition=".[/root/view='properties']" mandatory="false">
  77. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  78. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  79. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  80. <xsl:stylesheet version="1.0"
  81. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  82. xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
  83. xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/"
  84. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  85. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/">
  86. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  87. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  88. <xsl:template match="/">
  89. <xsl:variable name="userPrefs" select="/root/session/param"/>
  90. <xsl:variable name="userPrefsDefault" select="/root/system/param[@name='defaultPortalPreferences']"/>
  91. <xsl:variable name="maxObjects">
  92. <xsl:choose>
  93. <xsl:when test="string(key('env-param','m_pagertotasks')) !='' and string(key('env-param','m_pagerfromtasks')) !=''">
  94. <xsl:value-of select="(key('env-param','m_pagertotasks') - key('env-param','m_pagerfromtasks')) + 1"/>
  95. </xsl:when>
  96. <xsl:when test="$userPrefs[@name='linesPerPage']!=''">
  97. <xsl:value-of select="$userPrefs[@name='linesPerPage']"/>
  98. </xsl:when>
  99. <xsl:otherwise>
  100. <xsl:value-of select="userPrefsDefault/pref[@name='lines']"/>
  101. </xsl:otherwise>
  102. </xsl:choose>
  103. </xsl:variable>
  104. <xsl:variable name="skipObjects">
  105. <xsl:choose>
  106. <xsl:when test="key('env-param','m_pagerfromtasks') and key('env-param','m_pagerfromtasks')!=''">
  107. <xsl:value-of select="key('env-param','m_pagerfromtasks')-1"/>
  108. </xsl:when>
  109. <xsl:when test="key('env-param','m_taskssection')!=''">
  110. <xsl:choose>
  111. <xsl:when test="key('env-param','m_taskssection')!='-1'">
  112. <xsl:value-of select="(key('env-param','m_taskssection') -1)"/>
  113. </xsl:when>
  114. <xsl:otherwise>
  115. <xsl:value-of select="($maxObjects) * -1"/>
  116. </xsl:otherwise>
  117. </xsl:choose>
  118. </xsl:when>
  119. <xsl:otherwise>0</xsl:otherwise>
  120. </xsl:choose>
  121. </xsl:variable>
  122. <xts:sequence>
  123. <xts:append>
  124. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  125. <send:request provider="cm">
  126. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  127. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  128. <cm:requests>
  129. <cm:query>
  130. <cm:search>
  131. <xsl:value-of select="key('env-param','m_obj')"/>
  132. </cm:search>
  133. <cm:properties>
  134. <cm:property name="defaultName"/>
  135. <cm:property name="owner"/>
  136. <cm:property name="permissions"/>
  137. <cm:property name="base"/>
  138. <cm:property name="allowNotification"/>
  139. <cm:property name="defaultPortalAction"/>
  140. </cm:properties>
  141. <cm:options schemaInfo="true">
  142. <cm:refProps>
  143. <cm:refProp refPropName="owner">
  144. <cm:properties>
  145. <cm:property name="searchPath"/>
  146. <cm:property name="defaultName"/>
  147. <cm:property name="email"/>
  148. </cm:properties>
  149. </cm:refProp>
  150. </cm:refProps>
  151. </cm:options>
  152. </cm:query>
  153. <cm:query>
  154. <cm:search>
  155. <xsl:value-of select="concat(key('env-param','m_obj'), '/agentTaskDefinition')"/>
  156. </cm:search>
  157. <cm:properties>
  158. <cm:property name="defaultName"/>
  159. <cm:property name="searchPath"/>
  160. <cm:property name="position"/>
  161. <cm:property name="taskObject"/>
  162. </cm:properties>
  163. <cm:options>
  164. <cm:maxObjects><xsl:value-of select="$maxObjects+1"/></cm:maxObjects>
  165. <cm:skipObjects><xsl:value-of select="$skipObjects"/></cm:skipObjects>
  166. <cm:refProps>
  167. <cm:refProp refPropName="taskObject">
  168. <cm:properties>
  169. <cm:property name="searchPath"/>
  170. <cm:property name="defaultName"/>
  171. <cm:property name="ancestors"/>
  172. <cm:property name="base"/>
  173. <cm:property name="parent"/>
  174. <cm:property name="iconURI"/>
  175. </cm:properties>
  176. </cm:refProp>
  177. </cm:refProps>
  178. </cm:options>
  179. </cm:query>
  180. <cm:query>
  181. <cm:search>
  182. <xsl:choose>
  183. <xsl:when test="key('env-param','m_class')='agentDefinitionView'">
  184. <xsl:value-of select="concat(key('env-param','m_obj'), '/reportView')"/>
  185. </xsl:when>
  186. <xsl:otherwise>
  187. <xsl:value-of select="concat(key('env-param','m_obj'), '/report')"/>
  188. </xsl:otherwise>
  189. </xsl:choose>
  190. </cm:search>
  191. <cm:properties>
  192. <cm:property name="parameters"/>
  193. <cm:property name="routingServerGroup"/>
  194. <cm:property name="runAsOwner"/>
  195. <xsl:if test="key('env-param','m_class')!='agentDefinitionView'">
  196. <cm:property name="runWithOwnerCapabilities"/>
  197. </xsl:if>
  198. <cm:property name="executionPrompt"/>
  199. <cm:property name="options"/>
  200. </cm:properties>
  201. </cm:query>
  202. </cm:requests>
  203. </cm:query>
  204. </xts:transform>
  205. </send:request>
  206. </xts:transform>
  207. </xts:append>
  208. <xts:delete select="/root/env/param[@name='routingServerGroup']"/>
  209. <xts:append select="/root/env">
  210. <param name="routingServerGroup"><xts:queryValue select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][3]/*/*[local-name()='routingServerGroup']"/></param>
  211. </xts:append>
  212. <!-- if we don't have a parameterDescription, then separate the connection/signon prompts
  213. from other prompts. -->
  214. <xsl:if test="not(/root/env/param[@name='parameterDescription'])">
  215. <dt:splitParameters queryNode="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][3]/*"/>
  216. </xsl:if>
  217. <!-- Every time the page is reloaded, delete the following pager parameters from the /root/env. This is required for the pager to work properly. -->
  218. <xts:delete select="/root/env/param[@name='pagerfromtasks']"/>
  219. <xts:delete select="/root/env/param[@name='pagertotasks']"/>
  220. <xts:delete select="/root/env/param[@name='pagerfrom_dtasks']"/>
  221. <xts:delete select="/root/env/param[@name='pagerto_dtasks']"/>
  222. </xts:sequence>
  223. </xsl:template>
  224. </xsl:stylesheet>
  225. </xts:block>
  226. <!--
  227. ===============================================================================================
  228. queryDataSources - Get the parameter data source connection/signon information from CM
  229. ===============================================================================================
  230. -->
  231. <xts:block id="queryDataSources"
  232. nodeList="credentialParameters"
  233. path="/portal/iPrompting/logicsheets/query-datasource.xslt"
  234. processor="XSLT"
  235. type="exec"
  236. dependency="getContent"
  237. condition="/root/credentialParameters"
  238. mandatory="false">
  239. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  240. </xts:block>
  241. <!--
  242. ===============================================================================================
  243. generateParameterDescription
  244. ===============================================================================================
  245. -->
  246. <xts:block id="generateParameterDescription"
  247. nodelist="env,credentialParameters,parameters,dataSources"
  248. path="/portal/iPrompting/logicsheets/gen-prompt-description.xslt"
  249. processor="XSLT"
  250. type="exec"
  251. dependency="queryDataSources"
  252. condition=".[/root/view='properties' and not(/root/env/param[@name='parameterDescription'])]"
  253. mandatory="false">
  254. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  255. </xts:block>
  256. <!--
  257. ===============================================================================================
  258. getBaseContent - We need to get the step information from the base object in the case of a view
  259. ===============================================================================================
  260. -->
  261. <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']">
  262. <xts:logicsheet path="portal/runWithOptions/logicsheets/request.xslt"/>
  263. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  264. <xsl:stylesheet version="1.0"
  265. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  266. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  267. xmlns:rdr="http://developer.cognos.com/schemas/xts/rdr/"
  268. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  269. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  270. exclude-result-prefixes="xsl xtsext rdr cm send">
  271. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  272. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  273. <xsl:template match="/">
  274. <xts:sequence>
  275. <xts:append>
  276. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  277. <send:request provider="cm">
  278. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  279. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  280. <cm:requests>
  281. <cm:query>
  282. <cm:search>
  283. <xsl:value-of select="concat(/root/cm:queryResponse/cm:queryReply[1]/*/cm:base/*/cm:searchPath, '/agentTaskDefinition')"/>
  284. </cm:search>
  285. <cm:properties>
  286. <cm:property name="defaultName"/>
  287. <cm:property name="searchPath"/>
  288. <cm:property name="taskObject"/>
  289. </cm:properties>
  290. <cm:options>
  291. <cm:refProps>
  292. <cm:refProp refPropName="taskObject">
  293. <cm:properties>
  294. <cm:property name="searchPath"/>
  295. <cm:property name="defaultName"/>
  296. <cm:property name="ancestors"/>
  297. </cm:properties>
  298. </cm:refProp>
  299. </cm:refProps>
  300. </cm:options>
  301. </cm:query>
  302. </cm:requests>
  303. </cm:query>
  304. </xts:transform>
  305. </send:request>
  306. </xts:transform>
  307. </xts:append>
  308. <xts:replace select="/root/*[local-name()='queryResponse'][1]/*[local-name()='queryReply'][2]">
  309. <xts:queryNode select="/root/*[local-name()='queryResponse'][2]/*[local-name()='queryReply']"/>
  310. </xts:replace>
  311. <xts:delete select="/root/*[local-name()='queryResponse'][2]"/>
  312. </xts:sequence>
  313. </xsl:template>
  314. </xsl:stylesheet>
  315. </xts:block>
  316. <!--
  317. ===============================================================================================
  318. Produce default runOption under /root/env
  319. ===============================================================================================
  320. -->
  321. <xts:block id="generateDefaultRunOptions" processor="XSLT" type="exec" dependency="getBaseContent formlogic_init" condition=".[not(/root/env/param[@name = 'visited_agent_property'])]" mandatory="false">
  322. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  323. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  324. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  325. <xsl:stylesheet version="1.0"
  326. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  327. xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
  328. xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/"
  329. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  330. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  331. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  332. <xsl:template match="/">
  333. <xts:sequence>
  334. <xts:append select="/root/env">
  335. <xsl:if test="/root/cm:queryResponse/cm:queryReply[3]/*/cm:runAsOwner='true' or /root/cm:queryResponse/cm:queryReply[3]/*/cm:runWithOwnerCapabilities='true'">
  336. <param name="m_re_runAsOwner">true</param>
  337. </xsl:if>
  338. <xsl:if test="/root/cm:queryResponse/cm:queryReply[3]/*/cm:runWithOwnerCapabilities='true'">
  339. <param name="m_re_runWithOwnerCapabilities">true</param>
  340. </xsl:if>
  341. <xsl:if test="/root/cm:queryResponse/cm:queryReply[3]/*/*[local-name()='options']/*[local-name()='value']/*[local-name()='item'][./*[local-name()='name']='writeCompleteHistory']/*[local-name()='value']!=''">
  342. <param name="m_mo_writeCompleteHistory"><xsl:value-of select="/root/cm:queryResponse/cm:queryReply[3]/*/*[local-name()='options']/*[local-name()='value']/*[local-name()='item'][./*[local-name()='name']='writeCompleteHistory']/*[local-name()='value']"/></param>
  343. </xsl:if>
  344. <xsl:if test="/root/cm:queryResponse/cm:queryReply[1]/*/cm:allowNotification != '' and not(/root/env/param[@name='m_agent_allowNotification'])">
  345. <param name="m_agent_allowNotification"><xsl:value-of select="/root/cm:queryResponse/cm:queryReply[1]/*/cm:allowNotification"/></param>
  346. </xsl:if>
  347. <xts:transform src="transforms/portal/options/generateParams.xslt" processor="XSLT">
  348. <xts:param name="messageBase">/messages/portal.xml</xts:param>
  349. <root>
  350. <xts:transform src="transforms/portal/options/mergeReportOptions.xslt" processor="XSLT">
  351. <root>
  352. <xts:queryNode select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][3]/*"/>
  353. </root>
  354. </xts:transform>
  355. <deliverySection>false</deliverySection>
  356. <defaultOptions>true</defaultOptions>
  357. <basicOptions>true</basicOptions>
  358. </root>
  359. </xts:transform>
  360. </xts:append>
  361. </xts:sequence>
  362. </xsl:template>
  363. </xsl:stylesheet>
  364. </xts:block>
  365. <!--
  366. ===============================================================================================
  367. renderPage -
  368. ===============================================================================================
  369. -->
  370. <xts:block id="renderPage" mode="output" processor="XSLT" type="exec" mimeType="text/html" dependency="getTabs classNames getBaseContent generateParameterDescription generateDefaultRunOptions" condition=".[/root/view='properties']" mandatory="false">
  371. <xts:logicsheet path="logicsheets/portal.xsl"/>
  372. <xts:logicsheet path="logicsheets/presentation/dialog/ui-templates.xsl"/>
  373. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  374. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  375. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  376. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  377. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  378. <xts:logicsheet path="logicsheets/presentation/dialog/confirm.xslt"/>
  379. <xts:logicsheet path="logicsheets/formlogic.xslt"/>
  380. <xts:logicsheet path="logicsheets/validation.xslt"/> <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
  381. <xsl:stylesheet version="1.0"
  382. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  383. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  384. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  385. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  386. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  387. xmlns:xts="http://developer.cognos.com/schemas/xts/"
  388. xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
  389. xmlns:ut="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/ui-templates/"
  390. xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
  391. xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
  392. xmlns:dc="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/confirm/1/"
  393. xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
  394. xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
  395. xmlns:utml="http://developer.cognos.com/schemas/xts/logicsheet/xslt/formlogic/"
  396. xmlns:thm="http://developer.cognos.com/schemas/xts/logicsheets/xslt/theme/"
  397. exclude-result-prefixes="xsl cf cp df dp dc lyt cm thm utml xtsext ut">
  398. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  399. <!-- current file name -->
  400. <xsl:variable name="mname" select="'properties_agent.xts'"/>
  401. <xsl:variable name="has_write_permission" select="contains(concat(' ', /root/cm:queryResponse/cm:queryReply[1]/*[1]/cm:permissions, ' '), ' write ')"/>
  402. <xsl:variable name="has_execute_permission" select="contains(concat(' ', /root/cm:queryResponse/cm:queryReply[1]/*[1]/cm:permissions, ' '), ' execute ')"/>
  403. <xsl:variable name="has_traverse_permission" select="contains(concat(' ', /root/cm:queryResponse/cm:queryReply[1]/*[1]/cm:permissions, ' '), ' traverse ')"/>
  404. <xsl:variable name="has_policy_permission" select="contains(concat(' ', /root/cm:queryResponse/cm:queryReply[1]/*[1]/cm:permissions, ' '), ' setPolicy ')"/>
  405. <xsl:variable name="tasks" select="/root/cm:queryResponse/cm:queryReply[2]/*"/>
  406. <xsl:variable name="the-object" select="/root/cm:queryResponse/cm:queryReply[1]/*[1]"/>
  407. <xsl:variable name="showOKCancel" select="$has_write_permission or $has_policy_permission"/>
  408. <xsl:variable name="studioName"><xts:string id="IDS_TOOLS_AGENT"/></xsl:variable>
  409. <xsl:variable name="orig_agent_allowNotification" select="$the-object/cm:allowNotification"/>
  410. <pf:variables/>
  411. <!-- start the output -->
  412. <xsl:template match="/root">
  413. <xsl:variable name="browserTitle"><xts:string id="IDS_PROPERTIES_TITLE"><xts:param name="objectName"><span lang="{$contentLocale}"><xsl:value-of select="key('env-param', 'm_name')"/></span></xts:param></xts:string></xsl:variable>
  414. <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html></xsl:text><dp:page longTitle="$browserTitle">
  415. <dp:meta>
  416. <pf:meta/> <!-- Standard meta tags -->
  417. </dp:meta>
  418. <!-- get passed in parameters -->
  419. <dp:script>
  420. <pf:help context="HID_AGENTS_INFO"/> <!-- Help system -->
  421. <xsl:if test="$has_write_permission = true()">
  422. <dc:confirm-cancel/>
  423. </xsl:if>
  424. </dp:script>
  425. <xsl:variable name="defaultAction">
  426. <xsl:choose>
  427. <xsl:when test="key('env-param', 'm_p_defaultPortalAction') and key('env-param', 'm_p_defaultPortalAction') != ''">
  428. <xsl:value-of select="key('env-param', 'm_p_defaultPortalAction')"/>
  429. </xsl:when>
  430. <xsl:when test="/root/cm:queryResponse/cm:queryReply/*/cm:defaultPortalAction != ''">
  431. <xsl:value-of select="/root/cm:queryResponse/cm:queryReply/*/cm:defaultPortalAction"/>
  432. </xsl:when>
  433. <xsl:otherwise>
  434. <xsl:value-of select="'viewOutput'"/>
  435. </xsl:otherwise>
  436. </xsl:choose>
  437. </xsl:variable>
  438. <utml:form name="pform" method="post" action="{$gateway}">
  439. <utml:read-only>
  440. <xsl:choose>
  441. <xsl:when test="$has_write_permission = true()">
  442. <xsl:text>false</xsl:text>
  443. </xsl:when>
  444. <xsl:otherwise>
  445. <xsl:text>true</xsl:text>
  446. </xsl:otherwise>
  447. </xsl:choose>
  448. </utml:read-only>
  449. <!--
  450. add a hidden input for the 'ps_nav_op', doing this will define the default behavior when submitting
  451. this form, we don't want the operation set when tabing, so set it to empty here. ideally this would
  452. be done by the tabbing itself, but since it's done in the theme stuff (and can't use utml) we'll just do
  453. it here.
  454. -->
  455. <utml:input type="hidden" name="ps_nav_op" value="" utml:update="false"/>
  456. <!--
  457. this defines the form command operation to be performed when all the collected properties are submitted.
  458. -->
  459. <utml:input type="hidden" name="ifrmcmd" value="save" utml:update="false"/>
  460. <utml:input type="hidden" value="true" name="m_validate" utml:update="false"/>
  461. <utml:input type="hidden" value="true" name="visited_agent_property" utml:update="false"/>
  462. <utml:input type="hidden" value="false" name="m_removeAll" utml:update="false"/>
  463. <!-- dialog header -->
  464. <dp:header useBackURL="not($showOKCancel)">
  465. <!-- header titles-->
  466. <dp:title><xsl:copy-of select="$browserTitle"/></dp:title>
  467. </dp:header>
  468. <!-- property tabs -->
  469. <df:propertiesTabs select="agent">
  470. <df:hasSetPolicy><xsl:value-of select="$has_policy_permission"/></df:hasSetPolicy>
  471. </df:propertiesTabs>
  472. <!-- description tabs -->
  473. <dp:description>
  474. <xts:string id="IDS_PROP_RUN_INTRO"/>
  475. </dp:description>
  476. <lyt:layout style="1">
  477. <lyt:section>
  478. <xsl:choose>
  479. <xsl:when test="$has_traverse_permission = false()">
  480. <ut:taskSummaryUI iterate="$tasks" emptyMsgID="IDS_ITEMS_NO_PRIVILEGES" itemObject="cm:taskObject"/>
  481. </xsl:when>
  482. <xsl:otherwise>
  483. <ut:taskSummaryUI iterate="$tasks" itemObject="cm:taskObject"/>
  484. </xsl:otherwise>
  485. </xsl:choose>
  486. </lyt:section>
  487. </lyt:layout>
  488. <lyt:layout style="1" title="IDS_PROP_AGENT_OPTIONS" border="yes">
  489. <lyt:section>
  490. <!-- default actions -->
  491. <ut:propDefaultActionSection/>
  492. <!-- prompt -->
  493. <xsl:if test="$has_traverse_permission = true()">
  494. <ut:prompt prefix="m_p" showCheckbox="false"/>
  495. </xsl:if>
  496. <!-- run as owner -->
  497. <xsl:if test="$has_traverse_permission = true()">
  498. <script language="javascript" src="{$webRoot}/dojo16/dojo/dojo.js"/>
  499. <script language="javascript" src="{$webcontent}/{$app}/js/com/ibm/cognos/ps/runAsOwner.js"/>
  500. <dp:choice title="IDS_OTHERRUN_RUN_AS_OWNER">
  501. <dp:section1>
  502. <utml:input type="checkbox" name="m_re_runAsOwner" value="true" utml:track="true" utml:default-condition="key('env-param','m_re_runAsOwner')='true'" onclick="com.ibm.cognos.ps.runAsOwner.toggleRunWithOwnerCapabilities(document.pform)" id="ctrl_m_re_runAsOwner"/>
  503. </dp:section1>
  504. <dp:section2 for="ctrl_m_re_runAsOwner">
  505. <dp:text>
  506. <xsl:choose>
  507. <xsl:when test="(key('env-param', 'm_defaultName')) and not(key('env-param', 'm_defaultName') = '')">
  508. <span lang="{$contentLocale}"><xsl:value-of select="key('env-param', 'm_defaultName')"/></span>
  509. </xsl:when>
  510. <xsl:when test="$the-object/cm:owner/*/cm:defaultName">
  511. <span lang="{$contentLocale}"><xsl:value-of select="$the-object/cm:owner/*/cm:defaultName"/></span>
  512. </xsl:when>
  513. <xsl:when test="$the-object/cm:owner/*/cm:email">
  514. <xsl:value-of select="$the-object/cm:owner/*/cm:email"/>
  515. </xsl:when>
  516. <xsl:when test="$the-object/cm:owner/cm:nil">
  517. <xts:string id="IDS_PROP_UNKNOWN_OWNER"/>
  518. </xsl:when>
  519. <xsl:otherwise>
  520. <xts:string id="IDS_NONE"/>
  521. </xsl:otherwise>
  522. </xsl:choose>
  523. </dp:text>
  524. </dp:section2>
  525. <xsl:if test="key('env-param','m_class') != 'agentDefinitionView'">
  526. <dp:section3 width="100%">
  527. <dp:choice>
  528. <dp:section1>
  529. <utml:input type="checkbox" name="m_re_runWithOwnerCapabilities" value="true" utml:track="true" utml:default-condition="key('env-param','m_re_runWithOwnerCapabilities')='true'" id="ctrl_m_re_runWithOwnerCapabilities">
  530. <xsl:if test="not(key('env-param','m_re_runAsOwner')='true')">
  531. <xsl:attribute name="disabled"/>
  532. </xsl:if>
  533. </utml:input>
  534. </dp:section1>
  535. <dp:section2 for="ctrl_m_re_runWithOwnerCapabilities">
  536. <xts:string id="IDS_OTHERRUN_RUN_AS_OWNER_CAPABILITIES_ONLY"/>
  537. </dp:section2>
  538. </dp:choice>
  539. </dp:section3>
  540. </xsl:if>
  541. </dp:choice>
  542. </xsl:if>
  543. <!--<lyt:layout style="1">-->
  544. <lyt:section>
  545. <dp:list title="IDS_PROP_JOB_HISTORY_DETAILS_LEVEL_TITLE" for="ctrl_m_mo_writeCompleteHistory">
  546. <dp:section>
  547. <dp:hint wrap="wrap">
  548. <xts:string id="IDS_PROP_JOB_HISTORY_DETAILS_LEVEL_DESC"/>
  549. </dp:hint>
  550. </dp:section>
  551. <dp:section>
  552. <dp:choice>
  553. <dp:section>
  554. <utml:select name="m_mo_writeCompleteHistory" utml:track="true" id="ctrl_m_mo_writeCompleteHistory">
  555. <utml:option>
  556. <utml:value>true</utml:value>
  557. <xts:string id="IDS_PROP_JOB_HISTORY_DETAILS_LEVEL_CHOICE_ALL"/>
  558. </utml:option>
  559. <utml:option>
  560. <utml:value>false</utml:value>
  561. <xts:string id="IDS_PROP_JOB_HISTORY_DETAILS_LEVEL_CHOICE_LIMITED"/>
  562. </utml:option>
  563. </utml:select>
  564. </dp:section>
  565. </dp:choice>
  566. </dp:section>
  567. </dp:list>
  568. </lyt:section>
  569. <!-- Allow notification -->
  570. <dp:choice title="IDS_PROP_AGENT_NOTIFICATION_SUBSCRIPTION">
  571. <dp:section1>
  572. <utml:input type="checkbox" name="m_agent_allowNotification" value="true" utml:track="true" utml:default-condition="key('env-param','m_agent_allowNotification')='true'" id="ctrl_m_agent_allowNotification"/>
  573. </dp:section1>
  574. <dp:section2 for="ctrl_m_agent_allowNotification">
  575. <dp:text>
  576. <xts:string id="IDS_PROP_AGENT_NOTIFICATION_ALLOW_SUBSCRIBE"/>
  577. </dp:text>
  578. </dp:section2>
  579. </dp:choice>
  580. </lyt:section>
  581. </lyt:layout>
  582. <script language="javascript">
  583. function submitAction(sTemplate)
  584. {
  585. document.pform.ps_nav_op.value = "push";
  586. document.pform.m.value = "<xsl:value-of select="$app"/>/" + sTemplate;
  587. document.pform.submit();
  588. }
  589. function action(sTarget, sAction)
  590. {
  591. if (sAction != null &amp;&amp; sAction != "" )
  592. document.pform.ifrmcmd.value = sAction;
  593. submitAction(sTarget);
  594. }
  595. function validate()
  596. { <!-- to allow user to remove all existing alerts when changing to disallow alerts -->
  597. if ("<xsl:value-of select="$orig_agent_allowNotification"/>" == 'true' &amp;&amp; !(document.pform.m_agent_allowNotification.checked))
  598. {
  599. if ("<xsl:value-of select="$has_policy_permission"/>")
  600. {
  601. <xsl:variable name="notifyBox"><xts:string id="IDS_PROP_AGENT_NOTIFICATION_ALLOW_SUBSCRIBE"/></xsl:variable>
  602. if ( confirm("<xts:string id="IDS_ACT_CONF_REMOVE_ALL_NOTIFICATION" encode="javascript"><xts:param name="removeNotifiyBox"><xsl:value-of select="$notifyBox"/></xts:param></xts:string>") )
  603. {
  604. document.pform.m_removeAll.value = 'true';
  605. }
  606. }
  607. }
  608. return true;
  609. }
  610. </script>
  611. <dp:footer>
  612. <xsl:choose>
  613. <xsl:when test="$showOKCancel">
  614. <df:button df:id="IDS_OK" utml:validate="true" df:style="submit" df:nav_op="stack-down"/>
  615. <xsl:choose>
  616. <xsl:when test="key('env-param', 'ps_nav_stack') and not(key('env-param', 'ps_nav_stack') = '') ">
  617. <df:button df:id="IDS_CANCEL" df:style="stack-down" onclick="{$dc-confirm-cancel}"/>
  618. </xsl:when>
  619. <xsl:otherwise>
  620. <df:button df:id="IDS_CANCEL" df:style="back-url" onclick="{$dc-confirm-cancel}"/>
  621. </xsl:otherwise>
  622. </xsl:choose>
  623. </xsl:when>
  624. <xsl:otherwise>
  625. <df:button df:id="IDS_CLOSE" df:style="back-url"/>
  626. </xsl:otherwise>
  627. </xsl:choose>
  628. </dp:footer>
  629. </utml:form>
  630. </dp:page>
  631. </xsl:template>
  632. <ut:promptTemplate propertyDialog="true" showCheckbox="false" noParamTest="and not(/root/cm:queryResponse/cm:queryReply[3]/*/cm:parameters/*)"/>
  633. <!-- Need ability to display object icons. -->
  634. <pf:gen-icon/>
  635. </xsl:stylesheet>
  636. </xts:block>
  637. <!--
  638. ===============================================================================================
  639. debug - display debug information
  640. ===============================================================================================
  641. -->
  642. <xts:block id="debug" dependency="renderPage" condition=".[/root/session/param[@name='debug']='1']" type="exec" mode="output" processor="XSLT" mandatory="false" mimeType="text/html">
  643. <!-- get the debug logic sheet -->
  644. <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
  645. <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">
  646. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  647. <xsl:template match="/">
  648. <dbg:dumpxml select="/root"/>
  649. </xsl:template>
  650. </xsl:stylesheet>
  651. </xts:block>
  652. </xts:morphlet>