new_actions.xts 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: ps
  5. (C) Copyright IBM Corp. 2010, 2013
  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/portalRL.xml, messages/portal.xml">
  9. <!--
  10. This morphlet (new_actions.xts) consists of the following blocks:
  11. formlogic_init - update various /root/env level parameters based on new or changed /root/env parameters.
  12. getContent - retrieve CM Information for this page.
  13. format - render the new folder wizard page to create object in location specified by m_path.
  14. -->
  15. <!--
  16. ===============================================================================================
  17. formlogic_init - standard form logic initialization
  18. ===============================================================================================
  19. -->
  20. <xts:block
  21. id="formlogic_init"
  22. type="exec"
  23. mode="interpret"
  24. processor="XSLT"
  25. path="/logicsheets/formlogic_init.xslt"
  26. nodelist="env,credential,system,http"/>
  27. <!--
  28. ===============================================================================================
  29. getContent - get our data from Content Manager
  30. ===============================================================================================
  31. -->
  32. <xts:block
  33. id="getContent"
  34. processor="XSLT"
  35. type="exec"
  36. dependency="formlogic_init">
  37. <xts:logicsheet path="logicsheets/tenantlogic.xsl"/>
  38. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  39. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  40. <xsl:stylesheet version="1.0"
  41. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  42. xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
  43. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  44. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
  45. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  46. <xsl:key name="session-param" match="/root/session/param" use="@name"/>
  47. <xsl:template match="/">
  48. <xsl:variable name="path">
  49. <xsl:choose>
  50. <xsl:when test=" /root/env/param[@name='so.navigationId'] ">
  51. <xsl:value-of select="/root/env/param[@name='so.navigationId']"/>
  52. </xsl:when>
  53. <xsl:otherwise><xsl:value-of select="/root/session/param[@name='prootid']"/></xsl:otherwise>
  54. </xsl:choose>
  55. <!-- Append permission restrictions -->
  56. <!--xsl:value-of select="'[permission(&quot;read&quot;)]'"/-->
  57. </xsl:variable>
  58. <xts:sequence>
  59. <xts:append>
  60. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  61. <send:request provider="cm">
  62. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  63. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  64. <cm:searchID><xsl:value-of select="$path"/></cm:searchID>
  65. <cm:properties>
  66. <cm:property name="defaultName"/>
  67. <cm:property name="searchPath"/>
  68. <cm:property name="storeID"/>
  69. <cm:property name="ancestors"/>
  70. <cm:property name="tenantID"/>
  71. </cm:properties>
  72. </cm:query>
  73. </xts:transform>
  74. </send:request>
  75. </xts:transform>
  76. </xts:append>
  77. </xts:sequence>
  78. </xsl:template>
  79. </xsl:stylesheet>
  80. </xts:block>
  81. <!-- Update these environment variables -->
  82. <xts:block
  83. id="updateEnv"
  84. type="exec"
  85. dependency="formlogic_init getContent"
  86. mode="interpret"
  87. processor="XSLT"
  88. mandatory="false"
  89. condition=".[/root/env/param[@name='m_new_class'] != 'tenant']">
  90. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  91. <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:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:x="x" exclude-result-prefixes="xsl cm xtsext xts send x">
  92. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  93. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  94. <xsl:template match="/">
  95. <xts:sequence>
  96. <xts:delete select="/root/env/param[@name='selectedTenantName']"/>
  97. <xsl:if test="string(key('env-param','tenantChanged')='true')">
  98. <xts:delete select="/root/env/param[@name='tenantChanged' or @name='newTenantID' or @name='newTenantName' or @name='m_p_tenantID' or @name='changed_m_p_tenantID' or @name='objTenantName']"/>
  99. <xts:append select="/root/env">
  100. <param name="m_p_tenantID"><xsl:value-of select="string(key('env-param','newTenantID') | /root/cm:queryResponse[1]//cm:tenantID)"/></param>
  101. <param name="objTenantName"><xsl:value-of select="string(key('env-param','newTenantName'))"/></param>
  102. <param name="changed_m_p_tenantID">1</param>
  103. </xts:append>
  104. </xsl:if>
  105. </xts:sequence>
  106. </xsl:template>
  107. </xsl:stylesheet>
  108. </xts:block>
  109. <!--
  110. ===============================================================================================
  111. getObjTenantInfo - TenantID & DefaultName from tenant object.
  112. ===============================================================================================
  113. -->
  114. <xts:block id="getObjTenantInfo" path="/portal/tenants/getObjTenantInfo.xsl" mode="interpret" processor="XSLT" type="exec" mandatory="false" dependency="updateEnv getContent" condition=".[/root/env/param[@name='m_new_class'] != 'tenant']">
  115. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  116. </xts:block>
  117. <!--
  118. ===============================================================================================
  119. format - render the new folder dialogue
  120. ===============================================================================================
  121. -->
  122. <xts:block
  123. id="format"
  124. mode="output"
  125. processor="XSLT"
  126. type="exec"
  127. mimeType="text/html"
  128. dependency="getObjTenantInfo getContent"
  129. path="portal/select/src/new_actions_render.xslt">
  130. <!-- get the buslogic logic sheet -->
  131. <xts:logicsheet path="logicsheets/tenantlogic.xsl"/>
  132. <xts:logicsheet path="logicsheets/portal.xsl"/>
  133. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  134. <!-- get the ContentManager logic sheet -->
  135. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  136. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  137. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  138. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  139. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  140. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  141. <!-- apply the form logic -->
  142. <xts:logicsheet path="logicsheets/formlogic.xslt"/>
  143. <xts:logicsheet path="logicsheets/validation.xslt"/>
  144. <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
  145. </xts:block>
  146. <!-- Debug -->
  147. <!-- ============================================================================= -->
  148. <xts:block
  149. id="debug"
  150. dependency="format"
  151. condition=".[ /root/session/param[@name='debug'] = '1' ]"
  152. type="exec"
  153. mode="output"
  154. processor="XSLT"
  155. mandatory="false"
  156. mimeType="text/html">
  157. <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
  158. <!-- debug logic sheet -->
  159. <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">
  160. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  161. <xsl:template match="/">
  162. <dbg:dumpxml select="/root"/>
  163. </xsl:template>
  164. </xsl:stylesheet>
  165. </xts:block>
  166. </xts:morphlet>