1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- *****************************************************************
- ** Licensed Materials - Property of IBM
- **
- ** IBM Cognos Products: drill
- **
- ** (C) Copyright IBM Corp. 2001, 2015
- **
- ** 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/drill.xml,messages/portal.xml, messages/portalRL.xml">
- <!-- Load object-specific property tabs map ============================================================== -->
- <xts:block id="getTabs" type="exec" mode="interpret" processor="XML" path="/portal/uiobjects_tabs.xml"/>
- <!-- Handle all form information when prompting complete -->
- <xts:block id="formlogic_initial" type="exec" mode="interpret" dependency="getTabs" condition=".[/root/env/param[@name='m_obj']]" processor="XSLT" path="/logicsheets/formlogic_init.xslt" nodelist="env,credential,system,http" mandatory="false"/>
- <!-- Get the target associated with this drillthru object. (Do not do when handling prompt processing - determined by the method parameter) -->
- <xts:block id="getContent" path="/portal/drillthru/common/request/get_target_content.xslt" processor="XSLT" dependency="getTabs formlogic_initial" condition=".[/root/env/param[@name='m_obj']]" type="exec" mode="interpret" mandatory="false" nodelist="env,header">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- </xts:block>
- <!--
- ===============================================================================================
- getRoutingServerContent - Get the routing server information from CM
-
- In addition this block also get the target information for Abacab targets
- ===============================================================================================
- -->
- <xts:block id="getRoutingServerContent"
- dependency="getContent"
- processor="XSLT" type="exec" mandatory="false"
- condition=".[/root/env/param[@name='m_obj'] and ((/root/env/param[@name='m_p_target'] and /root/env/param[@name='m_p_target']!='') or /root/*[local-name()='queryResponse']/*/*[local-name()='target']/*[local-name()='report' or local-name()='query' or local-name()='analysis' or local-name()='reportView'] or /root/*[local-name()='queryResponse']/*[local-name()='drillPath']/*[local-name()='deploymentReferences']/*[local-name()='deploymentReference']/*[local-name()='powerPlay8Report' or local-name()='powerPlay8ReportView' or local-name()='package'])]" nodelist="env,header,queryResponse">
-
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <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:xts="http://developer.cognos.com/schemas/xts/" exclude-result-prefixes="xsl send xts cm">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:variable name="useTarget">
- <xsl:choose>
- <xsl:when test="string(key('env-param','m_p_target'))!='false' and string(key('env-param','m_p_target'))!=''">
- <xsl:value-of select="key('env-param','m_p_target')"/>
- </xsl:when>
- <xsl:when test="string(key('env-param','so.searchPath'))!=''">
- <xsl:value-of select="key('env-param','so.searchPath')"/>
- </xsl:when>
- <!--This is used in case of Abacab targets. to get the target search path stored in deploymentReferences -->
- <!-- TODO: when we stop using target property completely and only use drill specification and deployment references we have to modify this code-->
- <xsl:when test="/root/*[local-name()='queryResponse']/*[local-name()='drillPath']/*[local-name()='deploymentReferences']/*[local-name()='deploymentReference']/*[local-name()='powerPlay8Report' or local-name()='powerPlay8ReportView' or local-name()='package']">
- <xsl:value-of select="/root/*[local-name()='queryResponse']/*[local-name()='drillPath']/*[local-name()='deploymentReferences']/*[local-name()='deploymentReference']/*[local-name()='powerPlay8Report' or local-name()='powerPlay8ReportView' or local-name()='package']/*[local-name()='searchPath']"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/root/*[local-name()='queryResponse']/*/*[local-name()='target']/*[local-name()='report' or local-name()='query' or local-name()='analysis' or local-name()='reportView']/*[local-name()='searchPath']"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:template match="/">
- <xts:sequence>
- <!-- Start of CM call for Abacab targets -->
- <!--This is a CM call that is used in case of having Abacab targets. Since in this case we don't save target in the drill object we don't get the required information for that
- as the result we have to send a CM request to get that informatin. We send that request using the search path that we stored in the options/promptformat
- TODO: This should be moved to the getContent block for clean up
- -->
- <xsl:if test="/root/*[local-name()='queryResponse']/*[local-name()='drillPath']/*[local-name()='deploymentReferences']/*[local-name()='deploymentReference']/*[local-name()='powerPlay8Report' or local-name()='powerPlay8ReportView' or local-name()='package']">
- <xts:append>
- <target>
- <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>
- <cm:search><xsl:value-of select="$useTarget"/></cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="searchPath"/>
- <cm:property name="ancestors"/>
- <cm:property name="permissions"/>
- <cm:property name="parent"/>
- <cm:property name="base"/>
- </cm:properties>
- <cm:options maxObjects="1"/>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </target>
- </xts:append>
- </xsl:if>
- <!--End of CM call for Abacab targets-->
- <xts:append>
- <routing>
- <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>
- <cm:search>
- <xsl:value-of select="$useTarget"/>
- </cm:search>
- <cm:properties>
- <cm:property name="searchPath"/>
- <cm:property name="routingServerGroup"/>
- </cm:properties>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </routing>
- </xts:append>
- <xts:append select="/root/env">
- <param name="routingServerGroup">
- <xts:queryValue select="/root/routing/*[local-name()='queryResponse']/*/*[local-name()='routingServerGroup']"/>
- </param>
- </xts:append>
- <xts:delete select="/root/routing"/>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- cleandrill - Set up the environment prior to getting scope metadata and target parameters
- ===============================================================================================
- -->
- <xts:block id="cleandrill" type="exec" mode="interpret" dependency="getContent getTabs getRoutingServerContent" processor="XSLT" path="/portal/drillthru/common/response/cleandrill.xslt" condition=".[(/root/env/param[@name='dp_path' or @name='selected_query' or @name='selected_scope' or @name='selected_param' or @name='so.searchPath'])]" mandatory="false" nodelist="env,header,promptRequest,target">
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- </xts:block>
- <!--
- ===============================================================================================
- execute-method-metadata - check for prompt processing (ambiguous connection / database login prompting) to get the scope information.
- ===============================================================================================
- -->
- <!-- <xts:block id="execute-method-metadata" dependency="getContent getRoutingServerContent cleandrill" processor="XSLT" condition=".[not(/root/env/param[@name='m_p_scope']) and (((not(/root/env/param[@name='execMethod']) and /root/*[local-name()='queryResponse']/*/*[local-name()='scope']/*[local-name()='metadataModelItemName']) or (/root/env/param[@name='execMethod']='metadata' and (/root/env/param[@name='method' and (string(.)='forward' or string(.)='cancel' or string(.)='finish' or string(.)='wait' or string(.)='back' or string(.)='edit' or string(.)='')]))))]" type="exec" mandatory="false"> -->
- <xts:block id="execute-method-metadata" dependency="getContent getRoutingServerContent cleandrill" processor="XSLT" condition=".[not(/root/env/param[@name='m_p_scope']) and not(/root/env/param[@name='m_p_bookmarkItem']) and not(/root/env/param[starts-with(@name,'drillParam_')]) and (((not(/root/env/param[@name='execMethod']) and (/root/*[local-name()='queryResponse']/*/*[local-name()='scope']/*[local-name()='metadataModelItemName'] or /root/*[local-name()='queryResponse']/*/*[local-name()='bookmarkItem']/*[local-name()='value'] or (/root/*[local-name()='queryResponse']/*/*[local-name()='parameterAssignments']/*/*[local-name()='dataItemName'] and /root/*[local-name()='queryResponse']/*/*[local-name()='parameterAssignments']/*/*[local-name()='dataItemName'] !='' )) or (/root/env/param[@name='execMethod']='metadata' and (/root/env/param[@name='method' and (string(.)='forward' or string(.)='cancel' or string(.)='finish' or string(.)='wait' or string(.)='back' or string(.)='edit' or string(.)='')])))))]" type="exec" mandatory="false">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:prompt="http://developer.cognos.com/schemas/xts/portal/iPrompting/1/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:xts="http://developer.cognos.com/schemas/xts/"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/" exclude-result-prefixes="xsl prompt send xts xtsext">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:template match="/">
- <xts:sequence>
- <xsl:variable name="useTarget">
- <xsl:choose>
- <xsl:when test="string(key('env-param','m_p_target'))!=''">
- <xsl:value-of select="key('env-param','m_p_target')"/>
- </xsl:when>
- <!--This is used in case of Abacab targets. to get the target search path stored in deploymentReferences -->
- <!-- TODO: when we stop using target property completely and only use drill specification and deployment references we have to modify this code-->
- <xsl:when test="not(/root/*[local-name()='queryResponse']/*[local-name()='drillPath']/*[local-name()='target']/*[local-name()='report' or local-name()='query' or local-name()='analysis' or local-name()='reportView'])">
- <xsl:value-of select="/root/*[local-name()='queryResponse']/*[local-name()='drillPath']/*[local-name()='deploymentReferences']/*[local-name()='deploymentReference']/*[local-name()='powerPlay8Report' or local-name()='powerPlay8ReportView' or local-name()='package']/*[local-name()='searchPath']"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/root/*[local-name()='queryResponse']/*[local-name()='drillPath']/*[local-name()='target']/*[local-name()='report' or local-name()='query' or local-name()='analysis' or local-name()='reportView']/*[local-name()='searchPath']"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="useScope" select="/root/*[local-name()='queryResponse']/*/*[local-name()='scope']/*[local-name()='metadataModelItemName']"/>
- <xsl:variable name="useBMItem" select="/root/*[local-name()='queryResponse']/*/*[local-name()='bookmarkItem']/*[local-name()='value']"/>
- <xsl:variable name="useParams" select="/root/*[local-name()='queryResponse']/*/*[local-name()='parameterAssignments']"/>
- <xsl:variable name="returnTo">
- <xsl:choose>
- <xsl:when test="string(key('env-param','ps_nav_stack'))!=''">
- <xsl:value-of select="key('env-param','ps_nav_stack')"/>
- </xsl:when>
- <xsl:otherwise>portal/properties_general.xts</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="returnOp">
- <xsl:choose>
- <xsl:when test="string(key('env-param','ps_nav_stack'))!=''">pop</xsl:when>
- <xsl:otherwise>maintain</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:if test="not(key('env-param','method'))">
- <xts:append select="/root/env">
- <param name="method">
- <xsl:value-of select="'edit'"/>
- </param>
- </xts:append>
- <!-- Due to having 2 prompting requests in one morphlet, required to store the current env outside the call to collect, so correct environment is restored -->
- <xts:delete select="/root/callerAdminState"/>
- <xts:append>
- <callerAdminState>
- <xts:function name="web64encode">
- <xts:param name="source">
- <xts:transform name="XMLEncode">
- <xsl:copy-of select="/root/env/param[@name != 'method' and @name != 'cleared_prompts' and @name != 'execMethod' and @name!='m_p_target']"/>
- <param name="cleared_prompts">false</param>
- <param name="execMethod">metadata</param>
- <param name="m_p_target"><xsl:value-of select="$useTarget"/></param>
- <xsl:if test="$useScope!=''">
- <param name="startScopeAt"><xsl:value-of select="$useScope"/></param>
- </xsl:if>
- <xsl:if test="$useBMItem!=''">
- <param name="startBMItemAt"><xsl:value-of select="$useBMItem"/></param>
- </xsl:if>
- <xsl:if test="$useParams/*/*[local-name()='dataItemName' and string(.)!='']">
- <xsl:for-each select="$useParams/*/*[local-name()='dataItemName']">
- <xsl:if test="string(.)!=''">
- <xsl:variable name="pnam" select="../*[local-name()='parameterName']"/>
- <xsl:variable name="name">
- <xsl:if test="$pnam!=''"><xsl:value-of select="xtsext:web64encode($pnam,true())"/></xsl:if>
- </xsl:variable>
- <param name="startDataItemAt_{$name}"><xsl:value-of select="string(.)"/></param>
- </xsl:if>
- </xsl:for-each>
- </xsl:if>
- </xts:transform>
- </xts:param>
- <xts:param name="compress">true</xts:param>
- </xts:function>
- </callerAdminState>
- </xts:append>
- </xsl:if>
- <!-- Required so that check-state-metadata will trigger -->
- <xts:delete select="/root/env/param[@name='execMethod']"/>
- <xts:append select="/root/env">
- <param name="execMethod">metadata</param>
- </xts:append>
- <xts:append>
- <promptRequest>
- <send:request provider="xts" option="xml-multipart">
- <xsl:choose>
- <xsl:when test="not(key('env-param','method')) or key('env-param','method') = 'edit' ">
- <prompt:collect>
- <metaDataRequest>true</metaDataRequest>
- <returnMorphlet><xsl:value-of select="$returnTo"/></returnMorphlet>
- <ps_nav_op><xsl:value-of select="$returnOp"/></ps_nav_op>
- <runAsync>true</runAsync>
- <promptObject><xsl:value-of select="key('env-param','m_path')"/></promptObject>
- <showNoPromptsWarning>false</showNoPromptsWarning>
- <routingServerGroup><xsl:value-of select="key('env-param','routingServerGroup')"/></routingServerGroup>
- <addToPromptingEnv>
- <param name="execMethod">metadata</param>
- <param name="m_p_target"><xsl:value-of select="$useTarget"/></param>
- <!-- <param name="hasScope"><xsl:value-of select="$useScope"/></param>
- <param name="hasBMItem"><xsl:value-of select="$useBMItem"/></param>
- <param name="hasParams"><xsl:value-of select="string($useParams/*/*[local-name()='dataItemName' and string(.)!=''])!=''"/></param> -->
- <xsl:if test="$useScope!=''">
- <param name="startScopeAt"><xsl:value-of select="$useScope"/></param>
- </xsl:if>
- <xsl:if test="$useBMItem!=''">
- <param name="startBMItemAt"><xsl:value-of select="$useBMItem"/></param>
- </xsl:if>
- <xsl:if test="$useParams/*/*[local-name()='dataItemName' and string(.)!='']">
- <xsl:for-each select="$useParams/*/*[local-name()='dataItemName']">
- <xsl:if test="string(.)!=''">
- <xsl:variable name="pnam" select="../*[local-name()='parameterName']"/>
- <xsl:variable name="name">
- <xsl:if test="$pnam!=''"><xsl:value-of select="xtsext:web64encode($pnam,true())"/></xsl:if>
- </xsl:variable>
- <param name="startDataItemAt_{$name}"><xsl:value-of select="string(.)"/></param>
- </xsl:if>
- </xsl:for-each>
- </xsl:if>
- </addToPromptingEnv>
- <callerAdminState><xts:queryValue select="/root/callerAdminState"/></callerAdminState>
- </prompt:collect>
- </xsl:when>
- <xsl:otherwise>
- <xsl:element name="{key('env-param','method')}" namespace="http://developer.cognos.com/schemas/xts/portal/iPrompting/1/">
- <metaDataRequest>true</metaDataRequest>
- <returnMorphlet><xsl:value-of select="$returnTo"/></returnMorphlet>
- <addToPromptingEnv>
- <param name="execMethod">metadata</param>
- <param name="m_p_target"><xsl:value-of select="$useTarget"/></param>
- <param name="startScopeAt"><xsl:value-of select="key('env-param','startScopeAt')"/></param>
- <param name="startBMItemAt"><xsl:value-of select="key('env-param','startBMItemAt')"/></param>
- <xsl:for-each select="/root/env/param[starts-with(@name,'startDataItemAt_')]">
- <param name="{@name}"><xsl:value-of select="string(.)"/></param>
- </xsl:for-each>
- </addToPromptingEnv>
- <ps_nav_op>maintain</ps_nav_op>
- <showNoPromptsWarning>false</showNoPromptsWarning>
- <callFinish>true</callFinish>
- </xsl:element>
- </xsl:otherwise>
- </xsl:choose>
- </send:request>
- </promptRequest>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- check-state-metadata - check for any prompting completion (ambiguous connection / database login prompting).
- ===============================================================================================
- -->
- <xts:block id="check-state-metadata" path="/portal/iPrompting/logicsheets/check-state.xslt" processor="XSLT" type="exec" dependency="execute-method-metadata" condition=".[(/root/env/param[@name='execMethod']='metadata' and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']=''))]" mandatory="false" nodelist="env,header,session,credential,cookies,output,promptRequest, callerAdminState">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- </xts:block>
- <!--
- ===============================================================================================
- metadataInfo - Set the acquiredScope, acquiredBookmarkItem, and acquiredDataItem:reportParamName params retrieved by the execute-method-metadata
- ===============================================================================================
- -->
- <xts:block id="metadataInfo" dependency="execute-method-metadata check-state-metadata" processor="XSLT" type="exec" mandatory="false" condition=".[(/root/env/param[@name='m_p_scope'] and /root/env/param[@name='execMethod']='metadata') or (/root/*[local-name()='view']='properties' and /root/env/param[@name='execMethod']='metadata')]" nodelist="env,header,queryResponse,promptRequest,view">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <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:xts="http://developer.cognos.com/schemas/xts/" exclude-result-prefixes="xsl send xts cm">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:template match="/">
- <xts:sequence>
- <!-- Clean up env before getting the target prompts -->
- <xts:delete select="/root/env/param[@name='method' or @name='execMethod' or @name='acquiredScope' or @name='cleared_prompts' or @name='startScopeAt' or @name='startBMItemAt' or starts-with(string(@name),'startDataItemAt_')]"/>
- <!-- Store the retrieved scope -->
- <xsl:if test="key('env-param','startScopeAt')">
- <xts:append select="/root/env">
- <param name="acquiredScope">
- <xsl:value-of select="/root/*[local-name()='promptRequest']/*[contains(local-name(),'Response')]/*[local-name()='metadataResponse']//*[string(@_path)=string(key('env-param','startScopeAt'))]/@_ref"/>
- </param>
- </xts:append>
- </xsl:if>
- <xsl:if test="key('env-param','startBMItemAt')">
- <xts:append select="/root/env">
- <param name="acquiredBookMarkItem">
- <xsl:value-of select="/root/*[local-name()='promptRequest']/*[contains(local-name(),'Response')]/*[local-name()='metadataResponse']//*[string(@_path)=string(key('env-param','startBMItemAt'))]/@_ref"/>
- </param>
- </xts:append>
- </xsl:if>
- <xsl:if test="/root/env/param[starts-with(string(@name),'startDataItemAt_')]">
- <xts:append select="/root/env">
- <xsl:for-each select="/root/env/param[starts-with(string(@name),'startDataItemAt_')]">
- <xsl:variable name="din" select="substring-after(@name,'startDataItemAt_')"/>
- <xsl:variable name="val" select="string(.)"/>
- <param name="acquiredDataItem:{$din}">
- <xsl:value-of select="/root/*[local-name()='promptRequest']/*[contains(local-name(),'Response')]/*[local-name()='metadataResponse']//*[string(@_path)=string($val)]/@_ref"/>
- </param>
- </xsl:for-each>
- </xts:append>
- <!-- <xsl:for-each select="">
- <xts:append select="/root/env">
- <param name="acquiredParameter">
- <xsl:value-of select="/root/*[local-name()='promptRequest']/*[contains(local-name(),'Response')]/*[local-name()='dtParameters']/*[local-name()='ResponseRoot']/*[1]/@_ref"/>
- </param>
- </xts:append>
- </xsl:for-each> -->
- </xsl:if>
- <!-- Clean up prompts before getting the target prompts -->
- <xts:delete select="/root/*[local-name()='promptRequest' or local-name()='view' or local-name()='callerAdminState']"/>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- execute-method - check for prompt processing (ambiguous connection / database login prompting).
- ===============================================================================================
- -->
- <xts:block id="execute-method" dependency="cleandrill execute-method-metadata check-state-metadata metadataInfo" processor="XSLT" condition=".[( not(/root/env/param[@name='execMethod']) or /root/env/param[@name='execMethod']='target' ) and (not(/root/env/param[@name='promptRequestTarget']) or /root/env/param[@name='promptRequestTarget'] = '') and ((/root/env/param[@name='m_p_target'] != '' or /root/*[local-name()='queryResponse']/*[local-name()='drillPath']/*[local-name()='target']/*/*[local-name()='searchPath']!='') and (not(root/env/param[@name='method']) or /root/env/param[@name='method' and (string(.)='forward' or string(.)='cancel' or string(.)='finish' or string(.)='wait' or string(.)='back' or string(.)='edit' or string(.)='')]) )]" type="exec" mandatory="false">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet version="1.0"
- xmlns:xts="http://developer.cognos.com/schemas/xts/"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:prompt="http://developer.cognos.com/schemas/xts/portal/iPrompting/1/"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/" exclude-result-prefixes="send prompt xsl xts">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/">
- <xts:sequence>
- <xsl:variable name="useTarget">
- <xsl:choose>
- <xsl:when test="string(/root/env/param[@name='m_p_target'])!=''">
- <xsl:value-of select="/root/env/param[@name='m_p_target']"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/root/*[local-name()='queryResponse']/*[local-name()='drillPath']/*[local-name()='target']/*[local-name()='report' or local-name()='query' or local-name()='analysis' or local-name()='reportView']/*[local-name()='searchPath']"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="useScope">
- <xsl:choose>
- <xsl:when test="string(/root/env/param[@name='m_p_scope'])!=''">
- <xsl:value-of select="/root/env/param[@name='m_p_scope']"/>
- </xsl:when>
- <xsl:when test="string(/root/env/param[@name='acquiredScope'])!=''">
- <xsl:value-of select="/root/env/param[@name='acquiredScope']"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/root/*[local-name()='queryResponse']/*/*[local-name()='scope']/*[local-name()='metadataModelItemName']"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="returnTo">
- <xsl:choose>
- <xsl:when test="string(/root/env/param[@name='ps_nav_stack'])!=''">
- <xsl:value-of select="/root/env/param[@name='ps_nav_stack']"/>
- </xsl:when>
- <xsl:otherwise>portal/properties_general.xts</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="returnOp">
- <xsl:choose>
- <xsl:when test="string(/root/env/param[@name='ps_nav_stack'])!=''">pop</xsl:when>
- <xsl:otherwise>maintain</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:if test="not(/root/env/param[@name='method'])">
- <xts:append select="/root/env">
- <param name="method">
- <xsl:value-of select="'edit'"/>
- </param>
- </xts:append>
- <!-- Due to having 2 prompting requests in one morphlet, required to store the current env outside the call to collect, so correct environment is restored -->
- <xts:delete select="/root/callerAdminState"/>
- <xts:append>
- <callerAdminState>
- <xts:function name="web64encode">
- <xts:param name="source">
- <xts:transform name="XMLEncode">
- <xsl:copy-of select="/root/env/param[@name != 'method' and @name != 'cleared_prompts' and @name != 'execMethod' and @name!='m_p_target' and @name!='m_p_scope']"/>
- <param name="cleared_prompts">false</param>
- <param name="execMethod">target</param>
- <param name="m_p_target"><xsl:value-of select="$useTarget"/></param>
- <param name="m_p_scope"><xsl:value-of select="$useScope"/></param>
- </xts:transform>
- </xts:param>
- <xts:param name="compress">true</xts:param>
- </xts:function>
- </callerAdminState>
- </xts:append>
- </xsl:if>
- <xsl:if test="not(/root/env/param[@name='m_p_target'])">
- <xts:append select="/root/env">
- <param name="m_p_target">
- <xsl:value-of select="$useTarget"/>
- </param>
- </xts:append>
- </xsl:if>
- <!-- get both targetClass and newTargetClass from the DOM
- @targetClass: the class (eg. report, analysis, query, package, powerPlay8Report ...) of object that is already defined as the target of the drill path
- @newTargetClass: the class of new selected target. This happens when user changes the target object using the this UI
- -->
- <xsl:variable name="targetClass">
- <xsl:value-of select="/root/*[local-name()='queryResponse']/*[local-name()='drillPath']/*[local-name()='target']/*/*[local-name()='objectClass']"/>
- </xsl:variable>
- <xsl:variable name="newTargetClass">
- <xsl:value-of select="/root/*[local-name()='target']/*[local-name()='queryResponse']/*/*[local-name()='objectClass']"/>
- </xsl:variable>
- <!-- This variable is ture if we want to call sendParameterRequert and it is false otherwise
- -->
- <xsl:variable name="sendParameterRequest">
- <xsl:choose>
- <!--false: when new target is selected that does not have parameter (Abacab Targets)-->
- <xsl:when test="$newTargetClass = 'powerPlay8Report' or $newTargetClass ='powerPlay8ReportView' or $newTargetClass = 'package'">false</xsl:when>
- <!--false: when new target has not been selected but the existing target does not have parameter (Abacab Targets) -->
- <xsl:when test="$newTargetClass = '' and $targetClass = 'powerPlay8Report' or $targetClass ='powerPlay8ReportView' or $targetClass = 'package'">false</xsl:when>
- <!--true: in other cases -->
- <xsl:otherwise>true</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:if test="$sendParameterRequest = 'true'">
- <!-- Required so that check-state will trigger -->
- <!-- Check-state should run if we send the parameter request-->
- <!-- We don't want to trigger check-state if we have abacab targets because we don't send the parameter request-->
- <xts:delete select="/root/env/param[@name='execMethod']"/>
- <xts:append select="/root/env">
- <param name="execMethod">target</param>
- </xts:append>
- <xsl:if test="(not(/root/env/param[@name='method'])
- and (/root/env/param[@name='m_p_target'] or /root/*[local-name()='queryResponse']/*[local-name()='drillPath']/*[local-name()='target']/*[local-name()='report' or local-name()='query' or local-name()='analysis' or local-name()='reportView']/*[local-name()='permissions' and (contains(string(.),'read') or contains(string(.),'execute'))]))
- or /root/env/param[@name='method']">
- <xts:append>
- <promptRequest>
- <send:request provider="xts" option="xml-multipart">
- <xsl:choose>
- <xsl:when test="not(/root/env/param[@name='method']) or /root/env/param[@name='method'] = 'edit' or /root/env/param[@name='method'] = ''">
- <prompt:collect>
- <getParametersRequest>true</getParametersRequest>
- <returnMorphlet><xsl:value-of select="$returnTo"/></returnMorphlet>
- <ps_nav_op><xsl:value-of select="$returnOp"/></ps_nav_op>
- <runAsync>true</runAsync>
- <promptObject><xsl:value-of select="$useTarget"/></promptObject>
- <showNoPromptsWarning>false</showNoPromptsWarning>
- <addToPromptingEnv>
- <param name="execMethod">target</param>
- <param name="m_p_target"><xsl:value-of select="$useTarget"/></param>
- <param name="m_p_scope"><xsl:value-of select="$useScope"/></param>
- </addToPromptingEnv>
- <routingServerGroup><xsl:value-of select="/root/env/param[@name='routingServerGroup']"/></routingServerGroup>
- <callerAdminState><xts:queryValue select="/root/callerAdminState"/></callerAdminState>
- </prompt:collect>
- </xsl:when>
- <xsl:otherwise>
- <xsl:element name="{/root/env/param[@name='method']}" namespace="http://developer.cognos.com/schemas/xts/portal/iPrompting/1/">
- <getParametersRequest>true</getParametersRequest>
- <returnMorphlet><xsl:value-of select="$returnTo"/></returnMorphlet>
- <addToPromptingEnv>
- <param name="execMethod">target</param>
- <param name="m_p_target"><xsl:value-of select="$useTarget"/></param>
- <param name="m_p_scope"><xsl:value-of select="$useScope"/></param>
- </addToPromptingEnv>
- <ps_nav_op><xsl:value-of select="$returnOp"/></ps_nav_op>
- <promptObject><xsl:value-of select="$useTarget"/></promptObject>
- <showNoPromptsWarning>false</showNoPromptsWarning>
- <callFinish>true</callFinish>
- </xsl:element>
- </xsl:otherwise>
- </xsl:choose>
- </send:request>
- </promptRequest>
- </xts:append>
- </xsl:if>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- check-state - check for prompt completion (ambiguous connection / database login prompting).
- ===============================================================================================
- -->
- <xts:block id="check-state" path="/portal/iPrompting/logicsheets/check-state.xslt" processor="XSLT" type="exec" dependency="getTabs getContent cleandrill execute-method execute-method-metadata check-state-metadata" condition=".[/root/env/param[@name='execMethod']='target' and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='')]" mandatory="false" nodelist="env,header,session,credential,cookies,output,promptRequest,callerAdminState">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- </xts:block>
- <!--
- ===============================================================================================
- targetInfo - Get the scope from the execute-method-metadata
- ===============================================================================================
- -->
- <xts:block id="targetInfo" dependency="execute-method check-state" processor="XSLT" type="exec" mandatory="false" condition=".[/root/*[local-name()='view']='properties' and /root/env/param[@name='execMethod']='target']" nodelist="env,header,queryResponse,promptRequest,view">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <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:xts="http://developer.cognos.com/schemas/xts/" exclude-result-prefixes="xsl send xts cm">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:template match="/">
- <xts:sequence>
- <!-- Clean up env before getting the target prompts -->
- <xts:delete select="/root/env/param[@name='method' or @name='execMethod']"/>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- decodeTargetPromptRequest - Get the target that was stored; no change of target
- ===============================================================================================
- -->
- <xts:block id="decodeTargetPromptRequest" dependency="execute-method check-state targetInfo" processor="XSLT" type="exec" mandatory="false" condition=".[/root/env/param[@name='promptRequestTarget'] and /root/env/param[@name='promptRequestTarget'] != '']" nodelist="env,header,queryResponse,promptRequest,view">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:xts="http://developer.cognos.com/schemas/xts/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="xsl xts xtsext">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:template match="/">
- <xts:sequence>
- <xts:append select="/root">
- <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap',string(/root/env/param[@name='promptRequestTarget'])), true())" disable-output-escaping="yes"/>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- formlogic_init - Handle all form information when prompting complete
- ===============================================================================================
- -->
- <xts:block id="formlogic_init" type="exec" mode="interpret" dependency="getTabs getContent cleandrill execute-method check-state decodeTargetPromptRequest" condition=".[/root/*[local-name()='view']='properties' or /root/env/param[@name='promptRequestTarget']!='']" processor="XSLT" path="/logicsheets/formlogic_init.xslt" nodelist="env,credential,system,http" mandatory="false"/>
- <!--
- ===============================================================================================
- getContentAfterPrompt - Get target information after prompt processing complete
- ===============================================================================================
- -->
- <xts:block id="getContentAfterPrompt" path="/portal/drillthru/common/request/get_target_content.xslt" processor="XSLT" dependency="formlogic_init getContent getTabs execute-method check-state" condition=".[(/root/*[local-name()='view']='properties' or /root/env/param[@name='promptRequestTarget']!='') and not(/root/*[local-name()='queryResponse']/*[local-name()='drillPath'])]" type="exec" mode="interpret" mandatory="false" nodelist="env,header">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- </xts:block>
- <!--
- ===============================================================================================
- addPosition - Add positioning to uniquely identify drill through parameters when adding parameter values
- ===============================================================================================
- -->
- <xts:block id="addPosition" type="exec" mode="interpret" dependency="execute-method check-state formlogic_init getContentAfterPrompt" processor="XSLT" condition=".[(/root/*[local-name()='view']='properties' or /root/env/param[@name='promptRequestTarget']!='')]" mandatory="false" nodelist="env,header,http,session,system,promptRequest">
- <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:xts="http://developer.cognos.com/schemas/xts/"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:pm="http://developer.cognos.com/schemas/xts/pm"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="xsl xtsext pf bus cm pm xts">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="root">
- <xsl:if test="not(/root/*[local-name()='promptRequest']/*/*[local-name()='parameters']/*[local-name()='item']/*[local-name()='position'])">
- <xts:sequence>
- <xts:replace select="/root/*[local-name()='promptRequest']">
- <xts:transform processor="XSLT" src="portal/drillthru/common/transforms/contentLogic.xslt" mimeType="text/xml">
- <xts:param name="logicsheet">logicsheets/portal.xsl</xts:param>
- <xts:param name="logicsheet">logicsheets/permissions.xsl</xts:param>
- <xts:param name="logicsheet">logicsheets/cm-logic.xsl</xts:param>
- <xts:param name="logicsheet">logicsheets/buslogic.xslt</xts:param>
- <root>
- <xts:queryNode select="/root/http | /root/session | /root/env | /root/system | root/*[local-name()='promptRequest'] "/>
- </root>
- </xts:transform>
- </xts:replace>
- </xts:sequence>
- </xsl:if>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- cleandrill2 - Set up the environment after prompt processing complete
- ===============================================================================================
- -->
- <xts:block id="cleandrill2" type="exec" mode="interpret" dependency="formlogic_init getContent getTabs execute-method check-state getContentAfterPrompt addPosition" processor="XSLT" path="/portal/drillthru/common/response/cleandrill.xslt" condition=".[(/root/*[local-name()='view']='properties' or /root/env/param[@name='promptRequestTarget']!='') and /root/env/param[@name='dp_path' or @name='selected_scope' or @name='selected_query' or @name='selected_path' or @name='selected_param' or @name='method' or @name='execMethod']]" mandatory="false" nodelist="env,header,promptRequest,target,view">
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- </xts:block>
- <!--
- ===============================================================================================
- format - Output the target properties page
- ===============================================================================================
- -->
- <xts:block id="format" mode="output" processor="XSLT" type="exec" condition=".[/root/*[local-name()='view']='properties' or /root/env/param[@name='promptRequestTarget']!='' or (not(/root/*[local-name()='view']) and (/root/*[local-name()='queryResponse']/*[local-name()='drillPath']/*[local-name()='target']/@nil or /root/*[local-name()='target']/*[local-name()='queryResponse']/*/*[local-name()='objectClass']= 'powerPlay8Report' or /root/*[local-name()='target']/*[local-name()='queryResponse']/*/*[local-name()='objectClass']= 'powerPlay8ReportView' or /root/*[local-name()='target']/*[local-name()='queryResponse']/*/*[local-name()='objectClass']= 'package'))]" mimeType="text/html" dependency="formlogic_init getContent getTabs execute-method check-state decodeTargetPromptRequest getContentAfterPrompt cleandrill cleandrill2 addPosition" mandatory="false">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="portal/drillthru/common/response/target.xslt"/>
- <xts:logicsheet path="logicsheets/permissions.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/main/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/confirm.xslt"/>
- <xts:logicsheet path="logicsheets/formlogic.xslt"/>
- <xts:logicsheet path="logicsheets/validation.xslt"/>
- <xts:logicsheet path="logicsheets/presentation/touch_up.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:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:pm="http://developer.cognos.com/schemas/xts/pm"
- xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
- xmlns:mf="http://developer.cognos.com/schemas/xts/logicsheets/presentation/main/mf"
- xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
- xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
- xmlns:dc="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/confirm/1/"
- xmlns:st="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/specializetabs/"
- xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
- xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
- xmlns:utml="http://developer.cognos.com/schemas/xts/logicsheet/xslt/formlogic/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:xtsdrillext="xalan://com.cognos.drill.ext.XTSExt"
- xmlns:xts="http://developer.cognos.com/schemas/xts/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:rdb="http://developer.cognos.com/schemas/xts/rdb" exclude-result-prefixes="xsl cm cml df dp pf pm bus dc utml xts xtsext mf lyt st cf cp rdb SOAP-ENV">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
- <xsl:variable name="mname" select="'properties_target.xts'"/>
- <pf:variables/>
- <!-- Required for popup menus -->
- <cp:flyoutControl/>
- <pm:permissions origin="/root/cm:queryResponse/*/"/>
- <!-- add target template utils -->
- <rdb:utils/>
- <mf:variables stateParams="m_listpagersection m_pagerfromlistpager m_pagertolistpager"/>
- <xsl:template match="/root">
- <xsl:text disable-output-escaping='yes'><!DOCTYPE html></xsl:text>
- <!--This style is used to solve the confilict problem between HAL and Flyout menu in Firefox -->
- <style>
- .flyOutMenu
- {
- -moz-box-sizing: content-box;
- }
- </style>
- <!-- Start of HAL resources and CDrillPath related files -->
- <script>
- /*
- This global variable is defined to specify if we are in the wizard page or in the properties page.
- This variable is used in target.xslt page (used by both wizard and properties page) to pass the right value
- to the select dialog page.
- */
- var inWizard = false;
- //HAL Options: are used to specify the path that HAL libraries are loaded from
- G_HALOptions = { "isApplication" : false, "path" : "<xsl:value-of select="$webRoot"/>/" };
- G_CCHLOptions = { "path" : "<xsl:value-of select="$webRoot"/>/" };
- </script>
- <!-- Libraries that are used by HAL to handle the SOAP request, error message, and CAF -->
- <script language="javascript" src="{$webRoot}/hal/hal.js"/>
- <script language="javascript" src="{$webRoot}/cchl/cchl.js"/>
- <link type="text/css" rel="stylesheet" href="{$skin_root}/hal/hal_skin.css"/>
- <link type="text/css" rel="stylesheet" href="{$skin_root}/hal/hal_portal_skin.css"/>
- <script src="{$webRoot}/camcrypto/base64.js"></script>
- <script src="{$webRoot}/camcrypto/camcryptoutil.js"></script>
- <script src="{$webRoot}/camcrypto/sha1.js"></script>
- <script src="{$webRoot}/camcrypto/authtoken1.js"></script>
- <script>
- var g_sGateway = '<xsl:value-of select="$gateway"/>';
- G_CCHL.M_sProductLocale ='<xsl:value-of select="$productLocale"/>';
- G_CCHL.M_sContentLocale ='<xsl:value-of select="$contentLocale"/>';
- G_CCHL.M_sGatewayURL ='<xsl:value-of select="$gateway"/>';
- G_HAL.F_Include("hal/C_WebRequest.js");
- G_HAL.F_Include("cchl/C_BusRequest.js");
- G_HAL.F_Include("hal/D_Progress.js");
- G_HAL.F_Include( "hal/C_Dialog.js" );
- G_HAL.F_Include( "cchl/dialogs/D_DetailedMsgBox.js" );
- G_HAL.F_Include( "hal/G_ResManager.js" );
- G_HAL.F_Include( "hal/C_Error.js" );
- G_HAL.F_EnableAccessibility(true);
- //TODO: Get this from the inputs and set it
- //G_BusServer.F_SetRouterServerGroup() ;
- </script>
- <script language="javascript" src="{$webRoot}/drill/CDrillPath.js"/>
- <!--End of HAL resources and CDrillPath related files -->
- <xsl:variable name="drillScope">
- <xsl:choose>
- <xsl:when test="/root/env/param[@name='m_p_scope']">
- <xsl:value-of select="/root/env/param[@name='m_p_scope']"/>
- </xsl:when>
- <xsl:when test="string(/root/env/param[@name='acquiredScope'])!=''">
- <xsl:value-of select="/root/env/param[@name='acquiredScope']"/>
- </xsl:when>
- <xsl:when test="string(/root/cm:queryResponse/*/cm:scope/@nil) = ''">
- <xsl:value-of select="/root/cm:queryResponse/*/cm:scope/cm:metadataModelItemName"/>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="drillTarget">
- <xsl:choose>
- <xsl:when test="/root/env/param[@name='m_p_target']">
- <xsl:value-of select="/root/env/param[@name='m_p_target']"/>
- </xsl:when>
- <xsl:when test="/root/target">
- <xsl:value-of select="/root/target/cm:queryResponse/*/cm:searchPath"/>
- </xsl:when>
- <!--Added here for abacab targets
- TODO: see if the above condition would satisfy this one as well-->
- <xsl:when test="not(/root/*[local-name()='queryResponse']/*[local-name()='drillPath']/*[local-name()='target']/*[local-name()='report' or local-name()='query' or local-name()='analysis' or local-name()='reportView'])">
- <xsl:value-of select="/root/*[local-name()='queryResponse']/*[local-name()='drillPath']/*[local-name()='deploymentReferences']/*[local-name()='deploymentReference']/*[local-name()='powerPlay8Report' or local-name()='powerPlay8ReportView' or local-name()='package']/*[local-name()='searchPath']"/>
- </xsl:when>
- <xsl:when test="string(/root/cm:queryResponse/*/cm:target/@nil)='' and not(/root/cm:queryResponse/*/cm:target/cm:nil) and string(/root/cm:queryResponse/*/cm:target/*/cm:objectClass)!='nil'">
- <xsl:value-of select="/root/cm:queryResponse/*/cm:target/*/cm:searchPath"/>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="hasTargetPermissions">
- <xsl:choose>
- <xsl:when test="string($drillTarget) = ''">
- <xsl:value-of select="false()"/>
- </xsl:when>
- <xsl:when test="/root/target">
- <xsl:value-of select="contains(string(/root/target/cm:queryResponse/*/cm:permissions),'read') or contains(string(/root/target/cm:queryResponse/*/cm:permissions),'execute')"/>
- </xsl:when>
- <xsl:when test="string(/root/cm:queryResponse/*/cm:target/@nil)='' and not(/root/cm:queryResponse/*/cm:target/cm:nil)">
- <xsl:value-of select="contains(string(/root/cm:queryResponse/*/cm:target/*/cm:permissions),'read') or contains(string(/root/cm:queryResponse/*/cm:target/*/cm:permissions),'execute')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="false()"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="promptRequestTgt">
- <xsl:choose>
- <xsl:when test="/root/*[local-name()='promptRequest']">
- <xsl:variable name="parameters-markup">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="/root/*[local-name()='promptRequest']"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:value-of select="xtsext:cafaction( concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($parameters-markup), true()))"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/root/env/param[@name='promptRequestTarget']"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="canModify" select="$canWrite or $canSetPolicy"/>
- <xsl:variable name="browserTitle">
- <xts:string id="IDS_PROPERTIES_TITLE">
- <xts:param name="objectName">
- <xsl:value-of select="xtsext:enforceBTD(key('env-param', 'm_name'), $baseTextDirection, $productLocale, boolean($isBidiEnabled='true'))"/>
- </xts:param>
- </xts:string>
- </xsl:variable>
- <dp:page longTitle="$browserTitle">
- <dp:meta>
- <pf:meta/>
- </dp:meta>
- <dp:script>
-
- <!-- Help system -->
- <pf:help context="HID_DRILL_THROUGH_ACTIONS"/>
-
- <xsl:if test="$canModify and (not(key('env-param','ps_nav_stack')) or key('env-param','ps_nav_stack') = '')">
- <script language="javascript">
- <!-- cwb - Cancel When Back - there are no stack pages. -->
- function cwb()
- {
- location.href = "<xsl:value-of select="xtsext:javascriptencode(string(/root/env/param[@name='backURL']))"/>";
- }
- </script>
- </xsl:if>
- <!--Include the required JS file for implementation of drop down menus -->
- <script language="javascript" src="{$webcontent}/{$app}/js/CCflyoutMenu.js"/>
- <rdb:scripts/>
- </dp:script>
- <utml:form name="pform" method="post" action="{$gateway}">
- <utml:exclusion-list><xsl:value-of select="' encodedRptSvcParam '"/></utml:exclusion-list>
- <utml:input type="hidden" name="ps_nav_op" value="" utml:update="false"/>
- <utml:input type="hidden" name="ifrmcmd" value="save" utml:update="false"/>
- <utml:input type="hidden" name="m_p_scope">
- <utml:value>
- <xsl:value-of select="$drillScope"/>
- </utml:value>
- </utml:input>
- <utml:input type="hidden" name="m_p_specification"/>
- <utml:input type="hidden" name="m_p_target">
- <utml:value>
- <xsl:value-of select="$drillTarget"/>
- </utml:value>
- </utml:input>
- <utml:input type="hidden" name="promptRequestTarget" utml:update="false">
- <utml:value>
- <xsl:value-of select="$promptRequestTgt"/>
- </utml:value>
- </utml:input>
- <utml:input type="hidden" name="encodedRptSvcParam">
- <utml:value>
- <xsl:value-of select="key('env-param','encodedRptSvcParam')"/>
- </utml:value>
- </utml:input>
- <rdb:commonInputs/>
- <dp:header useBackURL="not($canModify='true')">
- <dp:title>
- <xsl:value-of select="$browserTitle"/>
- </dp:title>
- </dp:header>
- <!-- property tabs -->
- <df:propertiesTabs select="target">
- <df:hasRead>
- <xsl:value-of select="$canRead"/>
- </df:hasRead>
- <df:hasSetPolicy>
- <xsl:value-of select="$canSetPolicy"/>
- </df:hasSetPolicy>
- </df:propertiesTabs>
- <dp:description>
- <xts:string id="WIZ_PROP_DRILLPATH_TARGET_INTRO"/>
- </dp:description>
-
- <!--Show the selected target-->
- <lyt:layout style="2">
- <lyt:section width="50%">
- <dp:list width="100%">
- <dp:section>
- <dp:label>
- <xts:string id="IDS_PROP_DRILLPATH_DEF_TARGET"/>
- </dp:label>
- </dp:section>
- <dp:section>
- <img height="3" width="1" src="{$webcontent}/images/space.gif"/>
- </dp:section>
- <xsl:choose>
- <xsl:when test="string($hasTargetPermissions)='false'">
- <dp:section>
- <dp:text nospace="nospace">
- <xts:string id="IDS_PROP_DRILLPATH_NOTARGET"/>
- </dp:text>
- </dp:section>
- </xsl:when>
- <xsl:when test="/root/target">
- <xsl:variable name="object-start-at-path">
- <xsl:choose>
- <!-- Do not provide a path for contact otherwise invalid path displayed for logged on user -->
- <xsl:when test="starts-with(/root/target/cm:queryResponse/*/cm:searchPath, '~') or starts-with(/root/target/cm:queryResponse/*/cm:searchPath,key('session-param', 'e_hp'))">
- <xsl:value-of select="concat(key('session-param', 'e_hp'), '/folder')"/>
- </xsl:when>
- <xsl:when test="starts-with(/root/target/cm:queryResponse/*/cm:target/*/cm:searchPath,'/content')">
- <xsl:value-of select="$defaultContentRoot"/>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
- <!--Get the target class to generate the target ICON -->
- <xsl:variable name="targetClassforICON">
- <xsl:choose>
- <xsl:when test="/root/target">
- <xsl:value-of select="string(/root/target/cm:queryResponse/*/cm:objectClass)"/>
- </xsl:when>
- <xsl:otherwise></xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="targetBaseClassforICON">
- <xsl:choose>
- <xsl:when test="/root/target">
- <xsl:value-of select="string(/root/target/cm:queryResponse/*/cm:base/*/cm:objectClass)"/>
- </xsl:when>
- <xsl:otherwise></xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <dp:section>
- <div>
- <table role="presentation"><tr><td>
- <xsl:call-template name="gen-icon">
- <xsl:with-param name="class" select="$targetClassforICON"/>
- <xsl:with-param name="baseClass" select="$targetBaseClassforICON"/>
- </xsl:call-template>
- </td><td valign="middle" class="tableText">
- <cf:do-the-path-link>
- <cf:param name="familytree">/root/target/cm:queryResponse/*/cm:ancestors</cf:param>
- <cf:param name="familymember">/root/target/cm:queryResponse/*/cm:defaultName</cf:param>
- <cf:param name="home">
- <xsl:value-of select="$object-start-at-path"/>
- </cf:param>
- </cf:do-the-path-link>
- </td></tr></table>
- </div>
- </dp:section>
- </xsl:when>
- <xsl:when test="string(/root/cm:queryResponse/*/cm:target/@nil)='' and not(/root/cm:queryResponse/*/cm:target/cm:nil)">
- <xsl:variable name="object-start-at-path">
- <xsl:choose>
- <!-- Do not provide a path for contact otherwise invalid path displayed for logged on user -->
- <xsl:when test="starts-with(/root/cm:queryResponse/*/cm:target/*/cm:searchPath, '~') or starts-with(/root/cm:queryResponse/*/cm:target/*/cm:searchPath,key('session-param', 'e_hp'))">
- <xsl:value-of select="concat(key('session-param', 'e_hp'), '/folder')"/>
- </xsl:when>
- <xsl:when test="starts-with(/root/cm:queryResponse/*/cm:target/*/cm:searchPath,'/content')">
- <xsl:value-of select="$defaultContentRoot"/>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
- <!--Get the target class to generate the target ICON -->
- <xsl:variable name="targetClassforICON">
- <xsl:choose>
- <xsl:when test="not(/root/cm:queryResponse/*/cm:target/cm:nil)">
- <xsl:value-of select="string(/root/cm:queryResponse/*/cm:target/*/cm:objectClass)"/>
- </xsl:when>
- <xsl:otherwise></xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="targetBaseClassforICON">
- <xsl:choose>
- <xsl:when test="not(/root/cm:queryResponse/*/cm:target/cm:nil)">
- <xsl:value-of select="string(/root/cm:queryResponse/*/cm:target/*/cm:base/*/cm:objectClass)"/>
- </xsl:when>
- <xsl:otherwise></xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <dp:section>
- <div>
- <table role="presentation"><tr><td>
- <xsl:call-template name="gen-icon">
- <xsl:with-param name="class" select="$targetClassforICON"/>
- <xsl:with-param name="baseClass" select="$targetBaseClassforICON"/>
- </xsl:call-template>
- </td><td valign="middle" class="tableText">
- <cf:do-the-path-link>
- <cf:param name="familytree">/root/cm:queryResponse/*/cm:target/*/cm:ancestors</cf:param>
- <cf:param name="familymember">/root/cm:queryResponse/*/cm:target/*/cm:defaultName</cf:param>
- <cf:param name="home">
- <xsl:value-of select="$object-start-at-path"/>
- </cf:param>
- </cf:do-the-path-link>
- </td></tr></table>
- </div>
- </dp:section>
- </xsl:when>
- <xsl:otherwise>
- <dp:section>
- <dp:text nospace="nospace">
- <xts:string id="IDS_PROP_DRILLPATH_TARGETNOTSPECIFIED"/>
- </dp:text>
- </dp:section>
- </xsl:otherwise>
- </xsl:choose>
- <dp:section>
- <img height="3" width="1" src="{$webcontent}/images/space.gif"/>
- </dp:section>
-
- <!-- Add dropdown menus to allow a user to select a target type
- Reports
- Cubes
- -->
- <!-- Unique ids are required to create multiple menus -->
- <!-- popup menu ids-->
- <xsl:variable name="menuId" select="concat('Menu', generate-id(.))"/>
- <xsl:variable name="menuSpanId" select="concat('MenuSpan', generate-id(.))"/>
- <!-- menu item ids -->
- <xsl:variable name="menuReportId" select="concat('Report', generate-id(.))"/>
- <xsl:variable name="menuCubeId" select="concat('Cube', generate-id(.))"/>
- <xsl:if test="$canModify='true'">
- <dp:section>
- <dp:link>
- <xsl:choose>
- <!-- This condition is used to show the drop down menu for picking the target type
- only when user can use PPS (PPS is installed) -->
- <xsl:when test="($userCanUsePPS)">
- <utml:a>
- <xsl:attribute name="onclick"><xsl:text>return CCPopupMenu.dropDown(event,0,0,'</xsl:text><xsl:value-of select="$menuId"/><xsl:text>');</xsl:text></xsl:attribute>
- <!-- utml:href>
- makeSelection('target')
-
- </utml:href -->
- <xsl:choose>
- <xsl:when test="string($hasTargetPermissions)='false'">
- <xts:string id="WIZ_PROP_DRILLPATH_SELECT_TARGET"/>
- </xsl:when>
- <xsl:otherwise>
- <xts:string id="WIZ_PROP_DRILLPATH_CHANGE_TARGET"/>
- </xsl:otherwise>
- </xsl:choose>
- </utml:a>
- <!-- Add a link to a target and dropdown arrow for a popup menu-->
- <!-- Define a menu with 2 items Run and debug-->
- <xsl:variable name="contactMenu">
- <flyout id="{$menuId}">
- <items>
- <item id="{$menuReportId}">
- <text>
- <xts:string id="WIZ_TARGET_TYPE_MENU_ITEM_REPORT"/>
- </text>
- <action>selectDrillTarget('drillPathPP8Targets');</action>
- </item>
- <item id="{$menuCubeId}">
- <text>
- <xts:string id="WIZ_TARGET_TYPE_MENU_ITEM_CUBE"/>
- </text>
- <action>selectDrillTarget('powerPlay8Drill.container');
- </action>
- </item>
- </items>
- </flyout>
- </xsl:variable>
- <!-- A dropdown arrow to invoke drill through assistant. It is only available when Abacan is installed
- -->
- <img align="middle" name="contactMenu_imgFlyControl" src="{$skin_shared_images}dropdown_arrow.gif" title="" alt="">
- <xsl:attribute name="onclick"><xsl:text>return CCPopupMenu.dropDown(event,0,0,'</xsl:text><xsl:value-of select="$menuId"/><xsl:text>');</xsl:text></xsl:attribute>
- </img>
- <!-- Display menus and add z-index to make sure it is on the top-->
- <div id="{$menuSpanId}" style="z-index:1; position: relative;">
- </div>
- <!--Call to create menus -->
- <xsl:call-template name="renderPopup">
- <xsl:with-param name="flyoutXML"><xsl:copy-of select="$contactMenu"/></xsl:with-param>
- <xsl:with-param name="controlID"><xsl:value-of select="$menuSpanId"/></xsl:with-param>
- </xsl:call-template>
- <!-- end dropdown -->
- </xsl:when>
- <!-- When PP8 is not installed we don't show the drop down menu to the user
- and do the same thing that we used to do -->
- <xsl:otherwise>
- <utml:a>
- <utml:href>
- setBookMarks();
- makeSelection('target');
- </utml:href>
- <xsl:choose>
- <xsl:when test="string($hasTargetPermissions)='false'">
- <xts:string id="WIZ_PROP_DRILLPATH_SELECT_TARGET"/>
- </xsl:when>
- <xsl:otherwise>
- <xts:string id="WIZ_PROP_DRILLPATH_CHANGE_TARGET"/>
- </xsl:otherwise>
- </xsl:choose>
- </utml:a>
- </xsl:otherwise>
- </xsl:choose>
- </dp:link>
- </dp:section>
- </xsl:if>
- </dp:list>
- </lyt:section>
- <lyt:section width="50%">
- <dp:list width="100%">
- <dp:section>
- <dp:label>
- <xts:string id="IDS_PROP_DRILLPATH_DEF_SCOPE"/>
- </dp:label>
- </dp:section>
- <dp:section>
- <dp:hint nospace="nospace" wrap="wrap" width="100%">
- <xts:string id="WIZ_PROP_DRILLPATH_DEF_SCOPE_HINT"/>
- </dp:hint>
- </dp:section>
- <dp:section>
- <img height="3" width="1" src="{$webcontent}/images/space.gif"/>
- </dp:section>
- <xsl:choose>
- <xsl:when test="$drillScope != '' and contains(string($drillScope),'].[')">
- <dp:section>
- <dp:text nospace="nospace">
- <xsl:value-of select="xtsdrillext:enforceSTTAndBTDForMUN($drillScope, $baseTextDirection, $productLocale, boolean($isBidiEnabled='true'))"/>
- </dp:text>
- </dp:section>
- </xsl:when>
- <xsl:otherwise>
- <dp:section>
- <dp:text nospace="nospace">
- <xts:string id="IDS_PROP_DRILLPATH_TREE_PKG"/>
- </dp:text>
- </dp:section>
- </xsl:otherwise>
- </xsl:choose>
- <dp:section>
- <img height="3" width="1" src="{$webcontent}/images/space.gif"/>
- </dp:section>
- <xsl:if test="$browser != 'safari' and $canModify='true' and $userCanSelectMetadata">
- <dp:section>
- <dp:link>
- <utml:a utml:op="stack-up">
- <utml:href>
- setBookMarks();
- makeSelection('scope');
- </utml:href>
- <xts:string id="IDS_PROP_DRILLPATH_SELECT_SCOPE"/>
- </utml:a>
- </dp:link>
- </dp:section>
- </xsl:if>
- </dp:list>
- </lyt:section>
- </lyt:layout>
-
- <lyt:layout style="1" title="IDS_PROP_DRILLPATH_TARGET_SETTINGS" border="yes">
- <lyt:section>
- <!-- Body -->
- <rdb:target origin="/root/cm:queryResponse/*" targetOrigin="/root/*[local-name()='promptRequest']/*/*[local-name()='parameters']/*" targetPermissions="$hasTargetPermissions" canModifyParams="$canModify"/>
- </lyt:section>
- </lyt:layout>
- <dp:footer>
- <script language="javascript">
- /*
- This function is used to call makeSelection with targetType and submit the page
- This is used by the items on the drop down menu that allows users pick the target type
- */
- function selectDrillTarget(targetType){
- document.pform.ps_nav_op.value = 'maintain';
- makeSelection('target','','',targetType)
- document.pform.submit();
- }
- function validate()
- {
- <xsl:choose>
- <xsl:when test="$canModify='true'">
- var frm = document.pform;
-
- <!--set the prompt run option in the drillpath -->
- <!-- There are following 3 options we can set for display prompt page:
- 1. Only when required parameter values are missing (missingReq)
- 2. Always (always)
- 3. Based on the default prompt settings of the target report (useTarget)-->
- // a gard to prevent error when m_prompt does not exist
- if (frm.m_prompt){
- if ( frm.m_prompt.value == 'always')
- frm.m_ro_prompt.value= 'true';
- else if (frm.m_prompt.value == 'missingReq')
- frm.m_ro_prompt.value = 'false';
- else <!-- if it is set to "useTarget', remove the prompt from drillpath -->
- frm.m_ro_prompt.value='';
- }
-
- <!--If the selected target is pp8, only set m_ro_drillTragetPath (runOption for promptFormat), otherwise, set both
- m_ro_drillTragetPath and m_p_target. -->
-
- if (frm.m_p_target)
- {
- frm.m_ro_drillTragetPath.value = frm.m_p_target.value;
- }
-
- if(frm.m_action)
- frm.m_p_action.value = frm.m_action.value;
-
- frm.m_dt_useEditSpecification.value ='false';
-
- if(frm.m_p_action.value!="viewOutput")
- {
- if ( frm.m_p_action.value == "editWPS" || frm.m_p_action.value == "editWPP8")
- frm.m_p_action.value = "edit";
- else if (frm.m_p_action.value == "runDyn")
- {
- frm.m_p_action.value = "run";
- frm.m_dt_useEditSpecification.value ='true';
- }
- setBookMarks();
- resetPageState();
- // update the drill specification
- updateDrillPath();
- return true;
- }
- if(checkForParams())
- {
- setBookMarks();
- resetPageState();
- // update the drill specification
- updateDrillPath();
- return true;
- }
- return false;
- </xsl:when>
- <xsl:otherwise>
- resetPageState();
- return true;
- </xsl:otherwise>
- </xsl:choose>
- }
- /**
- * calls G_DrillPath.updateDrillPath()
- * get the form object, sets cafContextID, and get the targetClass
- */
- function updateDrillPath(){
- var frm = document.pform;
- return G_DrillPath.F_updateDrillPath(frm,targetClass);
- }
- </script>
- <xsl:choose>
- <xsl:when test="$canModify='true'">
- <df:button df:id="IDS_OK" utml:validate="true" df:style="submit" df:nav_op="stack-down" df:kbA11y="true"/>
- <xsl:choose>
- <xsl:when test="key('env-param','ps_nav_stack') and not(key('env-param','ps_nav_stack') = '') ">
- <!-- The following is needed to get around some issues with formlogic_lite (needs more investigation) -->
- <df:button df:id="IDS_CANCEL" df:style="stack-down" onclick="javascript:resetPageState();"/>
- </xsl:when>
- <xsl:otherwise>
- <!-- The following is needed to get around some issues with formlogic_lite (needs more investigation) -->
- <df:button df:id="IDS_CANCEL" df:href="javascript:cwb()" df:style="href" onclick="javascript:resetPageState();"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <df:button df:id="IDS_CLOSE" df:style="back-url" onclick="javascript:resetPageState();"/>
- </xsl:otherwise>
- </xsl:choose>
- </dp:footer>
- <!--This is used by HAL to write the required HTML elements on the page-->
- <script>
- G_HAL.F_WriteHtml();
- </script>
- <!--Used for Debuging: enable this text area and the request is dumped into it-->
- <!--textarea id="requestDump" rows="30" cols="150"></textarea-->
- </utml:form>
- </dp:page>
- </xsl:template>
- <pf:gen-icon/>
- <pf:serialize-xml/>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- debug - display debug information
- ===============================================================================================
- -->
- <xts:block id="debug" dependency="format" condition=".[/root/session/param[@name='debug']='1']" type="exec" mode="output" processor="XSLT" mandatory="false" mimeType="text/html">
- <!-- 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"/>
- <xsl:template match="/">
- <dbg:dumpxml select="/root"/>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- </xts:morphlet>
|