123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: ps
- (C) Copyright IBM Corp. 2005, 2014
- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- -->
- <!--
- Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
- Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
- -->
- <xts:morphlet xmlns:xts="http://developer.cognos.com/schemas/xts/" messageBase="messages/portal.xml, messages/portalRL.xml">
- <!--
- ===============================================================================================
- Saves cut/copied entries in a user session - Only executes after a cut or a copy operation.
- ===============================================================================================
- -->
- <xts:block id="groupEdit" path="portal/set_clipboard.xml" processor="XSLT" type="exec" mandatory="false" condition=".[/root/env/param[@name='editentries']]">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- </xts:block>
- <!-- ======================================================== -->
- <!-- Session Management -->
- <!-- ======================================================== -->
-
- <!-- Reads session-sensitive info from CM -->
- <xts:block processor="XSLT" type="exec" mandatory="false"
- id="refreshSession"
- path="portal/cc/read_session.xml"
- condition=".[
- string(/root/cookies/cookie[@name = 'cc_session']) = ''
- or /root/env/param[@name='m_reload']
- or /root/env/param[@name='m_root'] ]">
-
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- </xts:block>
-
- <xts:block id="impersonateTenant" path="/portal/tenants/impersonateTenant.xsl" processor="XSLT" type="exec" mode="interpret" condition=".[/root/env/param[@name='impersonateTenantId']!='']" mandatory="false">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- </xts:block>
-
- <!-- Update the <session> element for this request. -->
- <xts:block id="buildSession" path="portal/session.xml" dependency="refreshSession impersonateTenant" processor="XSLT" type="exec"
- condition=".[
- /root/newSession
- or /root/env/param[@name='ui']
- or /root/env/param[@name='d']
- or /root/env/param[starts-with(@name,'m_s_')]
- or /root/env/param[@name = 'resetSort'] ]"
- mandatory="false"/>
-
- <!-- Save changes to the state info in a cookie -->
- <xts:block mode="interpret" processor="XSLT" type="exec"
- id="setSession"
- path="portal/set_session.xml"
- dependency="groupEdit buildSession getContent"
- condition=".[/root/updateSession]"
- mandatory="false"/>
- <!--
- ======================================
- Generate the search expression TO BE Implemented ib35
- ======================================
- -->
- <xts:block id="generateSearchExp" processor="XSLT" type="exec" dependency="buildSession" condition=".[/root/env/param[@name='search']]" mandatory="false">
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xts:logicsheet path="logicsheets/searchlogic.xslt"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:search="http://developer.cognos.com/schemas/xts/logicsheets/xslt/searchlogic/"
- xmlns:xts="http://developer.cognos.com/schemas/xts/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
- xmlns:out="dummy-uri">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="no"/>
- <xsl:key name="session-param" match="/root/session/param" use="@name"/>
- <cml:object-predicates/>
- <xsl:template match="/root">
- <xsl:variable name="path">
- <xsl:choose>
- <xsl:when test=" /root/env/param[@name='m_subfldr'] != '' ">
- <xsl:text/>storeID("<xsl:value-of select="/root/env/param[@name='m_subfldr']"/>")<xsl:text/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="concat(key('session-param', 'e_hp'), '/subscriptionFolder')"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xts:sequence>
- <search:gen-search-exp>
- <search:defaultTypes>
- <search:defaultType>subscriptionFolder</search:defaultType>
- <search:defaultType>reportDataServiceAgentDefinition</search:defaultType>
- </search:defaultTypes>
- </search:gen-search-exp>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- =============================================
- Request properties of the subscription folder
- =============================================
- -->
- <xts:block id="getContent" processor="XSLT" type="exec" dependency="generateSearchExp">
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
-
- <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="no"/>
-
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:key name="session-param" match="/root/session/param" use="@name"/>
- <cml:object-predicates/>
- <xsl:template match="root">
-
- <xsl:variable name="userPrefs" select="/root/session/param"/>
- <xsl:variable name="userPrefsDefault" select="/root/system/param[@name='defaultPortalPreferences']"/>
- <xsl:variable name="maxObjects">
- <xsl:choose>
- <xsl:when test="string(/root/env/param[@name = 'm_pagerto']) !='' and string(/root/env/param[@name = 'm_pagerfrom']) !=''">
- <xsl:value-of select="(/root/env/param[@name = 'm_pagerto'] - /root/env/param[@name = 'm_pagerfrom']) + 1"/>
- </xsl:when>
- <xsl:when test="$userPrefs[@name='linesPerPage']!=''">
- <xsl:value-of select="$userPrefs[@name='linesPerPage']"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$userPrefsDefault/pref[@name='lines']"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="skipObjects">
- <xsl:choose>
- <xsl:when test="/root/env/param[@name = 'm_pagerfrom'] and /root/env/param[@name = 'm_pagerfrom']!=''">
- <xsl:value-of select="(/root/env/param[@name = 'm_pagerfrom'])-1"/>
- </xsl:when>
- <xsl:when test="key('env-param', 'm_section') != ''">
- <xsl:choose>
- <xsl:when test="key('env-param', 'm_section') != '-1'">
- <xsl:value-of select="((key('env-param', 'm_section')) -1)"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="($maxObjects) * -1"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="path">
- <xsl:choose>
- <xsl:when test=" /root/env/param[@name='m_subfldr'] != '' ">
- <xsl:text/>storeID("<xsl:value-of select="/root/env/param[@name='m_subfldr']"/>")<xsl:text/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="concat(key('session-param', 'e_hp'), '/subscriptionFolder')"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:if test="string(/root/env/param[@name='m_path']) = ''">
- <xts:sequence>
- <xts:append select="/root/env">
- <param name="m_path">
- <xsl:value-of select="$path"/>
- </param>
- </xts:append>
- </xts:sequence>
- </xsl:if>
- <xts:sequence>
- <xts:append>
- <cmContent>
- <xsl:choose>
- <xsl:when test="key('env-param', 'search')"> <!-- only from rule tab -->
- <xsl:if test="/root/search">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <!-- always get root subFldr for home to use cf:do-the-path-link -->
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:requests>
- <cm:query>
- <cm:search>~/subscriptionFolder</cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="searchPath"/>
- <cm:property name="storeID"/>
- </cm:properties>
- </cm:query>
- <cm:query>
- <cm:search>
- <xsl:value-of select="$path"/><xsl:value-of select="$visibility-predicate"/>
- </cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="searchPath"/>
- <cm:property name="ancestors"/>
- <cm:property name="hidden"/>
- </cm:properties>
- </cm:query>
- <xsl:if test="/root/search/expression">
- <cm:query>
- <cm:search>
- <xsl:value-of select="/root/search/expression"/><xsl:value-of select="$visibility-predicate"/>
- </cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="ancestors"/>
- <cm:property name="searchPath"/>
- <cm:property name="permissions"/>
- <cm:property name="storeID"/>
- <cm:property name="modificationTime"/>
- <cm:property name="position"/>
- <cm:property name="hidden"/>
- </cm:properties>
- </cm:query>
- </xsl:if>
- </cm:requests>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xsl:if>
- </xsl:when>
- <!-- rule (subscription) tab -->
- <xsl:when test="key('env-param', 'm_isRule')">
- <xts:transform src="portal/subscriptions/transforms/build-subscription.xslt" processor="XSLT">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <!-- always get root subFldr for home to use cf:do-the-path-link -->
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:requests>
- <cm:query>
- <cm:search>~/subscriptionFolder</cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="searchPath"/>
- </cm:properties>
- </cm:query>
- <cm:query>
- <cm:search>
- <xsl:value-of select="$path"/><xsl:value-of select="$visibility-predicate"/>
- </cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="ancestors"/>
- <cm:property name="searchPath"/>
- <cm:property name="permissions"/>
- <cm:property name="storeID"/>
- <cm:property name="hidden"/>
- </cm:properties>
- </cm:query>
- <cm:query>
- <cm:search>
- <xsl:choose>
- <xsl:when test="/root/search/expression">
- <xsl:value-of select="/root/search/expression"/><xsl:value-of select="$visibility-predicate"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text/><xsl:value-of select="concat($path, '/reportDataServiceAgentDefinition', $visibility-predicate, '/schedule')"/> | <xsl:value-of select="concat($path,'/subscriptionFolder')"/><xsl:text/>
- </xsl:otherwise>
- </xsl:choose>
- </cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="periodicalProducer"/>
- <cm:property name="storeID"/>
- <cm:property name="searchPath"/>
- <cm:property name="permissions"/>
- <cm:property name="parent"/>
- <cm:property name="position"/>
- <cm:property name="active"/>
- <cm:property name="hidden"/>
- </cm:properties>
- <cm:options schemaInfo="false">
- <cm:maxObjects><xsl:value-of select="$maxObjects + 1"/></cm:maxObjects>
- <cm:skipObjects><xsl:value-of select="$skipObjects"/></cm:skipObjects>
- <cm:refProps>
- <cm:refProp refPropName="periodicalProducer">
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="ancestors"/>
- </cm:properties>
- </cm:refProp>
- <cm:refProp refPropName="parent">
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="searchPath"/>
- <cm:property name="permissions"/>
- <cm:property name="storeID"/>
- <cm:property name="defaultScreenTip"/>
- <cm:property name="hidden"/>
- </cm:properties>
- </cm:refProp>
- </cm:refProps>
- </cm:options>
- </cm:query>
- <xsl:if test="not(/root/search/expression)">
- <cm:query>
- <cm:search><xsl:text/><xsl:value-of select="concat($path, '/reportDataServiceAgentDefinition/*')"/></cm:search>
- <cm:properties>
- <cm:property/>
- </cm:properties>
- </cm:query>
- </xsl:if>
- </cm:requests>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:transform>
- </xsl:when>
- <!-- alert tab -->
- <xsl:otherwise>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:requests>
- <cm:query>
- <cm:search>//*[containsReferences(@notificationList,~)]</cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="searchPath"/>
- <cm:property name="storeID"/>
- <cm:property name="ancestors"/>
- <cm:property name="position"/>
- <cm:property name="hidden"/>
- <cm:property name="base"/>
- </cm:properties>
- <cm:options schemaInfo="false">
- <cm:refProps>
- <cm:refProp refPropName="base">
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="searchPath"/>
- <cm:property name="permissions"/>
- </cm:properties>
- </cm:refProp>
- </cm:refProps>
-
- <cm:maxObjects><xsl:value-of select="$maxObjects + 1"/></cm:maxObjects>
- <cm:skipObjects><xsl:value-of select="$skipObjects"/></cm:skipObjects>
- </cm:options>
- </cm:query>
- </cm:requests>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xsl:otherwise>
- </xsl:choose>
- </cmContent>
- </xts:append>
- <xts:delete select="/root/env/param[@name='pagerfrom' or @name='pagerto' or @name='pagerfrom_d' or @name='pagerto_d']"/>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="classNames" type="exec" mode="input" processor="XML" path="/portal/uiExtensions.xml" >
- <xts:logicsheet path="/logicsheets/uiobjects/uiobjects_names.xslt"/>
- </xts:block>
- <!-- ============================================================================= -->
- <xts:block id="render-page" path="portal/subscriptions/subscriptions.xslt" dependency="getContent classNames" mode="output" processor="XSLT" type="exec" mimeType="text/html" mandatory="false">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/permissions.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/main/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/main/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/main/search.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
- </xts:block>
-
- <!--
- =============================================
- Output debug dump
- =============================================
- -->
- <xts:block id="debug" type="exec" mode="output" processor="XSLT" condition=".[/root/env/param[@name='d'] = '1' or /root/session/param[@name='debug'] = '1']" mandatory="false" mimeType="text/html" dependency="render-page">
- <!-- get the debug logic sheet -->
- <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
- <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">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
- <xsl:template match="/">
- <dbg:dumpxml select="/root"/>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- </xts:morphlet>
|