submit.xts 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. BI and PM: qs
  5. (C) Copyright IBM Corp. 2001, 2017
  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 version="1.0" xmlns:xts="http://developer.cognos.com/schemas/xts/" messageBase="messages/QSRVUITextPL.xml,messages/portal.xml,messages/portalRL.xml" requiredCapability="canUseQueryStudio">
  13. <xts:block id="browserDetection" path="qs/browserDetection.xslt" mode="interpret" type="exec" processor="XSLT" contentId="browserDetection" partId="1"/>
  14. <xts:block id="parseURL" path="qs/logicsheets/parseURL.xslt" type="exec" processor="XSLT" mandatory="false"/>
  15. <xts:block id="getQueryInfoFromCMRequest" mode="interpret" processor="XSLT" type="exec" mandatory="false" dependency="parseURL" condition=".[(/root/env/param[@name='ui.action']='edit' or /root/env/param[@name='ui.action']='forward') and (/root/env/param[@name='ui.spec']='' and /root/env/param[@name='ui.conversation']='' and /root/env/param[@name='ui.object']!='')]"
  16. nodelist="env,header,user"
  17. >
  18. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  19. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  20. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
  21. <xsl:template match="/">
  22. <xts:sequence>
  23. <xts:append>
  24. <!-- If ui.cacheContext is empty then retrieve data from CM. -->
  25. <xsl:if test="/root/env/param[@name='ui.cacheContext']=''">
  26. <cmQueryModel>
  27. <send:request provider="cm2">
  28. <!-- get info from CM -->
  29. <cm:query xmlns:cm="http://developer.cognos.com/schemas/bibus/3/">
  30. <search>
  31. <xsl:value-of select="/root/env/param[@name='ui.object']"/>
  32. </search>
  33. <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[5]">
  34. <item xsi:type="cm:propEnum">parent</item>
  35. <item xsi:type="cm:propEnum">searchPath</item>
  36. <item xsi:type="cm:propEnum">metadataModel</item>
  37. <item xsi:type="cm:propEnum">metadataModelPackage</item>
  38. <item xsi:type="cm:propEnum">ancestors</item>
  39. <item xsi:type="cm:propEnum">modificationTime</item>
  40. <item xsi:type="cm:propEnum">name</item>
  41. <item xsi:type="cm:propEnum">executionPrompt</item>
  42. <item xsi:type="cm:propEnum">parameters</item>
  43. </properties>
  44. <options xsi:type="cm:queryOptions">
  45. <refProps xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:refProp[1]">
  46. <item xsi:type="cm:refProp">
  47. <refPropName xsi:type="cm:propEnum">metadataModel</refPropName>
  48. <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[2]">
  49. <item xsi:type="cm:propEnum">parent</item>
  50. <item xsi:type="cm:propEnum">searchPath</item>
  51. </properties>
  52. </item>
  53. </refProps>
  54. </options>
  55. </cm:query>
  56. </send:request>
  57. </cmQueryModel>
  58. </xsl:if>
  59. <!-- If ui.cacheContext is not empty then call Content Manager Cache Service. -->
  60. <xsl:if test="/root/env/param[@name='ui.cacheContext']!=''">
  61. <cmQueryModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  62. <xts:request asText="true" href="bus://dispatcher" protocol="BUS" soapAction="http://www.ibm.com/xmlns/prod/cognos/contentManagerCacheService/201404/" responseEnvelope="false" outputHeader="true">
  63. <SOAP-ENV:Envelope xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  64. <SOAP-ENV:Header>
  65. <bus:biBusHeader xsi:type="bus:biBusHeader">
  66. <xsl:copy-of select="/root/header/bus:biBusHeader/*"/>
  67. </bus:biBusHeader>
  68. </SOAP-ENV:Header>
  69. <SOAP-ENV:Body>
  70. <cmCache:queryCache xmlns:cmCache="http://developer.cognos.com/schemas/contentManagerCacheService/1">
  71. <bus:objectPath xsi:type="bus:searchPathSingleObject"><xsl:value-of select="/root/env/param[@name='ui.object']"/></bus:objectPath>
  72. <bus:searchType xsi:type="bus:classEnum">report</bus:searchType>
  73. <bus:entries xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:classEnum[2]">
  74. <item xsi:type="bus:classEnum">report</item>
  75. <item xsi:type="bus:classEnum">model</item>
  76. </bus:entries>
  77. <!-- Don't need to validate, qs.xts already has -->
  78. <bus:options xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:option[1]">
  79. <item xsi:type="bus:genericOptionXMLEncodedXML">
  80. <bus:name xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/contentManagerCacheOptionEnum#context</bus:name>
  81. <bus:value xsi:type="bus:xmlEncodedXML"><xsl:value-of select="/root/env/param[@name='ui.cacheContext']"/></bus:value>
  82. </item>
  83. </bus:options>
  84. </cmCache:queryCache>
  85. </SOAP-ENV:Body>
  86. </SOAP-ENV:Envelope>
  87. </xts:request>
  88. </cmQueryModel>
  89. </xsl:if>
  90. </xts:append>
  91. </xts:sequence>
  92. </xsl:template>
  93. </xsl:stylesheet>
  94. </xts:block>
  95. <xts:block id="getLastModelFromCMRequest" mode="interpret" processor="XSLT" type="exec"
  96. dependency="getQueryInfoFromCMRequest"
  97. mandatory="false"
  98. condition=".[(/root/cmQueryModel or (/root/env/param[@name='ui.action']='new' and /root/env/param[@name='ui.object']!=''))]"
  99. nodelist="env, cmQueryModel, header"
  100. >
  101. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  102. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  103. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
  104. <xsl:template match="/">
  105. <xts:sequence>
  106. <xts:append>
  107. <cmLastModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" action="{/root/env/param[@name='ui.action']}">
  108. <xsl:if test="/root/env/param[@name='ui.cacheContext']=''">
  109. <!--
  110. we need responseEnvelope="true" otherwise, when we receive a fault, XTS doesn't render default error page.
  111. -->
  112. <send:request provider="cm2">
  113. <!-- get info from CM -->
  114. <cm:query xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  115. <search xsi:type="xsd:string">
  116. <xsl:choose>
  117. <xsl:when test="/root/env/param[@name='ui.action']='new'">
  118. <xsl:value-of select="/root/env/param[@name='ui.object']"/>
  119. </xsl:when>
  120. <xsl:when test="/root/cmQueryModel/cm:queryResponse/queryResult/item/metadataModel/value/item/parent/value/item/searchPath/value!=''">
  121. <xsl:value-of select="/root/cmQueryModel/cm:queryResponse/queryResult/item/metadataModel/value/item/parent/value/item/searchPath/value"/>
  122. </xsl:when>
  123. <xsl:when test="/root/cmQueryModel/cm:queryResponse/queryResult/item/metadataModelPackage/value/item/searchPath/value!=''">
  124. <xsl:value-of select="/root/cmQueryModel/cm:queryResponse/queryResult/item/metadataModelPackage/value/item/searchPath/value"/>
  125. </xsl:when>
  126. <xsl:when test="/root/cmQueryModel/cm:queryResponse/queryResult/item/searchPath/value!=''">
  127. <xsl:value-of select="/root/cmQueryModel/cm:queryResponse/queryResult/item/searchPath/value"/>
  128. </xsl:when>
  129. </xsl:choose>
  130. <xsl:if test="/root/env/param[@name='ui.action']='new' or /root/cmQueryModel/cm:queryResponse/queryResult/item/metadataModel/value/item/parent/value/item/searchPath/value!='' or /root/cmQueryModel/cm:queryResponse/queryResult/item/metadataModelPackage/value/item/searchPath/value!='' or /root/cmQueryModel/cm:queryResponse/queryResult/item/searchPath/value!=''">
  131. <xsl:text>/model[last()]</xsl:text>
  132. </xsl:if>
  133. </search>
  134. <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[2]">
  135. <item xsi:type="cm:propEnum">searchPath</item>
  136. <item xsi:type="cm:propEnum">modificationTime</item>
  137. </properties>
  138. </cm:query>
  139. </send:request>
  140. </xsl:if>
  141. <xsl:if test="/root/env/param[@name='ui.cacheContext']!=''">
  142. <!--
  143. we need responseEnvelope="true" otherwise, when we receive a fault, XTS doesn't render default error page.
  144. -->
  145. <xts:request asText="true" href="bus://dispatcher" protocol="BUS" soapAction="http://www.ibm.com/xmlns/prod/cognos/contentManagerCacheService/201404/" responseEnvelope="false" outputHeader="false">
  146. <SOAP-ENV:Envelope xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  147. <SOAP-ENV:Header>
  148. <bus:biBusHeader xsi:type="bus:biBusHeader">
  149. <xsl:copy-of select="/root/header/bus:biBusHeader/*"/>
  150. </bus:biBusHeader>
  151. </SOAP-ENV:Header>
  152. <SOAP-ENV:Body>
  153. <cmCache:queryCache xmlns:cmCache="http://developer.cognos.com/schemas/contentManagerCacheService/1">
  154. <bus:objectPath xsi:type="bus:searchPathSingleObject">
  155. <xsl:choose>
  156. <xsl:when test="/root/env/param[@name='ui.action']='new'">
  157. <xsl:value-of select="/root/env/param[@name='ui.object']"/>
  158. </xsl:when>
  159. <xsl:when test="/root/cmQueryModel/cm:queryCacheResult/result/objects/item/metadataModel/value/item/parent/value/item/searchPath/value!=''">
  160. <xsl:value-of select="/root/cmQueryModel/cm:queryCacheResult/result/objects/itemmetadataModel/value/item/parent/value/item/searchPath/value"/>
  161. </xsl:when>
  162. <xsl:when test="/root/cmQueryModel/cm:queryCacheResult/result/objects/item/metadataModelPackage/value/item/searchPath/value!=''">
  163. <xsl:value-of select="/root/cmQueryModel/cm:queryCacheResult/result/objects/item/metadataModelPackage/value/item/searchPath/value"/>
  164. </xsl:when>
  165. <xsl:when test="/root/cmQueryModel/cm:queryCacheResult/result/objects/item/searchPath/value!=''">
  166. <xsl:value-of select="/root/cmQueryModel/cm:queryCacheResult/result/objects/item/searchPath/value"/>
  167. </xsl:when>
  168. </xsl:choose>
  169. <xsl:if test="/root/env/param[@name='ui.action']='new' or /root/cmQueryModel/cm:queryCacheResult/result/objects/item/metadataModel/value/item/parent/value/item/searchPath/value!='' or /root/cmQueryModel/cm:queryCacheResult/result/objects/item/metadataModelPackage/value/item/searchPath/value!='' or /root/cmQueryModel/cm:queryCacheResult/result/objects/item/searchPath/value!=''">
  170. <xsl:text>/model[last()]</xsl:text>
  171. </xsl:if>
  172. </bus:objectPath>
  173. <bus:searchType xsi:type="bus:classEnum">model</bus:searchType>
  174. <bus:entries xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:classEnum[2]">
  175. <item xsi:type="bus:classEnum">model</item>
  176. </bus:entries>
  177. <!-- Don't need to validate, qs.xts already has -->
  178. <bus:options xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:option[1]">
  179. <item xsi:type="bus:genericOptionXMLEncodedXML">
  180. <bus:name xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/contentManagerCacheOptionEnum#context</bus:name>
  181. <bus:value xsi:type="bus:xmlEncodedXML"><xsl:value-of select="/root/env/param[@name='ui.cacheContext']"/></bus:value>
  182. </item>
  183. </bus:options>
  184. </cmCache:queryCache>
  185. </SOAP-ENV:Body>
  186. </SOAP-ENV:Envelope>
  187. </xts:request>
  188. </xsl:if>
  189. </cmLastModel>
  190. </xts:append>
  191. </xts:sequence>
  192. </xsl:template>
  193. </xsl:stylesheet>
  194. </xts:block>
  195. <xts:block id="setupVariables" mode="interpret" processor="XSLT" type="exec" dependency="getLastModelFromCMRequest" mandatory="false" condition=".[(/root/cmQueryModel or (/root/env/param[@name='ui.action']='new' and /root/env/param[@name='ui.object']!=''))]"
  196. nodelist="env, cmLastModel, cmQueryModel"
  197. >
  198. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="xtsext cm xts">
  199. <xsl:template match="/">
  200. <xts:sequence>
  201. <xts:append>
  202. <xsl:if test="/root/env/param[@name='ui.cacheContext']=''">
  203. <cmQueryModelModificationTime>
  204. <xsl:text/><xsl:value-of select="/root/cmQueryModel/cm:queryResponse/queryResult/item/modificationTime/value"/><xsl:text/>
  205. </cmQueryModelModificationTime>
  206. <cmQueryModelAvailablePackageCount>
  207. <xsl:text/><xsl:value-of select="count(/root/cmQueryModel/cm:queryResponse/queryResult/item)"/><xsl:text/>
  208. </cmQueryModelAvailablePackageCount>
  209. <cmQueryModelMetadataModelValueItemCount>
  210. <xsl:text/><xsl:value-of select="count(/root/cmQueryModel/cm:queryResponse/queryResult/item/metadataModel/value/item)"/><xsl:text/>
  211. </cmQueryModelMetadataModelValueItemCount>
  212. <cmQueryModelMetadataModelSearchPath>
  213. <xsl:text/><xsl:value-of select="/root/cmQueryModel/cm:queryResponse/queryResult/item/metadataModel/value/item/searchPath/value"/><xsl:text/>
  214. </cmQueryModelMetadataModelSearchPath>
  215. <cmQueryModelMetadataModelType>
  216. <xsl:text/><xsl:value-of select="/root/cmQueryModel/cm:queryResponse/queryResult/item/metadataModel/value/item/@*[local-name()='type']"/><xsl:text/>
  217. </cmQueryModelMetadataModelType>
  218. <cmQueryModelPackageBase>
  219. <xsl:text/><xsl:value-of select="/root/cmQueryModel/cm:queryResponse/queryResult/item/ancestors/value/item[./objectClass='package'][position()=last()]/searchPath"/><xsl:text/>
  220. </cmQueryModelPackageBase>
  221. <cmQueryModelMetadataModelPackageBase>
  222. <xsl:text/><xsl:value-of select="/root/cmQueryModel/cm:queryResponse/queryResult/item/metadataModelPackage/value/item/searchPath/value"/><xsl:text/>
  223. </cmQueryModelMetadataModelPackageBase>
  224. <cmQueryModelReportFolder>
  225. <xsl:text/><xsl:value-of select="/root/cmQueryModel/cm:queryResponse/queryResult/item/parent/value/item/searchPath/value"/><xsl:text/>
  226. </cmQueryModelReportFolder>
  227. <cmQueryModelDefaultReportName>
  228. <xsl:text/>
  229. <xsl:value-of select="/root/cmQueryModel/cm:queryResponse/queryResult/item/defaultName/value"/>
  230. <xsl:text/>
  231. </cmQueryModelDefaultReportName>
  232. <xsl:for-each select="/root/cmQueryModel/cm:queryResponse/queryResult/item/name/value/item">
  233. <cmQueryModelReportName locale="{./locale}">
  234. <xsl:text/><xsl:value-of select="./value"/><xsl:text/>
  235. </cmQueryModelReportName>
  236. </xsl:for-each>
  237. <cmLastModelModificationTime>
  238. <xsl:text/><xsl:value-of select="/root/cmLastModel/cm:queryResponse/queryResult/item/modificationTime/value"/><xsl:text/>
  239. </cmLastModelModificationTime>
  240. <cmLastModelSearchPath>
  241. <xsl:text/><xsl:value-of select="/root/cmLastModel/cm:queryResponse/queryResult/item/searchPath/value"/><xsl:text/>
  242. </cmLastModelSearchPath>
  243. </xsl:if>
  244. <xsl:if test="/root/env/param[@name='ui.cacheContext']!=''">
  245. <cmQueryModelModificationTime>
  246. <xsl:text/><xsl:value-of select="/root/cmQueryModel/cm:queryCacheResult/result/objects/item/modificationTime/value"/><xsl:text/>
  247. </cmQueryModelModificationTime>
  248. <cmQueryModelAvailablePackageCount> <!-- this value is the number of report not the package count-->
  249. <xsl:text/><xsl:value-of select="count(/root/cmQueryModel/cm:queryCacheResult/result/objects/item)"/><xsl:text/>
  250. </cmQueryModelAvailablePackageCount>
  251. <cmQueryModelMetadataModelValueItemCount>
  252. <xsl:text/><xsl:value-of select="count(/root/cmQueryModel/cm:queryCacheResult/result/objects/item/metadataModel/value/item)"/><xsl:text/>
  253. </cmQueryModelMetadataModelValueItemCount>
  254. <cmQueryModelMetadataModelSearchPath>
  255. <xsl:text/><xsl:value-of select="/root/cmQueryModel/cm:queryCacheResult/result/objects/item/metadataModel/value/item/searchPath/value"/><xsl:text/>
  256. </cmQueryModelMetadataModelSearchPath>
  257. <cmQueryModelMetadataModelType>
  258. <xsl:text/><xsl:value-of select="/root/cmQueryModel/cm:queryCacheResult/result/objects/item/metadataModel/value/item/@*[local-name()='type']"/><xsl:text/>
  259. </cmQueryModelMetadataModelType>
  260. <cmQueryModelPackageBase>
  261. <xsl:text/><xsl:value-of select="/root/cmQueryModel/cm:queryCacheResult/result/objects/item/ancestors/value/item[./objectClass='package'][position()=last()]/searchPath"/><xsl:text/>
  262. </cmQueryModelPackageBase>
  263. <cmQueryModelMetadataModelPackageBase>
  264. <xsl:text/><xsl:value-of select="/root/cmQueryModel/cm:queryCacheResult/result/objects/item/metadataModelPackage/value/item/searchPath/value"/><xsl:text/>
  265. </cmQueryModelMetadataModelPackageBase>
  266. <cmQueryModelReportFolder>
  267. <xsl:text/><xsl:value-of select="/root/cmQueryModel/cm:queryCacheResult/result/objects/item/parent/value/item/searchPath/value"/><xsl:text/>
  268. </cmQueryModelReportFolder>
  269. <cmQueryModelDefaultReportName>
  270. <xsl:text/>
  271. <xsl:value-of select="/root/cmQueryModel/cm:queryCacheResult/result/objects/item/defaultName/value"/>
  272. <xsl:text/>
  273. </cmQueryModelDefaultReportName>
  274. <xsl:for-each select="/root/cmQueryModel/cm:queryCacheResult/result/objects/item/name/value/item">
  275. <cmQueryModelReportName locale="{./locale}">
  276. <xsl:text/><xsl:value-of select="./value"/><xsl:text/>
  277. </cmQueryModelReportName>
  278. </xsl:for-each>
  279. <cmLastModelModificationTime>
  280. <xsl:text/><xsl:value-of select="/root/cmLastModel/cm:queryCacheResult/result/objects/item/modificationTime/value"/><xsl:text/>
  281. </cmLastModelModificationTime>
  282. <cmLastModelSearchPath>
  283. <xsl:text/><xsl:value-of select="/root/cmLastModel/cm:queryCacheResult/result/objects/item/searchPath/value"/><xsl:text/>
  284. </cmLastModelSearchPath>
  285. </xsl:if>
  286. </xts:append>
  287. </xts:sequence>
  288. </xsl:template>
  289. </xsl:stylesheet>
  290. </xts:block>
  291. <xts:block id="testForValidState" mode="interpret" processor="XSLT" type="exec" dependency="setupVariables" mandatory="false"
  292. nodelist="env,cmQueryModelAvailablePackageCount,cmQueryModelMetadataModelSearchPath,cmLastModelSearchPath,cmQueryModelMetadataModelSearchPath,cmQueryModelModificationTime,cmLastModelModificationTime,cmLastModel"
  293. >
  294. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:SOAP-ENV="http://www.w3.org/2001/09/soap-envelope" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
  295. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  296. <xsl:template match="/">
  297. <xsl:choose>
  298. <xsl:when test="/root/env/param[@name='ui.action']='edit' and /root/env/param[@name='ui.spec']='' and /root/env/param[@name='ui.conversation']='' and /root/env/param[@name='ui.object']!='' and count(/root/cmQueryModel)!=0 and /root/cmQueryModelAvailablePackageCount='0'">
  299. <xts:sequence>
  300. <xts:append>
  301. <invalidPackage>true</invalidPackage>
  302. </xts:append>
  303. </xts:sequence>
  304. </xsl:when>
  305. <xsl:when test="(/root/env/param[@name='upgradeFault']='true') or (/root/env/param[@name='ui.action']='edit' and /root/env/param[@name='ui.spec']='' and /root/env/param[@name='ui.conversation']='' and /root/env/param[@name='ui.object']!='') and ((/root/cmQueryModelAvailablePackageCount!='0' and ((/root/cmQueryModelMetadataModelSearchPath='' and /root/cmLastModelSearchPath!='') or (/root/cmQueryModelMetadataModelSearchPath!=/root/cmLastModelSearchPath))) or (/root/cmQueryModelModificationTime!='' and /root/cmLastModelModificationTime!='' and (xtsext:dateTimeCmp(string(/root/cmQueryModelModificationTime), string(/root/cmLastModelModificationTime)) &lt; 0)))">
  306. <xts:sequence>
  307. <xts:append>
  308. <needModelUpgrade>true</needModelUpgrade>
  309. </xts:append>
  310. </xts:sequence>
  311. </xsl:when>
  312. <xsl:when test="((/root/env/param[@name='ui.action']='edit' and /root/env/param[@name='ui.spec']='' and /root/env/param[@name='ui.conversation']='' and /root/env/param[@name='ui.object']!='' and /root/cmQueryModelPackageBase='/' and /root/cmLastModelSearchPath='') or (not(/root/*[local-name()='cmLastModel']/*[local-name()='queryResponse']/*[local-name()='queryResult']/*[local-name()='item']/*[local-name()='searchPath']))) and /root/env/param[@name='ui.cacheContext']=''">
  313. <xts:sequence>
  314. <xts:append>
  315. <noPackage>true</noPackage>
  316. </xts:append>
  317. </xts:sequence>
  318. </xsl:when>
  319. <xsl:when test="((/root/env/param[@name='ui.action']='edit' and /root/env/param[@name='ui.spec']='' and /root/env/param[@name='ui.conversation']='' and /root/env/param[@name='ui.object']!='' and /root/cmQueryModelPackageBase='/' and /root/cmLastModelSearchPath='') or (not(/root/*[local-name()='cmLastModel']/*[local-name()='queryCacheResult']/*[local-name()='result']/*[local-name()='objects']/*[local-name()='item']/*[local-name()='searchPath']))) and /root/env/param[@name='ui.cacheContext']!=''">
  320. <xts:sequence>
  321. <xts:append>
  322. <noPackage>true</noPackage>
  323. </xts:append>
  324. </xts:sequence>
  325. </xsl:when>
  326. </xsl:choose>
  327. </xsl:template>
  328. </xsl:stylesheet>
  329. </xts:block>
  330. <!--
  331. ===================================================================================
  332. invalid-package - display an error page
  333. ===================================================================================
  334. -->
  335. <xts:block id="invalid-package" type="exec" mode="output" processor="XSLT" mimeType="text/html; charset=utf-8" dependency="testForValidState" condition=".[ (/root/invalidPackage) ]" mandatory="false">
  336. <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
  337. <xts:logicsheet path="qs/logicsheets/setupQuery.xsl"/>
  338. <xts:logicsheet path="qs/logicsheets/cmSettings.xsl"/>
  339. <xsl:stylesheet version="1.0"
  340. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  341. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  342. xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  343. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  344. xmlns:dbg="http://developer.cognos.com/schemas/xts/logicsheets/xslt/debug/"
  345. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  346. xmlns:cm="http://developer.cognos.com/schemas/bibus/3/"
  347. xmlns:cmset="http://developer.cognos.com/schemas/xts/logicsheets/xslt/cmsettings/framework/"
  348. xmlns:sq="http://developer.cognos.com/schemas/xts/logicsheets/xslt/setupQuery/"
  349. exclude-result-prefixes="xsl SOAP-ENV SOAP-ENC bus dbg xtsext cm xts cmset sq">
  350. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
  351. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  352. <xsl:template match="/root">
  353. <html>
  354. <head>
  355. <script type="text/javascript">
  356. <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/classes/CWindowManager.js</xsl:attribute>
  357. <xsl:text/>//<xsl:text/>
  358. </script>
  359. <script type="text/javascript">
  360. <sq:includeAlternateStartupDialogScripts name="invalidPackage"/>
  361. function callExternalIncludes()
  362. {
  363. <cmset:setupReportSettingsForCMValues/>
  364. oAppFrame.cfgSet("reportName","<xsl:value-of select="xtsext:javascriptencode(string(/root/env/param[@name='ui.object']))"/>");
  365. }
  366. </script>
  367. </head>
  368. <sq:includeAlternateStartupDialogBody/>
  369. <!--dbg:dumpxml select="/"/-->
  370. </html>
  371. </xsl:template>
  372. </xsl:stylesheet>
  373. </xts:block>
  374. <!--
  375. ===================================================================================
  376. no-package - display an error page
  377. ===================================================================================
  378. -->
  379. <xts:block id="no-package" type="exec" mode="output" processor="XSLT" mimeType="text/html; charset=utf-8" dependency="testForValidState" condition=".[ (/root/noPackage) ]" mandatory="false">
  380. <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
  381. <xts:logicsheet path="qs/logicsheets/setupQuery.xsl"/>
  382. <xts:logicsheet path="qs/logicsheets/cmSettings.xsl"/>
  383. <xts:logicsheet path="logicsheets/portal.xsl"/>
  384. <xsl:stylesheet version="1.0"
  385. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  386. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  387. xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  388. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  389. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  390. xmlns:dbg="http://developer.cognos.com/schemas/xts/logicsheets/xslt/debug/"
  391. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  392. xmlns:cm="http://developer.cognos.com/schemas/bibus/3/"
  393. xmlns:cmset="http://developer.cognos.com/schemas/xts/logicsheets/xslt/cmsettings/framework/"
  394. xmlns:sq="http://developer.cognos.com/schemas/xts/logicsheets/xslt/setupQuery/"
  395. exclude-result-prefixes="xsl SOAP-ENV SOAP-ENC bus dbg xtsext cm xts cmset sq pf">
  396. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
  397. <pf:variables/>
  398. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  399. <xsl:template match="/root">
  400. <html>
  401. <head>
  402. <script type="text/javascript">
  403. <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/classes/CWindowManager.js</xsl:attribute>
  404. <xsl:text/>//<xsl:text/>
  405. </script>
  406. <script type="text/javascript">
  407. <sq:includeAlternateStartupDialogScripts name="noPackage"/>
  408. function callExternalIncludes()
  409. {
  410. <cmset:setupReportSettingsForCMValues/>
  411. }
  412. </script>
  413. </head>
  414. <sq:includeAlternateStartupDialogBody/>
  415. <!--dbg:dumpxml select="/"/-->
  416. </html>
  417. </xsl:template>
  418. </xsl:stylesheet>
  419. </xts:block>
  420. <!--
  421. ===================================================================================
  422. model-upgrade - display the model upgrade page
  423. ===================================================================================
  424. -->
  425. <xts:block id="model-upgrade" type="exec" mode="output" processor="XSLT" mimeType="text/html; charset=utf-8" dependency="testForValidState" condition=".[ (/root/needModelUpgrade and not(/root/noPackage) and not(/root/invalidPackage)) ]" mandatory="false">
  426. <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
  427. <xts:logicsheet path="logicsheets/portal.xsl"/>
  428. <xts:logicsheet path="qs/logicsheets/setupQuery.xsl"/>
  429. <xts:logicsheet path="qs/logicsheets/cmSettings.xsl"/>
  430. <xts:logicsheet path="async/logicsheets/framework.xsl"/>
  431. <xsl:stylesheet version="1.0"
  432. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  433. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  434. xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  435. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  436. xmlns:dbg="http://developer.cognos.com/schemas/xts/logicsheets/xslt/debug/"
  437. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  438. xmlns:cm="http://developer.cognos.com/schemas/bibus/3/"
  439. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  440. xmlns:af="http://developer.cognos.com/schemas/xts/logicsheets/xslt/async/framework/"
  441. xmlns:cmset="http://developer.cognos.com/schemas/xts/logicsheets/xslt/cmsettings/framework/"
  442. xmlns:sq="http://developer.cognos.com/schemas/xts/logicsheets/xslt/setupQuery/"
  443. exclude-result-prefixes="xsl SOAP-ENV SOAP-ENC bus dbg xtsext cm af xts pf cmset sq">
  444. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
  445. <pf:variables/>
  446. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  447. <xsl:variable name="executionPrompt">
  448. <xsl:if test="/root/env/param[@name='ui.cacheContext']=''">
  449. <xsl:value-of select="/root/cmQueryModel/cm:queryResponse/queryResult/item/executionPrompt/value"/>
  450. </xsl:if>
  451. <xsl:if test="/root/env/param[@name='ui.cacheContext']!=''">
  452. <xsl:value-of select="/root/cmQueryModel/cm:queryCacheResult/result/objects/item/executionPrompt/value"/>
  453. </xsl:if>
  454. </xsl:variable>
  455. <xsl:template match="/root">
  456. <html>
  457. <head>
  458. <script type="text/javascript">
  459. <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/classes/CWindowManager.js</xsl:attribute>
  460. <xsl:text/>//<xsl:text/>
  461. </script>
  462. <script type="text/javascript">
  463. <sq:includeAlternateStartupDialogScripts name="upgradeModel"/>
  464. // Set run.prompt so we get prompted on upgrade
  465. var bFoundPrompt = false;
  466. for (var i = 0; i &lt; oAppFrame.pv.length; i++)
  467. {
  468. if (oAppFrame.pv[i][0] == "run.prompt")
  469. {
  470. bFoundPrompt = true;
  471. oAppMgr.add(oAppFrame.pv[i][0], oAppFrame.pv[i][1]);
  472. break;
  473. }
  474. }
  475. if (!bFoundPrompt)
  476. {
  477. oAppFrame.pv[oAppFrame.pv.length] = new Array("run.prompt", "<xsl:value-of select="$executionPrompt"/>");
  478. oAppMgr.add("run.prompt", "<xsl:value-of select="$executionPrompt"/>");
  479. }
  480. <!-- Set the drill through parameters that have been passed in -->
  481. oAppMgr.getReportManager().getParameterManager().setDrillThroughParameterValues(oAppFrame.cfgGet("drillThroughParameterValues"));
  482. function callExternalIncludes()
  483. {
  484. <cmset:setupReportSettingsForCMValues/>
  485. <xsl:if test="/root/cmQueryModelReportName != ''">
  486. <af:setReportName/>
  487. </xsl:if>
  488. }
  489. </script>
  490. </head>
  491. <sq:includeAlternateStartupDialogBody/>
  492. <!--dbg:dumpxml select="/"/-->
  493. </html>
  494. </xsl:template>
  495. <pf:serialize-xml/>
  496. </xsl:stylesheet>
  497. </xts:block>
  498. <xts:block id="page" type="exec" mode="output" processor="XSLT" mimeType="text/html" dependency="browserDetection testForValidState" condition=".[ (not(/root/needModelUpgrade) and not(/root/noPackage) and not(/root/invalidPackage)) ]" mandatory="false"
  499. nodelist="output, system, env, session, user, system, actions, tabs, configProps, credential, cookies, setCookies, cmQueryModel, debug, cmQueryModelReportName, QSMiniQuery, cmLastModelSearchPath, cmQueryModelMetadataModelPackageBase, cmQueryModelPackageBase, browserInfo, http, cmQueryModelReportFolder, cmQueryModelMetadataModelSearchPath, cmQueryModelDefaultReportName"
  500. >
  501. <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
  502. <xts:logicsheet path="qs/logicsheets/cmSettings.xsl"/>
  503. <xts:logicsheet path="async/logicsheets/framework.xsl"/>
  504. <xts:logicsheet path="logicsheets/portal.xsl"/>
  505. <xsl:stylesheet version="1.0" xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:dbg="http://developer.cognos.com/schemas/xts/logicsheets/xslt/debug/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:cmset="http://developer.cognos.com/schemas/xts/logicsheets/xslt/cmsettings/framework/" xmlns:af="http://developer.cognos.com/schemas/xts/logicsheets/xslt/async/framework/" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" exclude-result-prefixes="xsl xtsext cmset af pf">
  506. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
  507. <pf:variables/>
  508. <!-- <xsl:variable name="skin_root" select="concat(/root/system/param[@name='skin-root'], '/' , /root/user/param[@name='skin'])"/> -->
  509. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  510. <xsl:template match="/">
  511. <html>
  512. <head>
  513. <title>
  514. <xts:string id="WAIT_WHILE_LOADING"/>
  515. </title>
  516. <link href="{$skin_root}/portal/default.css" rel="stylesheet" type="text/css"/>
  517. <link href="{$skin_root}/qs/QSReport.css" rel="stylesheet" type="text/css"/>
  518. <link rel="stylesheet" type="text/css" href="{$skin_root}/fonts.css"/>
  519. <script type="text/javascript">
  520. <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/classes/CWindowManager.js</xsl:attribute>
  521. <xsl:text/>//<xsl:text/>
  522. </script>
  523. <script type="text/javascript">
  524. <!-- Begin setup global variables here -->
  525. var goWindowManager = new CWindowManager();
  526. var oAppFrame = goWindowManager.getApplicationFrame();
  527. var oAppMgr = goWindowManager.getApplicationManager();
  528. oAppMgr.add("productLocale", "<xsl:value-of select="xtsext:javascriptencode(string(/root/user/param[@name='productLocale']))"/>");
  529. oAppMgr.add("contentLocale", "<xsl:value-of select="xtsext:javascriptencode(string(/root/user/param[@name='contentLocale']))"/>");
  530. oAppMgr.add("reportTitleDefault", "<xts:string id="REPORT_TITLE" encode="javascript"/>");
  531. oAppMgr.add("filterTitleDefault", "<xts:string id="FILTER_TITLE" encode="javascript"/>");
  532. oAppMgr.add("filterCombineTitleDefault", "<xts:string id="FILTER_COMBINE_TITLE" encode="javascript"/>");
  533. oAppMgr.add("scriptEngine", "<xsl:value-of select="xtsext:javascriptencode(string(/root/http/param[@name='SCRIPT_NAME']))"/>");
  534. <xsl:variable name="executionPrompt">
  535. <xsl:if test="/root/env/param[@name='ui.cacheContext']=''">
  536. <xsl:value-of select="/root/cmQueryModel/cm:queryResponse/queryResult/item/executionPrompt/value"/>
  537. </xsl:if>
  538. <xsl:if test="/root/env/param[@name='ui.cacheContext']!=''">
  539. <xsl:value-of select="/root/cmQueryModel/cm:queryCacheResult/result/objects/item/executionPrompt/value"/>
  540. </xsl:if>
  541. </xsl:variable>
  542. var bFoundPrompt = false;
  543. for (var i = 0; i &lt; oAppFrame.pv.length; i++)
  544. {
  545. if (oAppFrame.pv[i][0] == "run.prompt")
  546. {
  547. bFoundPrompt = true;
  548. oAppMgr.add(oAppFrame.pv[i][0], oAppFrame.pv[i][1]);
  549. break;
  550. }
  551. }
  552. if (!bFoundPrompt)
  553. {
  554. oAppFrame.pv[oAppFrame.pv.length] = new Array("run.prompt", "<xsl:value-of select="$executionPrompt"/>");
  555. oAppMgr.add("run.prompt", "<xsl:value-of select="$executionPrompt"/>");
  556. }
  557. <xsl:if test="string($executionPrompt) != 'true'">
  558. <xsl:if test="/root/env/param[@name='ui.cacheContext']=''">
  559. <xsl:for-each select="/root/cmQueryModel/cm:queryResponse/queryResult/item/parameters/value/item">
  560. <xsl:variable name="paramName">
  561. <xsl:value-of select="./name"/>
  562. </xsl:variable>
  563. <xsl:variable name="paramUse">
  564. <xsl:value-of select="./value/item/use"/>
  565. </xsl:variable>
  566. <xsl:variable name="paramDisplay">
  567. <xsl:value-of select="./value/item/display"/>
  568. </xsl:variable>
  569. <xsl:variable name="paramSelected">
  570. <xsl:value-of select="./value/item/inclusive"/>
  571. </xsl:variable>
  572. <xsl:variable name="pName">
  573. <xsl:value-of select="concat('p_', $paramName)"/>
  574. </xsl:variable>
  575. <xsl:variable name="paramValues">
  576. <xsl:value-of select="concat('&lt;selectChoices&gt;&lt;selectOption displayValue=&quot;',$paramDisplay, '&quot; useValue=&quot;', $paramUse, '&quot; selected=&quot;',$paramSelected, '&quot;/&gt;&lt;/selectChoices&gt;')"/>
  577. </xsl:variable>
  578. oAppFrame.pv[oAppFrame.pv.length] = new Array("<xsl:value-of select="$pName"/>", "<xsl:value-of select="xtsext:javascriptencode(string($paramValues))"/>");
  579. </xsl:for-each>
  580. </xsl:if>
  581. <xsl:if test="/root/env/param[@name='ui.cacheContext']!=''">
  582. <xsl:for-each select="/root/cmQueryModel/cm:queryCacheResult/result/objects/item/parameters/value/item">
  583. <xsl:variable name="paramName">
  584. <xsl:value-of select="./name"/>
  585. </xsl:variable>
  586. <xsl:variable name="paramUse">
  587. <xsl:value-of select="./value/item/use"/>
  588. </xsl:variable>
  589. <xsl:variable name="paramDisplay">
  590. <xsl:value-of select="./value/item/display"/>
  591. </xsl:variable>
  592. <xsl:variable name="paramSelected">
  593. <xsl:value-of select="./value/item/inclusive"/>
  594. </xsl:variable>
  595. <xsl:variable name="pName">
  596. <xsl:value-of select="concat('p_', $paramName)"/>
  597. </xsl:variable>
  598. <xsl:variable name="paramValues">
  599. <xsl:value-of select="concat('&lt;selectChoices&gt;&lt;selectOption displayValue=&quot;',$paramDisplay, '&quot; useValue=&quot;', $paramUse, '&quot; selected=&quot;',$paramSelected, '&quot;/&gt;&lt;/selectChoices&gt;')"/>
  600. </xsl:variable>
  601. oAppFrame.pv[oAppFrame.pv.length] = new Array("<xsl:value-of select="$pName"/>", "<xsl:value-of select="xtsext:javascriptencode(string($paramValues))"/>");
  602. </xsl:for-each>
  603. </xsl:if>
  604. </xsl:if>
  605. <xsl:if test="string(/root/debug/debugSwitch)='request' or string(/root/debug/traceOutput)='true'">
  606. oAppMgr.add("debugDumpAllowed", true);
  607. </xsl:if>
  608. <xsl:choose>
  609. <xsl:when test="/root/cmQueryModelReportName != ''">
  610. <af:setReportName/>
  611. </xsl:when>
  612. <xsl:otherwise>
  613. if (oAppFrame.cfgGet("ReportName") == null &amp;&amp; oAppFrame.cfgGet("NewReport") == null)
  614. {
  615. oAppMgr.add("NewReport", true);
  616. oAppFrame.cfgSet("NewReport", true);
  617. oAppFrame.cfgSet("NewReportFirstRun", true);
  618. }
  619. </xsl:otherwise>
  620. </xsl:choose>
  621. <!-- Set the drill through parameters that have been passed in -->
  622. oAppMgr.getReportManager().getParameterManager().setDrillThroughParameterValues(oAppFrame.cfgGet("drillThroughParameterValues"));
  623. <!-- End setup global variables here -->
  624. goWindowManager.getReportManager().add("reportState", "submitted");
  625. function saveCMSavedPrompt()
  626. {
  627. var promptFlag = true;
  628. var paramValues = null;
  629. var j = 0;
  630. if ( oAppFrame ){
  631. for (var i = 0; i &lt; oAppFrame.pv.length; i++)
  632. {
  633. if ( oAppFrame.pv[i][1] != "" )
  634. {
  635. if ( oAppFrame.pv[i][0] == "run.prompt" )
  636. {
  637. promptFlag = oAppFrame.pv[i][1];
  638. }
  639. else
  640. {
  641. if ( oAppFrame.pv[i][0].substring(0,2) == 'p_' ) {
  642. if ( paramValues == null ) {
  643. paramValues = new Array();
  644. }
  645. paramValues[j] = new Array(oAppFrame.pv[i][0], oAppFrame.pv[i][1]);
  646. j++
  647. }
  648. }
  649. }
  650. }
  651. }
  652. if ( promptFlag == 'false' ) {
  653. oAppFrame.cfgSet("filter_promptValues", paramValues);
  654. }
  655. oAppFrame.cfgSet("executionPrompt", "<xsl:value-of select="$executionPrompt"/>");
  656. oAppFrame.cfgSet("promptFlag", promptFlag);
  657. }
  658. function submitForm()
  659. {
  660. saveCMSavedPrompt();
  661. if (oAppFrame == null || typeof oAppFrame.cfgGet != "function" || !oAppMgr.get("scriptEngine") || typeof oAppFrame.cfgGet != "function")
  662. {
  663. // Retry until we get that topFrame
  664. setTimeout(submitForm, 50);
  665. return;
  666. }
  667. <cmset:setupReportSettingsForCMValues/>
  668. for (var i = 0; i &lt; oAppFrame.pv.length; i++)
  669. {
  670. switch(oAppFrame.pv[i][0])
  671. {
  672. case "b_action":
  673. case "m":
  674. case "ui.object":
  675. case "ui.spec":
  676. case "ui.action":
  677. case "ui.conversation":
  678. case "ui.gateway":
  679. case "ui.tool":
  680. case "obj":
  681. case "inlineSpec":
  682. case "method":
  683. case "conversation":
  684. case "ui.errURL":
  685. // Don't touch them
  686. break;
  687. default:
  688. createHiddenInput(oAppFrame.pv[i][0], oAppFrame.pv[i][1]);
  689. break;
  690. }
  691. }
  692. // Add in the cafcontextid
  693. if (oAppFrame.cafContextId != "")
  694. {
  695. createHiddenInput("ui.cafcontextid", oAppFrame.cafContextId);
  696. }
  697. // Add in the routing server group
  698. if(typeof oAppFrame.routingServerGroup != "undefined")
  699. {
  700. createHiddenInput("ui.routingServerGroup", oAppFrame.routingServerGroup);
  701. }
  702. <xsl:if test="/root/cmLastModelSearchPath != ''">
  703. createHiddenInput("cmLastModelSearchPath", "<xsl:value-of select="xtsext:javascriptencode(string(/root/cmLastModelSearchPath))"/>");
  704. </xsl:if>
  705. <xsl:if test="/root/cmQueryModelMetadataModelSearchPath != ''">
  706. createHiddenInput("cmQueryModelMetadataModelSearchPath", "<xsl:value-of select="xtsext:javascriptencode(string(/root/cmQueryModelMetadataModelSearchPath))"/>");
  707. </xsl:if>
  708. <xsl:for-each select="/root/cmQueryModelReportName">
  709. <xsl:if test=". != ''">
  710. createHiddenInput("cmQueryModelReportName", "<xsl:value-of select="xtsext:javascriptencode(string(./@locale))"/>:::<xsl:value-of select="xtsext:javascriptencode(string(.))"/>");
  711. </xsl:if>
  712. </xsl:for-each>
  713. var sCacheContext = "<xsl:value-of select="xtsext:javascriptencode(string(/root/env/param[@name='ui.cacheContext']))"/>";
  714. createHiddenInput("b_action", "cognosViewer");
  715. createHiddenInput("generic.http://developer.cognos.com/ceba/constants/contentManagerCacheOptionEnum#context", sCacheContext);
  716. createHiddenInput("cv.responseFormat", "qs");
  717. createHiddenInput("run.outputFormat", "HTMLFragment");
  718. createHiddenInput("run.xslURL", "qs.xsl");
  719. createHiddenInput("specificationType", "reportServiceQuerySpecification");
  720. createHiddenInput("cv.id", "QS");
  721. createHiddenInput("cv.useAjax", "false"); <!-- Invoking Viewer in non Ajax mode -->
  722. if (oAppFrame.cfgGet("FirstRunQS"))
  723. {
  724. createHiddenInput("qs.firstRun", "true");
  725. }
  726. if (typeof oAppFrame.oLimitedDataPreference === "object" &amp;&amp; oAppFrame.oLimitedDataPreference.getProperty("forceNoDataOnNextRun") === true)
  727. {
  728. createHiddenInput("run.data", "previewWithNoData");
  729. <!-- Don't prompt when we run in forced no data mode. -->
  730. oAppMgr.add("run.prompt", "false");
  731. }
  732. if ( oAppMgr.get("run.prompt") == "true" )
  733. createHiddenInput("run.prompt", "true");
  734. else
  735. createHiddenInput("run.prompt", "false");
  736. if (oAppFrame.gsUiAction == "edit")
  737. {
  738. document.asyncForm["ui.object"].value = decodeURIComponent(oAppFrame.gsUiObject);
  739. }
  740. else
  741. {
  742. document.asyncForm["ui.object"].value = oAppFrame.gsUiObject;
  743. }
  744. document.asyncForm["ui.gateway"].value = oAppMgr.get("scriptEngine");
  745. document.asyncForm["ui.tool"].value = "QueryStudio";
  746. document.asyncForm["ui.spec"].value = oAppFrame.gsUiSpec;
  747. document.asyncForm["ui.conversation"].value = oAppFrame.gsUiConversation;
  748. document.asyncForm["ui.action"].value = oAppFrame.gsUiAction;
  749. <!-- For WO 2620. Need to pass in any selected default template preference on new reports. -->
  750. if (oAppFrame.gsUiAction === "new")
  751. {
  752. var oUserPreference = oAppMgr.getUserPreferenceManager().getPreference("defaultSystemTemplate");
  753. if (typeof oUserPreference === "object")
  754. {
  755. // If templateMode is explicitly set to 'false', don't apply the template
  756. // This will occur if we turn off the checkbox in the user preference dialog
  757. var oTemplateModePreference = oAppMgr.getUserPreferenceManager().getPreference("templateMode");
  758. var bTemplateModeOn = true;
  759. if (typeof oTemplateModePreference === "object")
  760. {
  761. bTemplateModeOn = (oTemplateModePreference.getValue() !== "false");
  762. }
  763. var sTemplateValue = oUserPreference.getValue();
  764. if (bTemplateModeOn &amp;&amp; sTemplateValue.length &amp;&amp; typeof oUserPreference === "object")
  765. {
  766. createHiddenInput("qs.template", sTemplateValue);
  767. }
  768. }
  769. }
  770. document.asyncForm.action = oAppMgr.get("scriptEngine");
  771. <!--
  772. The setTimeout here is to do the submit in a different thread.
  773. Doing this prevent Mozilla to wait for the result of the submit to
  774. call the onload event in qs/qs.xts
  775. -->
  776. setTimeout(submit_asyncForm,10);
  777. }
  778. function submit_asyncForm()
  779. {
  780. document.asyncForm.submit();
  781. }
  782. function createHiddenInput(sName, sValue)
  783. {
  784. // make sure the form field doesn't already exist before creating
  785. // a new one, the last one will always be chosen by the viewer anyway
  786. if (document.asyncForm &amp;&amp; document.asyncForm[sName])
  787. {
  788. document.asyncForm[sName].value = sValue;
  789. }
  790. else
  791. {
  792. var oInput = document.createElement("INPUT");
  793. oInput.type = "hidden";
  794. oInput.name = sName;
  795. oInput.value = sValue;
  796. document.asyncForm.appendChild(oInput);
  797. }
  798. }
  799. </script>
  800. </head>
  801. <body class="reportBody" onload="submitForm()">
  802. <span id="busyIndicator">
  803. <xsl:if test="/root/browserInfo/isNS6='true'">
  804. <xsl:attribute name="style">position:absolute;</xsl:attribute>
  805. </xsl:if>
  806. <table cellspacing="0" cellpadding="0" width="100%" height="100%" align="center" style="vertical-align:middle;">
  807. <tr>
  808. <td width="100%" height="100%" align="center">
  809. <!-- start of indicator-->
  810. <table align="center" cellspacing="0" cellpadding="0" style="vertical-align:middle; border:1px outset;" class="busyBody">
  811. <tr>
  812. <td rowspan="2">
  813. <img src="{$skin_root}/branding/progress.gif" style="margin:5px;" width="48" height="48"/>
  814. </td>
  815. <td nowrap="nowrap">
  816. <span class="busyUpdatingStr">
  817. <xts:string id="BUSY_LINE_1"/>
  818. </span>
  819. </td>
  820. </tr>
  821. <tr>
  822. <td nowrap="nowrap">
  823. <span class="busyUpdatingStr">
  824. <xts:string id="BUSY_LINE_2"/>
  825. </span>
  826. </td>
  827. </tr>
  828. <tr>
  829. <td colspan="2">
  830. <img height="10" width="20">
  831. <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/common/images/spacer.gif</xsl:attribute>
  832. </img>
  833. </td>
  834. </tr>
  835. </table>
  836. <!-- end of indicator-->
  837. </td>
  838. </tr>
  839. </table>
  840. </span>
  841. <xsl:variable name="passport">
  842. <!-- pull the passport out of the bus header -->
  843. <xsl:value-of select="/root/credential/param[@name='CAM']/*[local-name() ='CAM']/*[local-name() = 'CAMPassport']/*[local-name() = 'id']"/>
  844. </xsl:variable>
  845. <xsl:variable name="contextid">
  846. <xsl:value-of select="xtsext:cafaction(concat('get_contextid_setcomponent_qs_settemplatename_submit_settemplateid_01_setpassportid_', $passport), '')"/>
  847. </xsl:variable>
  848. <form name="asyncForm" method="post" style="margin:0px;">
  849. <input type="hidden" name="ui.gateway"/>
  850. <input type="hidden" name="ui.tool"/>
  851. <input type="hidden" name="ui.object"/>
  852. <input type="hidden" name="ui.spec"/>
  853. <input type="hidden" name="ui.errURL" value="javascript:parent.cancelErrorPage();"/>
  854. <input type="hidden" name="ui.conversation"/>
  855. <input type="hidden" name="ui.action" value=""/>
  856. <xsl:if test="$contextid!=''">
  857. <input type="hidden" name="ui.cafcontextid">
  858. <xsl:attribute name="value">
  859. <xsl:value-of select="xtsext:cafaction(concat('get_contextid_setcomponent_qs_settemplatename_submit_settemplateid_02_setpassportid_', $passport), '')"/>
  860. </xsl:attribute>
  861. </input>
  862. </xsl:if>
  863. <xsl:if test="/root/env/param[@name='ui.routingServerGroup']!=''">
  864. <input type="hidden" name="ui.routingServerGroup">
  865. <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='ui.routingServerGroup']"/></xsl:attribute>
  866. </input>
  867. </xsl:if>
  868. </form>
  869. <!--dbg:dumpxml select="/"/-->
  870. </body>
  871. </html>
  872. </xsl:template>
  873. </xsl:stylesheet>
  874. </xts:block>
  875. <!-- fault handling -->
  876. <xts:block id="faultHandler" type="fault" processor="XSLT">
  877. <xsl:stylesheet version="1.0"
  878. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  879. exclude-result-prefixes="xsl">
  880. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  881. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  882. <xsl:template match="/root/fault">
  883. <!-- send the fault along, don't change it so the regular fault handling can occur -->
  884. <xsl:copy-of select="."/>
  885. </xsl:template>
  886. <xsl:template match="text()"/>
  887. </xsl:stylesheet>
  888. </xts:block>
  889. </xts:morphlet>