properties_subscription.xts 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: ASV
  5. (C) Copyright IBM Corp. 2005, 2010
  6. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. -->
  8. <xts:morphlet xmlns:xts="http://developer.cognos.com/schemas/xts/" messageBase="messages/subscribe.xml,messages/portal.xml, messages/portalRL.xml" includeConfig="true">
  9. <!--
  10. ===============================================================================================
  11. callMorphlet - Calls the appropriate morphlet using the passed in params which will return
  12. markup to be displayed or the expected results
  13. ===============================================================================================
  14. -->
  15. <xts:block id="callMorphlet" processor="XSLT" dependency="formlogic_init" type="exec" condition=".[ /root/env/param[@name='controller_state'] != '' ]" mandatory="false">
  16. <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
  17. <xsl:stylesheet version="1.0"
  18. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  19. xmlns:dlgctrl="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/controller-templates/"
  20. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  21. xmlns:req-params="http://developer.cognos.com/schemas/request/params"
  22. exclude-result-prefixes="xsl dlgctrl xtsext req-params">
  23. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  24. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  25. <xsl:variable name="controller_state" select="/root/env/param[@name='controller_state']"/>
  26. <xsl:template match="/">
  27. <xts:sequence>
  28. <xsl:choose>
  29. <xsl:when test="starts-with($controller_state,'email')">
  30. <dlgctrl:XTS2Request>
  31. <dlgctrl:target>/portal/emailOptions/email_options.xts</dlgctrl:target>
  32. <dlgctrl:stackName>email_options</dlgctrl:stackName>
  33. <req-params:param name="options"><xsl:value-of select="key('env-param','deliveryOptions')"/></req-params:param>
  34. <req-params:param name="titlePrefix"><xts:string id="IDS_EMAIL_OPTIONS_TITLE_PREFIX"/></req-params:param>
  35. <req-params:param name="titlePostfix"><xsl:value-of select="key('env-param','m_name')"/></req-params:param>
  36. <req-params:param name="defaultTarget">/portal/properties_subscription.xts</req-params:param>
  37. <req-params:param name="burst"><xsl:value-of select="key('env-param','m_ro_burst')"/></req-params:param>
  38. <req-params:param name="subscription">true</req-params:param>
  39. <req-params:param name="taskName"><xsl:text><xts:string id="IDS_CUSTSUB_DEFAULT_EMAIL_TASKNAME"/></xsl:text></req-params:param> </dlgctrl:XTS2Request>
  40. </xsl:when>
  41. <xsl:when test="starts-with($controller_state,'task')">
  42. <dlgctrl:XTS2Request>
  43. <dlgctrl:target>/subscribe/taskOptions/task_options.xts</dlgctrl:target>
  44. <dlgctrl:stackName>task_options</dlgctrl:stackName>
  45. <req-params:param name="taskOptions"><xsl:value-of select="key('env-param','taskOptions')"/></req-params:param>
  46. <req-params:param name="titlePrefix"><xts:string id="IDS_EMAIL_OPTIONS_TITLE_PREFIX"/></req-params:param>
  47. <req-params:param name="titlePostfix"><xsl:value-of select="key('env-param','m_name')"/></req-params:param>
  48. <req-params:param name="defaultTarget">/portal/properties_subscription.xts</req-params:param>
  49. <req-params:param name="burst"><xsl:value-of select="key('env-param','m_ro_burst')"/></req-params:param>
  50. <req-params:param name="subscription"><xsl:text>true</xsl:text></req-params:param>
  51. <!-- default task name incase the email subject is empty -->
  52. <req-params:param name="taskName"><xsl:text><xts:string id="IDS_CUSTSUB_DEFAULT_EMAIL_TASKNAME"/></xsl:text></req-params:param>
  53. <req-params:param name="taskType"><xsl:text>notification</xsl:text></req-params:param>
  54. </dlgctrl:XTS2Request>
  55. </xsl:when>
  56. </xsl:choose>
  57. </xts:sequence>
  58. </xsl:template>
  59. </xsl:stylesheet>
  60. </xts:block>
  61. <!--
  62. ===============================================================================================
  63. processReponse - Process the response from the callMorphlet block and either displays
  64. the markup or processes the results
  65. ===============================================================================================
  66. -->
  67. <xts:block id="processEmailResponse" path="/portal/emailOptions/logicsheets/process_email_options.xslt" processor="XSLT" dependency="callMorphlet" type="exec" condition=".[ /root/env/param[@name='controller_state'] != '' and starts-with(/root/env/param[@name='controller_state'],'email')]" mandatory="false">
  68. <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
  69. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  70. <xts:logicsheet path="logicsheets/portal.xsl"/>
  71. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  72. </xts:block>
  73. <!--
  74. ===============================================================================================
  75. processReponse - Process the response from the callMorphlet block and either displays
  76. the markup or processes the results
  77. ===============================================================================================
  78. -->
  79. <xts:block id="processTaskResponse" path="/subscribe/taskOptions/logicsheets/process_task_options.xslt" processor="XSLT" dependency="processEmailResponse" type="exec" condition=".[ /root/env/param[@name='controller_state'] != '' and starts-with(/root/env/param[@name='controller_state'],'task')]" mandatory="false">
  80. <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
  81. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  82. <xts:logicsheet path="logicsheets/portal.xsl"/>
  83. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  84. </xts:block>
  85. <!-- formlogic_init - standard form logic initialization ===============================================-->
  86. <xts:block id="formlogic_init" dependency="" type="exec" mode="interpret" processor="XSLT" path="/logicsheets/formlogic_init.xslt" nodelist="env,credential,system,http" mandatory="false"/>
  87. <!-- getTabs - load object-specific property tabs map ==================================================-->
  88. <xts:block id="getTabs" dependency="processEmailResponse" type="exec" mode="interpret" processor="XML" path="/portal/uiobjects_tabs.xml" condition=".[(not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='')]" mandatory="false"/>
  89. <!-- getObjects - get object class names ===============================================================-->
  90. <xts:block id="classNames" dependency="processEmailResponse" type="exec" mode="input" processor="XML" path="/portal/uiExtensions.xml" condition=".[(not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='')]" mandatory="false">
  91. <xts:logicsheet path="/logicsheets/uiobjects/uiobjects_names.xslt"/>
  92. </xts:block>
  93. <!--
  94. ===============================================================================================
  95. Query for the reportDataServiceAgentDefintion and appending it to env as 'm_sub_' params - this is only executed the first time into the page
  96. ===============================================================================================
  97. -->
  98. <xts:block id="getContent" path="/subscribe/blocks/getSubscriptionContentPortal.xslt" processor="XSLT" type="exec" dependency="formlogic_init processTaskResponse" condition=".[not(/root/env/param[@name='m_subData_report']) and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='')]" mandatory="false">
  99. <xts:logicsheet path="logicsheets/portal.xsl"/>
  100. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  101. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  102. </xts:block>
  103. <!--
  104. ===============================================================================================
  105. Always get basic content - need to know the permissions of the object
  106. ===============================================================================================
  107. -->
  108. <xts:block id="getBasicContent" dependency="getContent" processor="XSLT" type="exec" condition=".[(not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='') and not(/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='reportDataServiceAgentDefinition'])]" mandatory="false">
  109. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  110. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  111. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  112. <xsl:stylesheet version="1.0"
  113. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  114. xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
  115. xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/"
  116. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  117. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/">
  118. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  119. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  120. <xsl:template match="/">
  121. <xts:sequence>
  122. <xts:append>
  123. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  124. <send:request provider="cm">
  125. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  126. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  127. <cm:requests>
  128. <!-- get basic properties for the object -->
  129. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  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="defaultDescription"/>
  136. <cm:property name="defaultScreenTip"/>
  137. <cm:property name="options"/>
  138. <cm:property name="permissions"/>
  139. <cm:property name="storeID"/>
  140. </cm:properties>
  141. </cm:query>
  142. <!-- have to get information about the account -->
  143. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  144. <cm:search>
  145. <xsl:value-of select="'~'"/>
  146. </cm:search>
  147. <cm:properties>
  148. <cm:property name="email"/>
  149. <cm:property name="notificationEMail"/>
  150. </cm:properties>
  151. </cm:query>
  152. </cm:requests>
  153. </cm:query>
  154. </xts:transform>
  155. </send:request>
  156. </xts:transform>
  157. </xts:append>
  158. </xts:sequence>
  159. </xsl:template>
  160. </xsl:stylesheet>
  161. </xts:block>
  162. <!--
  163. ===============================================================================================
  164. generateDefaultEmailOptions - If no delivery options where save on the object and it's the
  165. first time we hit this page then generate defaults
  166. ===============================================================================================
  167. -->
  168. <xts:block id="generateDefaultEmailOptions" path="subscribe/blocks/generateDefaultSubscribeEmailOptions.xslt" processor="XSLT" dependency="processTaskResponse getContent" type="exec" condition=".[not(/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='agentTaskDefinition']/*[local-name()='taskObject']/*[local-name()='memo']/*[local-name()='options']/*[local-name()='value']/*[local-name()='item' and *[local-name()='name']='to']) and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='') and not(/root/env/param[@name='deliveryOptions']) ]" mandatory="false">
  169. <xts:logicsheet path="subscribe/logicsheets/rdsad.xsl"/>
  170. <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
  171. <xts:logicsheet path="logicsheets/portal.xsl"/>
  172. </xts:block>
  173. <!--
  174. ===============================================================================================
  175. Build the memo options from CM
  176. ===============================================================================================
  177. -->
  178. <xts:block id="buildMemoTaskOptionsFromCM" processor="XSLT" type="exec" dependency="generateDefaultEmailOptions" condition=".[/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='agentTaskDefinition']/*[local-name()='taskObject']/*[local-name()='memo']/*[local-name()='options']/*[local-name()='value']/*[local-name()='item' and *[local-name()='name']='to'] and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='') and not(/root/env/param[@name='deliveryOptions']) ]" mandatory="false">
  179. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:xts="http://developer.cognos.com/schemas/xts/" exclude-result-prefixes="xtsext xts">
  180. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  181. <xsl:template match="/">
  182. <xts:sequence>
  183. <!-- set up the delivery options - pull this from the refProps returned for the agentTaskDefinition-->
  184. <!-- create the morphlet response if we have a memo task to start will - otherwise we call genDefaultEmailOptions. -->
  185. <xts:append select="/root">
  186. <xts:transform src="subscribe/transforms/disassembleAgentMemoTask.xslt" processor="XSLT">
  187. <root>
  188. <xsl:copy-of select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='agentTaskDefinition']/*/*[local-name()='memo']"/>
  189. </root>
  190. </xts:transform>
  191. </xts:append>
  192. </xts:sequence>
  193. </xsl:template>
  194. </xsl:stylesheet>
  195. </xts:block>
  196. <!--
  197. ===============================================================================================
  198. generateDefaultTaskOptions - If no task options where save on the object and it's the
  199. first time we hit this page then generate defaults - can't use the portal default - we have to give a defaultSubject
  200. ===============================================================================================
  201. -->
  202. <xts:block id="generateDefaultTaskOptions" path="subscribe/blocks/generateDefaultSubscribeTaskOptions.xslt" processor="XSLT" dependency="buildMemoTaskOptionsFromCM" type="exec" condition=".[not(/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='agentTaskDefinition']/*[local-name()='taskObject']/*[local-name()='humanTask']/*[local-name()='parameters']/*[local-name()='parameterValue']/*[local-name()='name']) and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='') and not(/root/env/param[@name='taskOptions']) ]" mandatory="false">
  203. <xts:logicsheet path="logicsheets/portal.xsl"/>
  204. <xts:logicsheet path="subscribe/logicsheets/rdsad.xsl"/>
  205. <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
  206. </xts:block>
  207. <!--
  208. ===============================================================================================
  209. Build the humanTask options from CM
  210. ===============================================================================================
  211. -->
  212. <xts:block id="buildHumanTaskOptionsFromCM" processor="XSLT" type="exec" dependency="generateDefaultTaskOptions" condition=".[/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='agentTaskDefinition']/*[local-name()='taskObject']/*[local-name()='humanTask']/*[local-name()='parameters']/*[local-name()='parameterValue']/*[local-name()='name'] and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='') and not(/root/env/param[@name='taskOptions']) ]" mandatory="false">
  213. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:xts="http://developer.cognos.com/schemas/xts/" exclude-result-prefixes="xtsext xts">
  214. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  215. <xsl:template match="/">
  216. <xts:sequence>
  217. <!-- set up the human task service options -->
  218. <xts:append select="/root">
  219. <xts:transform src="subscribe/transforms/disassembleAgentNotificationTask.xslt" processor="XSLT">
  220. <root>
  221. <xts:transform name="XMLDecode">
  222. <xsl:value-of select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='agentTaskDefinition']/*/*[local-name()='humanTask']/*[local-name()='parameters']//*[local-name()='use']"/>
  223. </xts:transform>
  224. <xsl:copy-of select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='agentTaskDefinition']/*/*[local-name()='humanTask']"/>
  225. </root>
  226. </xts:transform>
  227. </xts:append>
  228. </xts:sequence>
  229. </xsl:template>
  230. </xsl:stylesheet>
  231. </xts:block>
  232. <!--
  233. ===============================================================================================
  234. processDefaultEmailOptions - If no delivery options where save on the object and it's the
  235. first time we hit then process the default delivery options.
  236. ===============================================================================================
  237. -->
  238. <xts:block id="processDefaultEmailOptions" path="/portal/emailOptions/logicsheets/process_email_options.xslt" processor="XSLT" dependency="buildHumanTaskOptionsFromCM" type="exec" condition=".[not(/root/env/param[@name='deliveryOptions']) and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='')]" mandatory="false">
  239. <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
  240. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  241. <xts:logicsheet path="logicsheets/portal.xsl"/>
  242. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  243. </xts:block>
  244. <!--
  245. ===============================================================================================
  246. processDefaultTaskOptions - If no task options where save on the object and it's the
  247. first time we hit then process the default task options.
  248. ===============================================================================================
  249. -->
  250. <xts:block id="processDefaultTaskOptions" path="/subscribe/taskOptions/logicsheets/process_task_options.xslt" processor="XSLT" dependency="processDefaultEmailOptions" type="exec" condition=".[(not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='') and not(/root/env/param[@name='taskOptions'])]" mandatory="false">
  251. <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
  252. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  253. <xts:logicsheet path="logicsheets/portal.xsl"/>
  254. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  255. </xts:block><!--
  256. ===============================================================================================
  257. make sure that we have valid default news variables
  258. ===============================================================================================
  259. -->
  260. <xts:block id="generateDefaultNewsitemOptions" path="subscribe/blocks/generateDefaultNewsitemOptions.xslt" processor="XSLT" type="exec" dependency="processDefaultTaskOptions" condition=".[(not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='') and not(/root/env/param[@name='m_subData_newsitem_options']) or /root/env/param[@name='m_subData_newsitem_options']='']" mandatory="false">
  261. <xts:logicsheet path="logicsheets/portal.xsl"/>
  262. <xts:logicsheet path="subscribe/logicsheets/rdsad.xsl"/>
  263. </xts:block>
  264. <!--
  265. ===============================================================================================
  266. update the taskName
  267. ===============================================================================================
  268. -->
  269. <xts:block id="updateTaskNames" path="subscribe/blocks/updateTaskNames.xslt" processor="XSLT" type="exec" dependency="getBasicContent generateDefaultNewsitemOptions" condition=".[not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='']" mandatory="false"/>
  270. <!--
  271. ===============================================================================================
  272. get the path information for the newsitem channel - we always have to do this for a page which is displayed - can't
  273. precalculate it and use it.
  274. ===============================================================================================
  275. -->
  276. <xts:block id="getNewsitemContent" dependency="updateTaskNames" processor="XSLT" type="exec" condition=".[not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='']" mandatory="false">
  277. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  278. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  279. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  280. <xsl:stylesheet version="1.0"
  281. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  282. xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
  283. xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/"
  284. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  285. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/">
  286. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  287. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  288. <xsl:template match="/">
  289. <xts:sequence>
  290. <!-- get the path information for the newsitem channel -->
  291. <xts:append>
  292. <newsitemPath>
  293. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  294. <send:request provider="cm">
  295. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  296. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  297. <cm:search>
  298. <xsl:value-of select="/root/env/param[@name='m_subData_newsitem_path']"/>
  299. </cm:search>
  300. <cm:properties>
  301. <cm:property name="searchPath"/>
  302. <cm:property name="ancestors"/>
  303. <cm:property name="defaultName"/>
  304. </cm:properties>
  305. </cm:query>
  306. </xts:transform>
  307. </send:request>
  308. </xts:transform>
  309. </newsitemPath>
  310. </xts:append>
  311. </xts:sequence>
  312. </xsl:template>
  313. </xsl:stylesheet>
  314. </xts:block>
  315. <!--
  316. ===============================================================================================
  317. build CM structure for icons
  318. ===============================================================================================
  319. -->
  320. <xts:block id="buildIconStructure" processor="XSLT" type="exec" dependency="getNewsitemContent" mandatory="true">
  321. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xts="http://developer.cognos.com/schemas/xts/" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" exclude-result-prefixes="xsl xts cm">
  322. <xsl:template match="/">
  323. <xts:sequence>
  324. <xts:append select="/root">
  325. <icon name="memo">
  326. <cm:baseClass>
  327. <cm:objectClass>memo</cm:objectClass>
  328. <cm:defaultName><xts:string id="IDS_CUSTSUB_DELIVERY_EMAIL"/></cm:defaultName>
  329. </cm:baseClass>
  330. </icon>
  331. <icon name="newsitem">
  332. <cm:baseClass>
  333. <cm:objectClass>shortcutRSSTask</cm:objectClass>
  334. <cm:defaultName><xts:string id="IDS_CUSTSUB_DELIVERY_NEWSITEM"/></cm:defaultName>
  335. </cm:baseClass>
  336. </icon>
  337. <icon name="humanTask">
  338. <cm:baseClass>
  339. <cm:objectClass>humanTask</cm:objectClass>
  340. <cm:iconURI>./ps/portal/images/icon_notification.gif</cm:iconURI>
  341. <cm:defaultName><xts:string id="IDS_CUSTSUB_DELIVERY_TASK"/></cm:defaultName>
  342. </cm:baseClass>
  343. </icon>
  344. </xts:append>
  345. </xts:sequence>
  346. </xsl:template>
  347. </xsl:stylesheet>
  348. </xts:block>
  349. <!--
  350. ===============================================================================================
  351. renderPage - render the page
  352. ===============================================================================================
  353. -->
  354. <xts:block id="renderPage" mode="output" processor="XSLT" type="exec" mimeType="text/html" dependency="getTabs buildIconStructure" condition=".[ (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='')]" mandatory="false">
  355. <xts:logicsheet path="/subscribe/logicsheets/rdsad.xsl"/>
  356. <xts:logicsheet path="logicsheets/portal.xsl"/>
  357. <xts:logicsheet path="logicsheets/presentation/dialog/ui-templates.xsl"/>
  358. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  359. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  360. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  361. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  362. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  363. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  364. <xts:logicsheet path="logicsheets/presentation/dialog/confirm.xslt"/>
  365. <xts:logicsheet path="logicsheets/formlogic.xslt"/>
  366. <xts:logicsheet path="logicsheets/validation.xslt"/>
  367. <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
  368. <xsl:stylesheet version="1.0"
  369. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  370. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  371. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  372. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  373. xmlns:xts="http://developer.cognos.com/schemas/xts/"
  374. xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
  375. xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
  376. xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
  377. xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
  378. xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
  379. xmlns:utml="http://developer.cognos.com/schemas/xts/logicsheet/xslt/formlogic/"
  380. xmlns:rdsad="http://developer.cognos.com/schemas/xts/rdsad/"
  381. xmlns:out="dummy-uri"
  382. exclude-result-prefixes="xsl cp cf df dp lyt cm utml xtsext rdsad out">
  383. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
  384. <xsl:namespace-alias stylesheet-prefix="out" result-prefix="xsl"/>
  385. <!-- current file name -->
  386. <xsl:variable name="mname" select="'portal/properties_subscription.xts'"/>
  387. <xsl:variable name="has_write_permission" select="contains(concat(' ', /root/cm:queryResponse/cm:queryReply[1]/*[1]/cm:permissions, ' '), ' write ')"/>
  388. <xsl:variable name="has_execute_permission" select="contains(concat(' ', /root/cm:queryResponse/cm:queryReply[1]/*[1]/cm:permissions, ' '), ' execute ')"/>
  389. <xsl:variable name="has_policy_permission" select="contains(concat(' ', /root/cm:queryResponse/cm:queryReply[1]/*[1]/cm:permissions, ' '), ' setPolicy ')"/>
  390. <xsl:variable name="the-object" select="/root/cm:queryResponse/cm:queryReply[1]/*[1]"/>
  391. <xsl:variable name="showOKCancel" select="$has_write_permission or $has_policy_permission"/>
  392. <xsl:variable name="emailAsAttachment" select="key('env-param', 'm_ro_emailAsAttachment') = 'true'"/>
  393. <xsl:variable name="emailAsURL" select="key('env-param', 'm_ro_emailAsURL') = 'true'"/>
  394. <xsl:variable name="active_checked" select="key('env-param','m_subData_active_schedule')"/>
  395. <pf:variables/>
  396. <cp:flyoutControl/>
  397. <!-- start the output -->
  398. <xsl:template match="/root">
  399. <xsl:variable name="browserTitle"><xts:string id="IDS_PROPERTIES_TITLE"><xts:param name="objectName"><xsl:value-of select="key('env-param', 'm_name')"/></xts:param></xts:string></xsl:variable>
  400. <dp:page longTitle="$browserTitle">
  401. <dp:meta>
  402. <pf:meta/> <!-- Standard meta tags -->
  403. </dp:meta>
  404. <dp:script>
  405. <script type="text/javascript" src="{$webcontent}/{$app}/js/CCflyoutMenu.js"/>
  406. <script type="text/javascript">
  407. function validate()
  408. {
  409. var valid = conditionValidate() &amp;&amp; deliveryValidate();
  410. if (valid) {
  411. // disable unused delivery checkboxes
  412. removeDeliveryCBS();
  413. }
  414. return valid;
  415. }
  416. </script>
  417. <!-- Help system -->
  418. <pf:help context="HID_RULE_PROPERTIES"/>
  419. </dp:script>
  420. <utml:form name="pform" method="post" action="{$gateway}">
  421. <utml:exclusion-list>delivery</utml:exclusion-list>
  422. <utml:exclude-prefix>m_sub_</utml:exclude-prefix>
  423. <utml:read-only>
  424. <xsl:choose>
  425. <xsl:when test="$has_write_permission = true()">
  426. <xsl:text>false</xsl:text>
  427. </xsl:when>
  428. <xsl:otherwise>
  429. <xsl:text>true</xsl:text>
  430. </xsl:otherwise>
  431. </xsl:choose>
  432. </utml:read-only>
  433. <!--
  434. add a hidden input for the 'ps_nav_op', doing this will define the default behavior when submitting
  435. this form, we don't want the operation set when tabing, so set it to empty here. ideally this would
  436. be done by the tabbing itself, but since it's done in the theme stuff (and can't use utml) we'll just do
  437. it here.
  438. -->
  439. <utml:input type="hidden" name="ps_nav_op" value="" utml:update="false"/>
  440. <!--
  441. this defines the form command operation to be performed when all the collected properties are submitted.
  442. -->
  443. <utml:input type="hidden" name="ifrmcmd" value="save" utml:update="false"/>
  444. <utml:input type="hidden" value="true" name="m_validate" utml:update="false"/>
  445. <utml:input type="hidden" value="true" name="visited_agent_property" utml:update="false"/>
  446. <utml:input type="hidden" name="controller_state" value="" utml:update="false"/>
  447. <!-- dialog header -->
  448. <dp:header useBackURL="not($showOKCancel)">
  449. <!-- header titles-->
  450. <dp:title><xsl:value-of select="$browserTitle"/></dp:title>
  451. </dp:header>
  452. <!-- property tabs -->
  453. <df:propertiesTabs select="subscription">
  454. <df:hasSetPolicy><xsl:value-of select="$has_policy_permission"/></df:hasSetPolicy>
  455. </df:propertiesTabs>
  456. <!-- description tabs -->
  457. <dp:description>
  458. <xts:string id="IDS_CUSTSUB_PROP_SUB_INTRO"/>
  459. </dp:description>
  460. <lyt:layout style="1">
  461. <lyt:section>
  462. <dp:choice>
  463. <dp:section1>
  464. <utml:input type="checkbox" name="m_subData_active_schedule" value="true" utml:default-condition="$active_checked" onclick="if(window.on_changed_schedule_changed)on_changed_schedule_changed();"/>
  465. </dp:section1>
  466. <dp:section2><xts:string id="IDS_CUSTSUB_PROP_RULE_INACTIVE"/></dp:section2>
  467. </dp:choice>
  468. </lyt:section>
  469. </lyt:layout>
  470. <lyt:layout style="1" title="IDS_CUSTSUB_CONDITION_PROPERTIES" border="yes">
  471. <lyt:section>
  472. <!-- pull in the logicsheet for the condition display -->
  473. <rdsad:conditionDisplay/>
  474. </lyt:section>
  475. </lyt:layout>
  476. <!-- delivery -->
  477. <lyt:layout style="1" title="IDS_CUSTSUB_NOTIFICATION_PROPERTIES" border="yes" intro="IDS_CUSTSUB_NOTIFICATION_TYPE_HINT">
  478. <lyt:section>
  479. <rdsad:deliveryDisplay>
  480. <display>
  481. <option name="email">
  482. <visible>
  483. <xsl:choose>
  484. <xsl:when test="key('session-param','e_hp')!='' and key('session-param','e_hp')!='CAMID(&quot;::Anonymous&quot;)' and (/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='account']/*[local-name()='email'] != '' or /root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='account']/*[local-name()='notificationEMail'] != '') " >
  485. <xsl:text>true</xsl:text>
  486. </xsl:when>
  487. <xsl:otherwise>
  488. <xsl:text>false</xsl:text>
  489. </xsl:otherwise>
  490. </xsl:choose>
  491. </visible>
  492. <icon>
  493. <xsl:for-each select="/root/icon[@name='memo']/*[local-name()='baseClass']">
  494. <xsl:call-template name="gen-icon"/>
  495. </xsl:for-each>
  496. </icon>
  497. <title>
  498. <xsl:choose>
  499. <xsl:when test="/root/env/param[@name='emailSummary'] != ''">
  500. <xsl:value-of select="/root/env/param[@name='emailSummary']"/>
  501. </xsl:when>
  502. <xsl:when test="not($emailAsAttachment or $emailAsURL)">
  503. <xsl:text><xts:string id="IDS_OTHERRUN_DELIVERY_NOTIFY"/></xsl:text>
  504. </xsl:when>
  505. <xsl:when test="$emailAsAttachment and not($emailAsURL)">
  506. <xsl:text><xts:string id="IDS_OTHERRUN_DELIVERY_REPORT"/></xsl:text>
  507. </xsl:when>
  508. <xsl:when test="not($emailAsAttachment) and $emailAsURL">
  509. <xsl:text><xts:string id="IDS_OTHERRUN_DELIVERY_URL"/></xsl:text>
  510. </xsl:when>
  511. <xsl:otherwise>
  512. <xsl:text><xts:string id="IDS_OTHERRUN_DELIVERY_BOTH"/></xsl:text>
  513. </xsl:otherwise>
  514. </xsl:choose>
  515. </title>
  516. <description>
  517. <text><xsl:value-of select="/root/env/param[@name='emailDescription']"/></text>
  518. </description>
  519. <link>
  520. <href>document.pform.ps_nav_op.value='maintain';document.pform.controller_state.value='email|markup'</href>
  521. <target><xsl:value-of select="$mname"/></target>
  522. <text><xts:string id="IDS_OTHERRUN_SET_EMAIL"/></text>
  523. </link>
  524. </option>
  525. <!--</xsl:if>-->
  526. <option name="newsitem">
  527. <visible><xsl:text>true</xsl:text></visible>
  528. <icon>
  529. <xsl:for-each select="/root/icon[@name='newsitem']/*[local-name()='baseClass']">
  530. <xsl:call-template name="gen-icon"/>
  531. </xsl:for-each>
  532. </icon>
  533. <title>
  534. <xsl:text><xts:string id="IDS_CUSTSUB_PUBLISH_NEWSITEM"/></xsl:text>
  535. </title>
  536. <description>
  537. <path>
  538. <img width="20" height="16" align="absmiddle" src="{$skin_images}path.gif">
  539. <xsl:attribute name="alt">
  540. <xsl:value-of select="$newsitem_path_link"/>
  541. </xsl:attribute>
  542. </img>
  543. </path>
  544. <text>
  545. <xsl:text>&#160;</xsl:text>
  546. <xsl:text/>
  547. <xsl:value-of select="/root/env/param[@name='m_subData_newsitem_headline']"/>
  548. <xsl:text/>
  549. </text>
  550. </description>
  551. <link>
  552. <href>document.pform.ps_nav_op.value='push';</href>
  553. <target><xsl:text>subscribe/conditional_newsitem.xts</xsl:text></target>
  554. <text><xts:string id="IDS_OTHERRUN_SET_EMAIL"/></text>
  555. </link>
  556. </option>
  557. <option name="task">
  558. <visible><xsl:text>true</xsl:text></visible>
  559. <icon>
  560. <xsl:for-each select="/root/icon[@name='humanTask']/*[local-name()='baseClass']">
  561. <xsl:call-template name="gen-icon"/>
  562. </xsl:for-each>
  563. </icon>
  564. <title>
  565. <xsl:text><xts:string id="IDS_CUSTSUB_PUBLISH_TASK"/></xsl:text>
  566. </title>
  567. <description>
  568. <text><xsl:value-of select="/root/env/param[@name='taskDescription']"/></text>
  569. </description>
  570. <link>
  571. <href>document.pform.ps_nav_op.value='maintain';document.pform.controller_state.value='task|markup';</href>
  572. <target><xsl:value-of select="$mname"/></target>
  573. <text><xts:string id="IDS_OTHERRUN_SET_EMAIL"/></text>
  574. </link>
  575. </option>
  576. </display>
  577. </rdsad:deliveryDisplay>
  578. </lyt:section>
  579. </lyt:layout>
  580. <dp:footer>
  581. <xsl:choose>
  582. <xsl:when test="$showOKCancel">
  583. <df:button df:id="IDS_OK" utml:validate="true" df:style="submit" df:nav_op="stack-down"/>
  584. <xsl:choose>
  585. <xsl:when test="key('env-param', 'ps_nav_stack') and not(key('env-param', 'ps_nav_stack') = '') ">
  586. <df:button df:id="IDS_CANCEL" df:style="stack-down" onclick="{$dc-confirm-cancel}"/>
  587. </xsl:when>
  588. <xsl:otherwise>
  589. <df:button df:id="IDS_CANCEL" df:style="back-url" onclick="{$dc-confirm-cancel}"/>
  590. </xsl:otherwise>
  591. </xsl:choose>
  592. </xsl:when>
  593. <xsl:otherwise>
  594. <df:button df:id="IDS_CLOSE" df:style="back-url"/>
  595. </xsl:otherwise>
  596. </xsl:choose>
  597. </dp:footer>
  598. </utml:form>
  599. </dp:page>
  600. </xsl:template>
  601. <pf:gen-icon/>
  602. <!-- pull in the additional templates used by the display -->
  603. <rdsad:conditionDisplayTemplates/>
  604. <rdsad:enumTemplates/>
  605. </xsl:stylesheet>
  606. </xts:block>
  607. <!--
  608. ===============================================================================================
  609. debug - display debug information
  610. ===============================================================================================
  611. -->
  612. <xts:block id="debug" dependency="renderPage" condition=".[/root/session/param[@name='debug']='1']" type="exec" mode="output" processor="XSLT" mandatory="false" mimeType="text/html">
  613. <!-- get the debug logic sheet -->
  614. <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
  615. <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">
  616. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
  617. <xsl:template match="/">
  618. <dbg:dumpxml select="/root"/>
  619. </xsl:template>
  620. </xsl:stylesheet>
  621. </xts:block>
  622. </xts:morphlet>