profileAdministration.xts 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: cogadmin
  5. (C) Copyright IBM Corp. 2005, 2014
  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/" resolverBase="cogadmin">
  13. <xts:block id="frag_init" nodelist="env, credential" type="exec" mode="interpret" processor="XSLT" path="cogadmin/logicsheets/fragment_init.xslt" condition=".[not(/root/env/param[@name='frag-directive']='meta-only')]" mandatory="true"/>
  14. <!--
  15. Get the content to be displayed
  16. -->
  17. <xts:block id="getContent" nodelist="env, state, header, session, system" dependency="frag_init" type="exec" mode="interpret" processor="XSLT">
  18. <xts:logicsheet path="logicsheets/tenantlogic.xsl"/>
  19. <xts:logicsheet path="cogadmin/logicsheets/admin.xslt"/>
  20. <xsl:stylesheet version="1.0"
  21. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  22. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  23. xmlns:xts="http://developer.cognos.com/schemas/xts/"
  24. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  25. xmlns:nav="http://developer.cognos.com/schemas/cps/navigation/1/"
  26. xmlns:admui="http://developer.cognos.com/schemas/xts/admui"
  27. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  28. exclude-result-prefixes="xts bus nav SOAP-ENV admui">
  29. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  30. <!-- common variables -->
  31. <admui:variables/>
  32. <!-- common pager variables -->
  33. <admui:pagerVariables pagerName="profileAdm"/>
  34. <xsl:template match="/">
  35. <xsl:variable name="id">
  36. <xsl:choose>
  37. <xsl:when test="key('env-param','mode') = 'new'">
  38. path://catalog/catalogFolder[@name='User Interface Profiles']/catalogFolder
  39. </xsl:when>
  40. <xsl:otherwise>
  41. path:/configuration/uiProfileFolder/uiProfileFolder[@name='Report Studio Profiles']
  42. </xsl:otherwise>
  43. </xsl:choose>
  44. </xsl:variable>
  45. <!-- sort -->
  46. <xsl:variable name="sort">
  47. <xsl:if test="key('env-param','sort') != ''">
  48. <xsl:value-of select="key('env-param','sort')"/>
  49. </xsl:if>
  50. </xsl:variable>
  51. <xts:sequence>
  52. <xts:append select="/root">
  53. <response>
  54. <xts:request name="NAV">
  55. <SOAP-ENV:Envelope>
  56. <SOAP-ENV:Header>
  57. <xsl:copy-of select="/root/header/bus:biBusHeader"/>
  58. </SOAP-ENV:Header>
  59. <SOAP-ENV:Body>
  60. <nav:request>
  61. <nav:queries>
  62. <nav:query>
  63. <nav:getContainer>
  64. <nav:id>
  65. <xsl:value-of select="$id"/>
  66. </nav:id>
  67. <nav:childObjectFilter>
  68. <nav:itemType>uiProfile</nav:itemType>
  69. <nav:itemType>userInterfaceProfile</nav:itemType>
  70. </nav:childObjectFilter>
  71. <!-- nav options -->
  72. <nav:property name="searchPath"/>
  73. <nav:property name="lastModifiedDate"/>
  74. <nav:property name="internalId"/>
  75. <nav:property name="permissions"/>
  76. <nav:property name="screenTip"/>
  77. <nav:property name="userInterface"/>
  78. <nav:property name="icons"/>
  79. <nav:property name="hidden"/>
  80. <nav:property name="tenantID"/>
  81. <nav:property name="names"/>
  82. <!-- nav properties -->
  83. <nav:skipObjects><xsl:value-of select="$skipObjects"/></nav:skipObjects>
  84. <nav:maxObjects><xsl:value-of select="$maxObjects"/></nav:maxObjects>
  85. <nav:sort>
  86. <xsl:attribute name="order">
  87. <xsl:choose>
  88. <xsl:when test="key('env-param', 'sort_order')='ascending'">ascending</xsl:when>
  89. <xsl:when test="key('env-param', 'sort_order')='descending'">descending</xsl:when>
  90. </xsl:choose>
  91. </xsl:attribute>
  92. <xsl:if test="key('env-param', 'sort_column') != ''">
  93. <xsl:value-of select="key('env-param', 'sort_column')"/>
  94. </xsl:if>
  95. </nav:sort>
  96. <!-- common nav params -->
  97. <admui:commonNavParams/>
  98. </nav:getContainer>
  99. </nav:query>
  100. <xsl:if test="not(key('env-param','mode') = 'new')">
  101. <nav:query>
  102. <nav:getItem>
  103. <nav:recursive>false</nav:recursive>
  104. <nav:id>
  105. path://catalog/catalogFolder[@name='User Interface Profiles']/catalogFolder/userInterfaceProfile
  106. </nav:id>
  107. <nav:property name="searchPath"/>
  108. </nav:getItem>
  109. </nav:query>
  110. </xsl:if>
  111. </nav:queries>
  112. </nav:request>
  113. </SOAP-ENV:Body>
  114. </SOAP-ENV:Envelope>
  115. </xts:request>
  116. </response>
  117. <xsl:choose>
  118. <xsl:when test="key('env-param','mode') = 'new'">
  119. <parentResponse>
  120. <xts:request name="NAV">
  121. <SOAP-ENV:Envelope>
  122. <SOAP-ENV:Header>
  123. <xsl:copy-of select="/root/header/bus:biBusHeader"/>
  124. </SOAP-ENV:Header>
  125. <SOAP-ENV:Body>
  126. <nav:getContainer>
  127. <nav:id>
  128. <xsl:text>path://catalog/catalogFolder</xsl:text>
  129. </nav:id>
  130. <nav:childObjectFilter>
  131. <nav:itemType>catalogFolder</nav:itemType>
  132. </nav:childObjectFilter>
  133. <!-- nav options -->
  134. <nav:property name="searchPath"/>
  135. <nav:property name="internalId"/>
  136. <!-- common nav params -->
  137. <admui:commonNavParams/>
  138. </nav:getContainer>
  139. </SOAP-ENV:Body>
  140. </SOAP-ENV:Envelope>
  141. </xts:request>
  142. </parentResponse>
  143. </xsl:when>
  144. <xsl:otherwise>
  145. <components>
  146. <xts:request name="NAV">
  147. <SOAP-ENV:Envelope>
  148. <SOAP-ENV:Header>
  149. <xsl:copy-of select="/root/header/bus:biBusHeader"/>
  150. </SOAP-ENV:Header>
  151. <SOAP-ENV:Body>
  152. <nav:getItemTypes>
  153. <nav:property name="searchTypes">userInterfaces</nav:property>
  154. <!-- common nav params -->
  155. <admui:commonNavParams/>
  156. </nav:getItemTypes>
  157. </SOAP-ENV:Body>
  158. </SOAP-ENV:Envelope>
  159. </xts:request>
  160. </components>
  161. </xsl:otherwise>
  162. </xsl:choose>
  163. <advancedSettings>
  164. <xts:function name="getConfiguration">
  165. <xts:param name="COGADMIN.UIPROFILES.DEVELOPER_MODE"/>
  166. <xts:param name="COGADMIN.UIPROFILES.ENABLE_IMPORT"/>
  167. </xts:function>
  168. </advancedSettings>
  169. </xts:append>
  170. </xts:sequence>
  171. </xsl:template>
  172. </xsl:stylesheet>
  173. </xts:block>
  174. <!-- Merge the tenantNames into the response -->
  175. <xts:block processor="XSLT" type="exec" mandatory="false"
  176. path="/portal/tenancy/mergeTenantNames.xslt"
  177. id="mergeTenantNames"
  178. dependency="getContent"
  179. condition=".[/root/session/param[@name='e_showTenantInfo']='true']">
  180. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  181. </xts:block>
  182. <xts:block id="getMeta" type="exec" mode="interpret" nodelist="env" processor="XSLT">
  183. <xsl:stylesheet version="1.0"
  184. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  185. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  186. xmlns:xos="http://developer.cognos.com/schemas/xts/output/"
  187. exclude-result-prefixes="xsl xts xos xtsext">
  188. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  189. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  190. <xsl:template match="/">
  191. <xts:sequence>
  192. <xts:append select="/root/output">
  193. <xos:part>
  194. <xos:entityHeader>
  195. <xos:param name="Content-Type">text/xml; charset=utf-8</xos:param>
  196. </xos:entityHeader>
  197. <xos:entityBody>
  198. <fragment>
  199. <!-- handle the fragment state -->
  200. </fragment>
  201. </xos:entityBody>
  202. </xos:part>
  203. </xts:append>
  204. </xts:sequence>
  205. </xsl:template>
  206. </xsl:stylesheet>
  207. </xts:block>
  208. <!--
  209. Generate the Console administration fragment
  210. -->
  211. <xts:block id="renderMarkup" nodelist="env,state,response,system,user" dependency="frag_init mergeTenantNames getMeta" type="exec" mode="interpret" processor="XSLT">
  212. <xts:logicsheet path="cogadmin/logicsheets/admin.xslt"/>
  213. <xsl:stylesheet version="1.0"
  214. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  215. xmlns:xos="http://developer.cognos.com/schemas/xts/output/"
  216. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  217. xmlns:nav="http://developer.cognos.com/schemas/cps/navigation/1/"
  218. xmlns:admui="http://developer.cognos.com/schemas/xts/admui"
  219. exclude-result-prefixes="xos xtsext nav admui">
  220. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  221. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  222. <xsl:template match="/">
  223. <xts:sequence>
  224. <xts:append select="/root/output/*[local-name()='part']/*[local-name()='entityBody']/fragment">
  225. <markup>
  226. <mimeType>text/html</mimeType>
  227. <markupXml>
  228. <xts:transform src="/cogadmin/transforms/presentation/renderFragment.xslt" processor="XSLT">
  229. <xts:param name="messageBase">/messages/cogadminuimsgs.xml</xts:param>
  230. <xts:param name="logicsheet">/cogadmin/logicsheets/admin.xslt</xts:param>
  231. <root>
  232. <!-- Generate UI markup using the response and metadata -->
  233. <xts:transform src="/cogadmin/transforms/gen-ui-markup/profileAdministration.xslt" processor="XSLT">
  234. <xts:param name="messageBase">/messages/cogadminuimsgs.xml</xts:param>
  235. <xts:param name="logicsheet">/cogadmin/logicsheets/presentation/common.xslt</xts:param>
  236. <xts:param name="logicsheet">/cogadmin/logicsheets/presentation/pager.xslt</xts:param>
  237. <xts:param name="logicsheet">/cogadmin/logicsheets/admin.xslt</xts:param>
  238. <root>
  239. <!-- supported relationships response and QueryRelationshipsByTypeResponse -->
  240. <xts:queryNode select="/root/system | /root/env | /root/response | /root/parentResponse | /root/advancedSettings | /root/components | /root/state | /root/session"/>
  241. </root>
  242. </xts:transform>
  243. <xts:queryNode select="/root/system | /root/user"/>
  244. </root>
  245. </xts:transform>
  246. </markupXml>
  247. </markup>
  248. </xts:append>
  249. </xts:sequence>
  250. </xsl:template>
  251. </xsl:stylesheet>
  252. </xts:block>
  253. </xts:morphlet>