12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: AGS
- (C) Copyright IBM Corp. 2005, 2019
- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- -->
- <xts:morphlet xmlns:xts="http://developer.cognos.com/schemas/xts/" messageBase="messages/AGS.xml,messages/portal.xml, messages/portalRL.xml" resolverBase="prompting" includeConfig="true" requiredCapability="canUseEventStudio">
- <!--
- ================================================================================
- decode the agent items (which contain the agentOptions)
- ===============================================================================================
- -->
- <xts:block id="decodeAgentDefinition" processor="XSLT" type="exec" condition=".[/root/*[local-name()='requestParams']/*[local-name()='param' and @name='requestState'] = 'markup' or /root/*[local-name()='requestParams']/*[local-name()='param' and @name='requestState'] = 'finished' ]" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.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:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="xsl xtsext xts">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/">
- <xts:sequence>
- <xsl:if test="/root/env/param[@name = 'agent_definition_blob']">
- <xts:append select="/root">
- <xsl:value-of select="xtsext:web64decode( xtsext:cafaction('sign_unwrap_settemplatename_decodeagentdefinition_settemplateid_addreport001', string( /root/env/param[@name = 'agent_definition_blob'])), true() )" disable-output-escaping="yes"/>
- </xts:append>
- </xsl:if>
- <!-- delete the override flag-->
- <!--xts:delete select="override_default_options"/-->
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- whip out the parameters that were saved off previously
- ===============================================================================================
- -->
- <xts:block id="decodeExistingParameters" path="/ags/parameters/decodeExistingParameters.xslt" processor="XSLT" type="exec" condition=".[/root/*[local-name()='requestParams']/*[local-name()='param' and @name='requestState'] = 'finished' ]" mandatory="false" dependency="decodeAgentDefinition">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- </xts:block>
- <!--
- ================================================================================
- decode the the model item parameters from the form fields and update the parameters block
- ===============================================================================================
- -->
- <xts:block id="mergeModelParameters" path="/ags/parameters/mergeModelParameters.xslt" processor="XSLT" type="exec" mode="interpret" dependency="decodeExistingParameters" condition=".[/root/*[local-name()='requestParams']/*[local-name()='param' and @name='requestState'] = 'finished'] " mandatory="false"/>
- <!--
- ================================================================================
- if We have just come back from a jaunt round the report server, update the agent task blob
- ===============================================================================================
- -->
- <xts:block id="createParametersBlob" path="/ags/parameters/createParametersBlob.xslt" dependency="mergeModelParameters" processor="XSLT" type="exec" condition=".[/root/*[local-name()='requestParams']/*[local-name()='param' and @name='requestState'] = 'finished'] " mandatory="false">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- </xts:block>
- <!--
- ===============================================================================================
- returnResult - We're done with the email options morphlet, so return the appropriate response
- ===============================================================================================
- -->
- <xts:block id="returnResult" path="/ags/tabResultTemplate.xslt" type="exec" dependency="createParametersBlob" processor="XSLT" condition=".[/root/*[local-name()='requestParams']/*[local-name()='param' and @name='requestState'] = 'finished']" mandatory="false">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- </xts:block>
- <!--
- ===============================================================================================
- Main content request
- ===============================================================================================
- -->
- <xts:block id="getContent" processor="XSLT" type="exec" dependency="returnResult" condition=".[/root/env/param[@name = 'selected_path']!='' and /root/*[local-name()='requestParams']/*[local-name()='param' and @name='requestState'] = 'markup'] " mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- <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: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:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <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>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm" requester="AGS:addReport">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:requests>
- <!-- Page definitions -->
- <cm:query>
- <cm:search>/configuration/pageDefinition</cm:search>
- <cm:properties>
- <cm:property name="displaySequence"/>
- <cm:property name="defaultName"/>
- <cm:property name="searchPath"/>
- </cm:properties>
- <cm:sortBy>
- <cm:sort name="displaySequence" order="descending"/>
- </cm:sortBy>
- </cm:query>
- <!-- Report/Query/Job/ information -->
- <cm:query>
- <cm:search>
- <xsl:value-of select="/root/env/param[@name='selected_path']"/>
- </cm:search>
- <cm:properties>
- <cm:property name="searchPath"/>
- <cm:property name="storeID"/>
- <cm:property name="defaultName"/>
- <cm:property name="executionFormat"/>
- <cm:property name="executionPageOrientation"/>
- <cm:property name="executionPageDefinition"/>
- <cm:property name="canBurst"/>
- <cm:property name="parent"/>
- <cm:property name="permissions"/>
- <cm:property name="ancestors"/>
- <cm:property name="metadataModelPackage"/>
- <cm:property name="metadataModel"/>
- </cm:properties>
- <cm:options>
- <cm:refProps>
- <!-- get metadataModelPackage of the base properties using refProps incase we have a report view -->
- <cm:refProp refPropName="base">
- <cm:properties>
- <cm:property name="metadataModelPackage"/>
- <cm:property name="canBurst"/>
- </cm:properties>
- </cm:refProp>
- <cm:refProp refPropName="metadataModelPackage">
- <cm:properties>
- <cm:property name="effectiveUserCapabilities"/>
- </cm:properties>
- </cm:refProp>
- </cm:refProps>
- </cm:options>
- </cm:query>
- <!-- Credential information -->
- <cm:query>
- <cm:search>~/credential</cm:search>
- <cm:properties>
- <cm:property name="searchPath"/>
- </cm:properties>
- </cm:query>
- <!-- Schedule information -->
- <cm:query>
- <cm:search>
- <xsl:value-of select="/root/env/param[@name='selected_path']"/>/schedule[permission("read")]</cm:search>
- <cm:properties>
- <cml:prop-schedule excludeStartDate="true"/>
- </cm:properties>
- </cm:query>
- <!-- need to get all the archiveLocations -->
- <cm:query>
- <cm:search>/configuration/archiveLocation</cm:search>
- <cm:properties>
- <cm:property name="searchPath"/>
- <cm:property name="defaultName"/>
- </cm:properties>
- <cm:sortBy>
- <cm:sort name="defaultName" order="ascending"/>
- </cm:sortBy>
- </cm:query>
- <xsl:if test="key('env-param','m_ro_saveAsPath')!='' and key('env-param','visited_save_as')='true'">
- <cm:query>
- <cm:search>
- <xsl:value-of select="key('env-param','m_ro_saveAsPath')"/>
- </cm:search>
- <cm:properties>
- <cm:property name="ancestors"/>
- <cm:property name="defaultName"/>
- </cm:properties>
- </cm:query>
- </xsl:if>
- </cm:requests>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- <xts:append>
- <!--set up the next block -->
- <routingServerGroup>
- <objectPath>
- <xts:transform name="XMLEncode">
- <xts:queryValue select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]//*[local-name()='metadataModelPackage']//*[local-name()='searchPath']"/>
- </xts:transform>
- </objectPath>
- <objectPath><xsl:value-of select="/root/env/param[@name = 'selected_path']"/></objectPath>
- </routingServerGroup>
- <model>
- <xts:transform name="XMLEncode">
- <xts:queryValue select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]//*[local-name()='metadataModel']//*[local-name()='searchPath']"/>
- </xts:transform>
- </model>
- </xts:append>
- <!-- have to create a couple of parameters so that options will work -->
- <xts:delete select="/root/env/param[@name='m_class']"/>
- <xts:delete select="/root/env/param[@name='m_name']"/>
- <xts:append select="/root/env">
- <param name="m_class">
- <xts:queryValue select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]/*/*[local-name()='objectClass']"/>
- </param>
- <param name="m_name">
- <xts:transform name="XMLEncode"><xts:queryValue select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]/*/*[local-name()='defaultName']"/></xts:transform>
- </param>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- If we have a report view we obtain the base report effectiveCapabilities.
- ===============================================================================================
- -->
- <xts:block id="getReportViewCapabilities" processor="XSLT" type="exec" dependency="getContent" condition=".[/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]/*[local-name()='reportView']/*[local-name()='base'] and /root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]/*[local-name()='reportView']/*[local-name()='base']/*[local-name()='report' or local-name()='interactiveReport']/*[local-name()='metadataModelPackage']/*[local-name()='package'] !='' and /root/env/param[@name = 'selected_path']!='' and /root/*[local-name()='requestParams']/*[local-name()='param' and @name='requestState'] = 'markup'] " mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- <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: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:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <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>
- <viewBaseCapabilities>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm" requester="AGS:addReport">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:requests>
- <!-- Report/Query/Job/ information -->
- <cm:query>
- <cm:search>
- <xsl:value-of select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]/*[local-name()='reportView']/*[local-name()='base']/*[local-name()='report' or local-name()='interactiveReport']/*[local-name()='metadataModelPackage']/*[local-name()='package']/*[local-name()='searchPath']"/>
- </cm:search>
- <cm:properties>
- <cm:property name="effectiveUserCapabilities"/>
- </cm:properties>
- <cm:options/>
- </cm:query>
- </cm:requests>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </viewBaseCapabilities>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- Create a set of default options if no options currently exist for a restricted user. ie; a user who has restricted outputs.
- ===============================================================================================
- -->
- <xts:block id="createDefaultOptions" dependency="getContent" type="exec" mode="interpret" processor="XSLT" condition=".[not(/root/env/param[@name = 'm_ro_outputLocale'])]" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <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:pf="http://developer.cognos.com/schemas/xts/pf"
- exclude-result-prefixes="xsl send cm xtsext pf">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:variables/>
- <xsl:template match="/">
- <xts:sequence>
- <xsl:variable name="allowPDF"><xsl:if test="not(/root/session/param[@name='capabilities']/canGeneratePDFOutput)">false</xsl:if></xsl:variable>
- <xsl:variable name="allowXML"><xsl:if test="not(/root/session/param[@name='capabilities']/canGenerateXMLOutput)">false</xsl:if></xsl:variable>
- <xsl:variable name="allowCSV"><xsl:if test="not(/root/session/param[@name='capabilities']/canGenerateCSVOutput)">false</xsl:if></xsl:variable>
- <xsl:variable name="allowXLS"><xsl:if test="not(/root/session/param[@name='capabilities']/canGenerateXLSOutput)">false</xsl:if></xsl:variable>
- <xsl:if test="($allowPDF='false' or $allowXML='false' or $allowCSV='false' or $allowXLS='false')">
- <xts:append select="/root/env">
- <!-- create default options -->
- <xts:transform src="transforms/portal/options/generateParams.xslt" processor="XSLT">
- <xts:param name="messageBase">/messages/portal.xml</xts:param>
- <root>
- <!--<xts:transform src="transforms/portal/options/buildOptions.xslt" processor="XSLT">
- <root>
- <xts:queryNode select="/root/extractedOptions/notEmailOptions/*"/>
- </root>
- </xts:transform>-->
- <deliverySection>true</deliverySection>
- <jobDefinition>false</jobDefinition>
- <defaultOptions>true</defaultOptions>
- <preferences>
- <xsl:copy-of select="/root/header/*[local-name() = 'biBusHeader']/*[local-name() = 'userPreferenceVars']/*"/>
- </preferences>
- <capabilities>
- <xsl:copy-of select="/root/session/param[@name='capabilities']/*"/>
- </capabilities>
- <serviceDefaults>
- <xsl:copy-of select="/root/configuration/property[@name='serviceDefaultOptions']/*/value"/>
- </serviceDefaults>
- <system>
- <param name="reportFormats">
- <xsl:copy-of select="/root/system/param[@name='reportFormats']/*"/>
- </param>
- </system>
-
- </root>
- </xts:transform>
- </xts:append>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
-
- <xts:block id="getRouting" dependency="getReportViewCapabilities" path="/ags/determineRouting.xslt" type="exec" mode="interpret" processor="XSLT" condition=".[/root/env/param[@name = 'selected_path']!='' and /root/*[local-name()='requestParams']/*[local-name()='param' and @name='requestState'] = 'markup']" mandatory="false"/>
- <!--
- ===========================================================================================================
- onAgentLoadCheckOverriddenState- check if the current run options are the default set of options and set override_default_run_options
- accordingly, this is used to set the override state when an agent has initally been loaded or a new report task is created (and the run options
- dialog has not been visited)
- Note we are looking for only two options... the m_ro_prompt and m_ro_saveOutput. These define acceptable defaults.
- Also check the agent defaults and set the override state for those too
- ===========================================================================================================
- -->
- <xts:block id="onAgentLoadCheckOverriddenState" dependency="getRouting" processor="XSLT" type="exec" condition=".[not(/root/env/param[@name='override_default_run_options']) and
- not(/root/env/param[@name='visited_run_options']) and /root/*[local-name()='requestParams']/*[local-name()='param' and @name='requestState'] = 'markup' and /root/env/param[@name='selected_path']]" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:x="x" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" 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:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="xts xtsext xsl x cm dt pf cf cp">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:variables/>
- <xsl:template match="/">
- <xsl:variable name="overridden">
- <xsl:for-each select="/root/env/param[starts-with(@name,'m_ro_')]">
- <xsl:choose>
- <!-- check for the presence only of m_ro_saveOutput and not its value, when an agent has been saved with default values m_ro_saveOutput is returned as false
- however when we create the default params we set it to 'true' -->
- <xsl:when test="(@name='m_ro_saveOutput' and ./text() = 'true') or (@name='m_ro_prompt' and ./text() = 'false') or (@name='m_ro_saveAsName' )">
- <xsl:text>d</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>o</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
- </xsl:variable>
- <xsl:variable name="state">
- <xsl:choose>
- <xsl:when test="contains($overridden,'o')">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>false</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- create the default run options and append to the environment -->
- <xts:sequence>
- <xts:append select="/root/env">
- <param name="override_default_run_options">
- <xsl:value-of select="$state"/>
- </param>
- <!-- this is needed to render the m_ro_saveOutput option as true, if this is not present then buildOptionItems.xslt will render the option as false-->
- <!--param name="save_how">report</param-->
- </xts:append>
- <xsl:if test="$state='true' or /root/agent_definition/agentOptions/form-vars/param[@name='override_default_options']='true'">
- <xts:append select="/root/env">
- <param name="agentLoaded">true</param>
- </xts:append>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===========================================================================================================
- createROParamsForAgentDefaults
- create the m_ro_* parameters for the agent defaults. Only create these when the agent defaults have been overridden and the report
- options have not
- ===========================================================================================================
- -->
- <xts:block id="createROParamsForAgentDefaults" dependency="createDefaultOptions onAgentLoadCheckOverriddenState" processor="XSLT" type="exec" condition=".[not(/root/env/param[@name='override_default_run_options']='true') and /root/agent_definition/agentOptions/form-vars/param[@name='override_default_options']='true' and /root/*[local-name()='requestParams']/*[local-name()='param' and @name='requestState'] = 'markup' and /root/env/param[@name='selected_path']]" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:x="x" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" 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:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="xts xtsext xsl x cm dt pf cf cp">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:variables/>
- <xsl:variable name="burstPackageCapability">
- <xsl:choose>
- <!-- We have a report so get the burst capability -->
- <xsl:when test="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]/*[local-name()='report']/*[local-name()='metadataModelPackage']/*[local-name()='package']/*[local-name()='effectiveUserCapabilities']/*[local-name()='userCapabilityEnum' and . = 'canUseBursting']">
- <xsl:text/>true<xsl:text/>
- </xsl:when>
- <!-- We have a reportView so get the burst capability -->
- <xsl:when test="/root/*[local-name()='viewBaseCapabilities']/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='package']/*[local-name()='effectiveUserCapabilities']/*[local-name()='userCapabilityEnum' and . = 'canUseBursting']">
- <xsl:text/>true<xsl:text/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text/>false<xsl:text/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:variable name="reportIsBurstable" select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]//*[local-name()='canBurst']='true' and $burstPackageCapability='true'"/>
- <xsl:variable name="burstOptionSet" select="/root/agent_definition/agentOptions/*[local-name()='options']/*[local-name()='value']/*[local-name()='item'][name='burst']/*[local-name()='value']='true'"/>
- <xsl:template match="/">
- <xts:sequence>
- <!-- remove stray m_ro_* parameters from the environment where they exist, particularly a problem
- if the user deselects the override check box and then ok's the report options dialog-->
- <xts:replace select="/root/env">
- <xts:transform src="ags/transforms/delete_run_options.xslt" processor="XSLT">
- <root>
- <xsl:copy-of select="/root/env"/>
- </root>
- </xts:transform>
- </xts:replace>
-
- <!-- when the agent defaults have been overridden and the report options have not then
- the m_ro_* options must be created. This ensures the UI summary string is rendered properly-->
- <xts:append select="/root/env">
- <xts:transform src="transforms/portal/options/generateParams.xslt" processor="XSLT">
- <xsl:element name="root">
- <!-- copy the run options that we have -->
- <xsl:copy-of select="/root/agent_definition/agentOptions/options"/>
- </xsl:element>
- </xts:transform>
- </xts:append>
-
- <!-- generate the summary strings for the email options-->
- <xsl:choose>
- <xsl:when test="/root/agent_definition/agentOptions/*[local-name()='UIHelpers']">
- <param name="emailSummary"><xsl:value-of select="/root/agent_definition/agentOptions/*[local-name()='UIHelpers']/*[local-name()='emailSummary']"/></param>
- <param name="emailRecipientsCount"><xsl:value-of select="/root/agent_definition/agentOptions/*[local-name()='UIHelpers']/*[local-name()='emailRecipientsCount']"/></param>
- <param name="emailDescription"><xsl:value-of select="/root/agent_definition/agentOptions/*[local-name()='UIHelpers']/*[local-name()='emailRecipients']"/></param>
- <param name="printerSummary"><xsl:value-of select="/root/agent_definition/agentOptions/*[local-name()='UIHelpers']/*[local-name()='printerSummary']"/></param>
- <param name="hasRecipients"><xsl:value-of select="/root/agent_definition/agentOptions/*[local-name()='UIHelpers']/*[local-name()='hasRecipients']"/></param>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="dt:generateUIHelpersFromOptions">
- <xsl:with-param name="queryReplyPath" select="/root/agent_definition/*[local-name()='agentOptions']"/>
- <xsl:with-param name="appendPath" select="'/root/env'"/>
- <xsl:with-param name="currentReply" select="'1'"/>
- <xsl:with-param name="genParams" select="true()"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- <!-- delete any reportOptions-->
- <xts:delete select="/root/env/param[@name='reportOptions']" mandatory="false"/>
- <!-- delete the burst option if the report does not support it-->
- <xsl:if test="not($reportIsBurstable='true') and $burstOptionSet">
- <xts:delete select="/root/env/param[@name='m_ro_burst']"/>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- <dt:generateUIHelpersFromOptions/>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- unpackReportOptions - there is a reportOptions blob in the environment and a report has been selected
- Expand the blob into /root/reportOptions, any changes made in the report options dialog will be added in the next block...
- ===============================================================================================
- -->
- <xts:block id="unpackReportOptions" processor="XSLT" dependency="createROParamsForAgentDefaults" type="exec" condition=".[/root/env/param[@name='selected_path'] and /root/*[local-name()='requestParams']/*[local-name()='param' and @name='requestState'] = 'markup' and /root/env/param[@name='reportOptions']]" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dlgctrl="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/controller-templates/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:req-params="http://developer.cognos.com/schemas/request/params" exclude-result-prefixes="xsl dlgctrl xtsext req-params">
- <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>
- <!-- decode the agent items -->
- <xts:append select="/root">
- <xsl:value-of select="xtsext:web64decode( xtsext:cafaction('sign_unwrap_settemplatename_unpackreportoptions_settemplateid_addreport001', string ( /root/env/param[@name = 'reportOptions'])), true() )" disable-output-escaping="yes"/>
- </xts:append>
- <!-- delete the blob-->
- <xts:delete select="/root/env/param[@name = 'reportOptions']"/>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- unpackDeliveryOptions- there is a deliveryOptions blob in the environment and this is an existing agent
- which has been loaded. Expand the blob into /root/deliveryOptions
- ===============================================================================================
- -->
- <xts:block id="unpackDeliveryOptions" processor="XSLT" dependency="unpackReportOptions" type="exec" condition=".[/root/env/param[@name='agentLoaded']='true' and /root/env/param[@name='deliveryOptions']]" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dlgctrl="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/controller-templates/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:req-params="http://developer.cognos.com/schemas/request/params" exclude-result-prefixes="xsl dlgctrl xtsext req-params">
- <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:if test="key('env-param','deliveryOptions') != ''">
- <deliveryOptions>
- <xsl:value-of select="xtsext:web64decode( xtsext:cafaction('sign_unwrap', string( key('env-param','deliveryOptions') )),true())" disable-output-escaping="yes"/>
- </deliveryOptions>
- </xsl:if>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- unpackMobileOptions- there is a mobileOptions blob in the environment and this is an existing agent
- which has been loaded. Expand the blob into /root/mobileOptions
- ===============================================================================================
- -->
- <xts:block id="unpackMobileOptions" processor="XSLT" dependency="unpackDeliveryOptions" type="exec" condition="" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dlgctrl="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/controller-templates/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:req-params="http://developer.cognos.com/schemas/request/params" exclude-result-prefixes="xsl dlgctrl xtsext req-params">
- <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:if test="key('env-param','mobileOptions') != ''">
- <mobileOptions>
- <xsl:value-of select="xtsext:web64decode( xtsext:cafaction('sign_unwrap', string( key('env-param','mobileOptions') )),true())" disable-output-escaping="yes"/>
- </mobileOptions>
- </xsl:if>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- generateDefaultMobileOptions - converts the list of mobile recipients from the report options found in the
- bus:mobileOptionSearchPathMultipleObjectArray into a format that the add_entries morphlet requires
- (a <selectedEntries> node). CM is queried to get the required information such as userName, class etc...
- ===============================================================================================
- -->
- <xts:block id="generateDefaultMobileOptions" processor="XSLT" type="exec" dependency="unpackMobileOptions" condition=".[/root/env/param[@name='agentLoaded']='true' and /root/env/param[@name='mobileOptions']]" mandatory="false">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- 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:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:set="http://exslt.org/sets"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:variables/>
- <xsl:template match="/">
-
- <!-- location of the report options -->
- <xsl:variable name="options" select="/root/*[local-name()='mobileOptions']/*[local-name()='options']"/>
-
- <xts:sequence>
- <xts:delete select="/root/selectedEntries"/>
- <xts:append select="/root">
- <xsl:variable name="unique-search-paths" select="set:distinct($options/*[local-name()='value']/*[local-name()='item'][@xsi:type='bus:mobileOptionSearchPathMultipleObjectArray']/*[local-name()='value']/*[local-name()='item'])"/>
- <selectedEntries>
- <!-- transform the CM result into the same structure that the add entries returns. -->
- <xsl:if test="count($unique-search-paths) > 0">
- <xts:transform src="portal/mobileOptions/transforms/gen-standard-list.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm" requester="AGS:addReport">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT" >
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/" xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/">
- <cm:requests>
- <xsl:for-each select="$unique-search-paths">
- <xsl:if test=". != ''">
- <cm:query>
- <cm:search>
- <xsl:value-of select="."/>
- </cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="searchPath"/>
- <cm:property name="userName"/>
- <cm:property name="objectClass"/>
- <cm:property name="ancestors"/>
- <cm:property name="hidden"/>
- </cm:properties>
- </cm:query>
- </xsl:if>
- </xsl:for-each>
- </cm:requests>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- <action>recipients</action>
- </root>
- </xts:transform>
- </xsl:if>
- </selectedEntries>
- </xts:append>
- </xts:sequence>
-
- </xsl:template>
- <dt:generateUIHelpersFromOptions/>
- <dt:hierarchicalParmValueItem/>
- <pf:serialize-xml/>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- prepareEmailSummaryVars
- Create a fake morphlet response based on the current delivery options when an existing agent has been loaded.
- This is used to create the email options UI summary strings which are created in the block called createEmailSummaryVars
- ===============================================================================================
- -->
- <xts:block id="prepareEmailSummaryVars" processor="XSLT" dependency="generateDefaultMobileOptions" type="exec" condition=".[/root/env/param[@name='agentLoaded']='true' and /root/deliveryOptions]" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dlgctrl="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/controller-templates/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:req-params="http://developer.cognos.com/schemas/request/params" exclude-result-prefixes="xsl dlgctrl xtsext req-params">
- <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">
- <morphletResponse>
- <xsl:copy-of select="/root/deliveryOptions/*[local-name()='options']"/>
- </morphletResponse>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- createEmailSummaryVars
- Create the UI summary strings and place them as parameters in /root/env. This only happens when an existing agent
- has been loaded and /root/deliveryOptions exist
- ===============================================================================================
- -->
- <xts:block id="createEmailSummaryVars" path="/portal/emailOptions/logicsheets/process_email_options.xslt" processor="XSLT" dependency="prepareEmailSummaryVars" type="exec" condition=".[/root/env/param[@name='agentLoaded']='true' and /root/deliveryOptions]" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- </xts:block>
- <!--
- ===============================================================================================
- prepareMobileSummaryVars
- Create a fake morphlet response based on the current delivery options when an existing agent has been loaded.
- This is used to create the email options UI summary strings which are created in the block called createEmailSummaryVars
- ===============================================================================================
- -->
- <xts:block id="prepareMobileSummaryVars" processor="XSLT" dependency="createEmailSummaryVars" type="exec" condition=".[/root/env/param[@name='agentLoaded']='true' and /root/mobileOptions]" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dlgctrl="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/controller-templates/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:req-params="http://developer.cognos.com/schemas/request/params" exclude-result-prefixes="xsl dlgctrl xtsext req-params">
- <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>
- <!-- remove the morphlet response already potentially there -->
- <xts:delete select="/root/morphletResponse"/>
- <!-- add the one for the mobile recipients -->
- <xts:append select="/root">
- <morphletResponse>
- <mobileOptions>
- <xsl:copy-of select="/root/mobileOptions/*[local-name()='options']/*"/>
- </mobileOptions>
- </morphletResponse>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- createMobileSummaryVars
- Create the UI summary strings and place them as parameters in /root/env. This only happens when an existing agent
- has been loaded and /root/deliveryOptions exist
- ===============================================================================================
- -->
- <xts:block id="createMobileSummaryVars" path="/portal/mobileOptions/logicsheets/process_mobile_entries.xslt" processor="XSLT" dependency="prepareMobileSummaryVars" type="exec" condition=".[/root/env/param[@name='agentLoaded']='true' and /root/mobileOptions]" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- </xts:block>
- <!--
- ===============================================================================================
- prepareSelectEntries
- The add_entries morphlet stores its results in a blob called selectEntries - have to recreate this if you want to see who
- is selected as a mobile recipients
- ===============================================================================================
- -->
- <xts:block id="prepareSelectEntries" processor="XSLT" dependency="createMobileSummaryVars" type="exec" condition=".[/root/env/param[@name='agentLoaded']='true' and /root/mobileOptions]" mandatory="false">
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <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:pf="http://developer.cognos.com/schemas/xts/pf"
- exclude-result-prefixes="xts xtsext xsl send cm pf">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:variables/>
- <xsl:variable name="mobileRecipients" select="/root/*[local-name()='morphletResponse']/*[local-name()='mobileOptions']/*[local-name()='value']/*[local-name()='item' and ./*[local-name()='name' and (.='to' or .='cc' or .='bcc')]]/*[local-name()='value']/*[local-name()='item']"/>
- <xsl:variable name="mobileRecipientCount" select="count($mobileRecipients)"/>
- <!-- make the selectedEntries blob -->
- <xsl:template match="/">
- <xsl:if test="$mobileRecipientCount>0">
- <xts:sequence>
- <xts:append select="/root/env">
- <xts:transform src="portal/controls/create_web64_param.xslt" processor="XSLT">
- <param name="selectedEntries">
- <passport>
- <xsl:value-of select="$passport"/>
- </passport>
- <markup>
- <xts:transform name="XMLEncode">
- <xts:transform src="ags/transforms/updateSelectedEntries.xslt" processor="XSLT">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm" requester="AGS:addReport">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:requests>
- <!-- get info on all the mobile recipients -->
- <xsl:for-each select="$mobileRecipients">
- <cm:query>
- <cm:search>
- <xsl:value-of select="."/>
- </cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="hidden"/>
- <cm:property name="searchPath"/>
- <cm:property name="permissions"/>
- <cm:property name="position"/>
- <cm:property name="searchPathForURL"/>
- <cm:property name="storeID"/>
- <cm:property name="ancestors"/>
- <cm:property name="hasChildren"/>
- <cm:property name="base"/>
- <cm:property name="userName"/>
- </cm:properties>
- </cm:query>
- </xsl:for-each>
- </cm:requests>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:transform>
- </xts:transform>
- </markup>
- </param>
- </xts:transform>
- </xts:append>
- </xts:sequence>
- </xsl:if>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- prepareReportOptionsFromAgentOptions
- Copy the agent default report options into the report task report options
- ===============================================================================================
- -->
- <xts:block id="prepareReportOptionsFromAgentOptions" dependency="prepareSelectEntries" type="exec" mode="interpret" processor="XSLT" mandatory="false" condition=".[/root/env/param[@name='selected_path'] and
- /root/*[local-name()='requestParams']/*[local-name()='param' and @name='requestState'] = 'markup'
- and not(/root/env/param[@name='override_default_run_options']='true') and /root/agent_definition/agentOptions/form-vars/param[@name='override_default_options']='true']">
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- exclude-result-prefixes="xts xtsext xsl">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:variable name="burstPackageCapability">
- <xsl:choose>
- <!-- We have a report so get the burst capability -->
- <xsl:when test="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]/*[local-name()='report']/*[local-name()='metadataModelPackage']/*[local-name()='package']/*[local-name()='effectiveUserCapabilities']/*[local-name()='userCapabilityEnum' and . = 'canUseBursting']">
- <xsl:text/>true<xsl:text/>
- </xsl:when>
- <!-- We have a reportView so get the burst capability -->
- <xsl:when test="/root/*[local-name()='viewBaseCapabilities']/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='package']/*[local-name()='effectiveUserCapabilities']/*[local-name()='userCapabilityEnum' and . = 'canUseBursting']">
- <xsl:text/>true<xsl:text/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text/>false<xsl:text/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="reportIsBurstable" select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]//*[local-name()='canBurst']='true' and $burstPackageCapability='true'"/>
- <!-- the agent default burst option is set-->
- <xsl:variable name="burstOptionSet" select="/root/agent_definition/agentOptions/*[local-name()='options']/*[local-name()='value']/*[local-name()='item'][name='burst']/*[local-name()='value']='true'"/>
- <xsl:template match="/">
- <xts:sequence>
- <xts:append>
- <tempOptions>
- <xsl:copy-of select="/root/agent_definition/agentOptions/options"/>
- </tempOptions>
- </xts:append>
- <!-- remove the burst option if the report does not support it or the package the report is based on does not support it.
- This ensures that the reports options summary is correctly displayed in the report task page.
- Rules
- |+++++++++++++++++ |+++++++++++++++++ |+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
- |report is burstable? | agent burst option? | example summary string |
- | y | y | ...Print the report in PDF format, Send the report and a link to the report by email, Burst the reports |
- | n | y | ...Print the report in PDF format, Send the report and a link to the report by email: 3 recipients |
- | n | n | ...Print the report in PDF format, Send the report and a link to the report by email: 3 recipients |
- | y | n | ...Print the report in PDF format, Send the report and a link to the report by email: 3 recipients |
- |+++++++++++++++++ |+++++++++++++++++ |++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
- -->
- <xsl:if test="not($reportIsBurstable='true') and $burstOptionSet">
- <xts:delete select="/root/tempOptions/*[local-name()='options']/*[local-name()='value']/*[local-name()='item'][name='burst']"/>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- generateUIHelpersForAgentDefaults
- When the agent defaults have been set but the report options have NOT been overridden we must ensure the summary
- strings are available so that the ui displays the agent defaults instead of 'Default'. This ensures that the user has an indication
- that the agent options have been overridden
- ===============================================================================================
- -->
- <xts:block id="generateUIHelpersForAgentDefaults" dependency="prepareReportOptionsFromAgentOptions" type="exec" mode="interpret" processor="XSLT" mandatory="false" condition=".[/root/env/param[@name='selected_path'] and
- /root/*[local-name()='requestParams']/*[local-name()='param' and @name='requestState'] = 'markup'
- and not(/root/env/param[@name='override_default_run_options']='true') and /root/agent_definition/agentOptions/form-vars/param[@name='override_default_options']='true']">
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:x="x" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" 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:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exclude-result-prefixes="xts xtsext xsl x cm dt pf cf cp">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:variables/>
- <xsl:template match="/">
- <xsl:variable name="agentRunOptions" select="/root/env/param[@name=starts-with(@name,'m_ao_')]"/>
- <xts:sequence>
- <xts:update select="/root/reportOptions">
- <reportOptions>
- <xsl:copy-of select="/root/tempOptions/*[local-name()='options']"/>
- <xsl:choose>
- <xsl:when test="not(/root/agent_definition/agentOptions/UIHelpers)">
- <dt:buildUIHelper/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:copy-of select="/root/agent_definition/agentOptions/UIHelpers"/>
- </xsl:otherwise>
- </xsl:choose>
- </reportOptions>
- </xts:update>
- <!-- the helpers have been created-->
- <xts:append select="/root/env">
- <param name="helpersCreated">true</param>
- </xts:append>
- <!-- delete the temporary report options-->
- <xts:delete select="/root/tempOptions"/>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- updateReportOptions
- update the reportOptions structure using the m_ro_* variables present in /root/env/param.
- The report options dialog has been visited and changes potentially made or an existing agent has been loaded.
- ===============================================================================================
- -->
- <xts:block id="updateReportOptions" dependency="generateUIHelpersForAgentDefaults" type="exec" mode="interpret" processor="XSLT" mandatory="false" condition=".[(/root/env/param[@name='selected_path'] and /root/*[local-name()='requestParams']/*[local-name()='param' and @name='requestState'] = 'markup' and /root/env/param[@name = 'visited_run_options'] = 'true' and /root/env/param[@name = 'userHitOK']) or /root/env/param[@name='agentLoaded']='true' or /root/env/param[@name='helpersCreated']='true']">
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:x="x" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" 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:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exclude-result-prefixes="xts xtsext xsl x cm dt pf cf cp xsi">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:variables/>
- <xsl:template match="/">
- <xsl:variable name="agentRunOptions" select="/root/env/param[@name=starts-with(@name,'m_ao_')]"/>
- <xts:sequence>
- <!-- remove any options from the env that aren't suppose to be there (i.e. dependent on checkboxes that aren't checked -->
- <xts:replace select="/root/env">
- <xts:transform src="transforms/portal/options/cleanEnv.xslt" processor="XSLT">
- <root>
- <xsl:copy-of select="/root/env"/>
- </root>
- </xts:transform>
- </xts:replace>
- <!-- only create the blob when the override parameter is present-->
- <xsl:if test="/root/env/param[@name='override_default_run_options']='true'">
- <!-- remove the old reportOptions-->
- <xts:delete select="/root/reportOptions/*[local-name()='options' or local-name()='UIHelpers' or local-name()='parameters']"/>
- <!-- force the m_ro_saveOutput value to true when save as report view has been selected this
- needs to be set because when the agent is loaded generateParams.xslt does not automatically
- generate m_ro_saveOutput-->
- <xsl:if test="/root/env/param[@name='save_how']='new_entry'">
- <xts:replace select="/root/env/param[@name='m_ro_saveOutput']">
- <param name="m_ro_saveOutput">true</param>
- </xts:replace>
- </xsl:if>
- <xts:update select="/root/reportOptions">
- <reportOptions>
- <xsl:choose>
- <xsl:otherwise>
- <xts:transform src="transforms/portal/options/buildOptions.xslt" processor="XSLT">
- <root>
- <!-- add any agent specific options that start with m_ao_, this should probably be placed in options.xml too-->
- <xsl:for-each select="$agentRunOptions">
- <xsl:variable name="agentOptionName" select="substring-after(@name, 'm_ao_')"/>
- <xsl:if test="@name='m_ao_availableAsEmailAttachment'">
- <item xsi:type="cm:agentOptionBoolean">
- <name xsi:type="cm:agentOptionEnum">
- <xsl:value-of select="$agentOptionName"/>
- </name>
- <value xsi:type="xsd:boolean">
- <xsl:value-of select="."/>
- </value>
- </item>
- </xsl:if>
- </xsl:for-each>
- <xts:transform src="transforms/portal/options/buildOptionItems.xslt" processor="XSLT">
- <root>
- <xts:queryNode select="/root/env"/>
- <xts:transform name="XML" src="portal/options.xml"/>
- <contentLocale>
- <xsl:value-of select="$contentLocale"/>
- </contentLocale>
- <xsl:if test="key('env-param','deliveryOptions') != ''">
- <deliveryOptions>
- <xsl:value-of select="xtsext:web64decode( xtsext:cafaction('sign_unwrap', string( key('env-param','deliveryOptions') )),true())" disable-output-escaping="yes"/>
- </deliveryOptions>
- </xsl:if>
- <xsl:if test="key('env-param','mobileOptions') != ''">
- <mobileOptions>
- <xsl:value-of select="xtsext:web64decode( xtsext:cafaction('sign_unwrap', string( key('env-param','mobileOptions') )),true())" disable-output-escaping="yes"/>
- </mobileOptions>
- </xsl:if>
- <xsl:choose>
- <xsl:when test="contains(' powerPlay8Report powerPlay8ReportView ', concat(' ', key('env-param', 'm_class'),' '))">
- <optionType>powerPlay8Options</optionType>
- </xsl:when>
- <xsl:otherwise>
- <optionType>runOptions</optionType>
- </xsl:otherwise>
- </xsl:choose>
- <optionType>pdfOptions</optionType>
- <optionType>archiveOptions</optionType>
- <genDefaults>false</genDefaults>
- </root>
- </xts:transform>
-
-
-
-
- </root>
-
- </xts:transform>
- <xsl:if test="key('env-param','override_default_run_options')='true'">
- <!-- update the UIHelper markup-->
- <dt:buildUIHelper/>
- </xsl:if>
-
- <!-- <xts:transform src="transforms/portal/options/buildOptionItems.xslt" processor="XSLT">
- <root>
- <xts:queryNode select="/root/env"/>
- <xts:transform name="XML" src="portal/options.xml"/>
- <contentLocale>
- <xsl:value-of select="$contentLocale"/>
- </contentLocale>
-
- <xsl:if test="key('env-param','mobileOptions') != ''">
- <mobileOptions>
- <xsl:value-of select="xtsext:web64decode( xtsext:cafaction('sign_unwrap', string( key('env-param','mobileOptions') )),true())" disable-output-escaping="yes"/>
- </mobileOptions>
- </xsl:if>
-
- </root>
- </xts:transform> -->
-
- </xsl:otherwise>
- </xsl:choose>
- </reportOptions>
- </xts:update>
- </xsl:if>
- <!-- remove the options from the environment now that the reportOptions has been created -->
- <xts:replace select="/root/env">
- <xts:transform src="ags/transforms/delete_run_options.xslt" processor="XSLT">
- <root>
- <xsl:copy-of select="/root/env"/>
- </root>
- </xts:transform>
- </xts:replace>
- <xts:delete select="/root/env/param[@name='helpersCreated']" mandatory="false"/>
- </xts:sequence>
-
- <xts:sequence>
- <xts:append select="/root">
- <selectedEntries>
- <xsl:value-of select="xtsext:web64decode( xtsext:cafaction('sign_unwrap_settemplatename_getreportoptions_settemplateid_reportrunoptions001', string( /root/env/param[@name = 'selectedEntries'])), true() )" disable-output-escaping="yes"/>
- </selectedEntries>
- </xts:append>
- </xts:sequence>
-
-
-
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- encodeReportOptions
- Serialize the report options only when we have /root/reportOptions and a report has been selected and the report options
- have been overridden
- ===============================================================================================
- -->
- <xts:block id="encodeReportOptions" dependency="updateReportOptions" type="exec" mode="interpret" processor="XSLT" condition=".[/root/env/param[@name='selected_path'] and /root/*[local-name()='requestParams']/*[local-name()='param' and @name='requestState'] = 'markup' and /root/reportOptions and /root/env/param[@name='override_default_run_options']='true']" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <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:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="xsl xts pf cm dt xtsext">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:variables/>
- <pf:serialize-xml/>
- <xsl:template match="/">
- <xts:sequence>
- <xsl:variable name="markup">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="/root/reportOptions"/>
- </xsl:call-template>
- </xsl:variable>
- <xts:append select="/root/env">
- <param name="reportOptions">
- <xsl:value-of select="xtsext:cafaction( concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($markup ),true()))"/>
- </param>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- build taskParameters - convert m_parameters which is returned from powerplay prompting and turn it into taskParameters
- ===============================================================================================
- -->
- <xts:block id="buildMRPParameters" processor="XSLT" dependency="encodeReportOptions" type="exec" condition=".[/root/env/param[@name='m_parameter']!='' ]" mandatory="false">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- exclude-result-prefixes="xsl pf xtsext xsi SOAP-ENC">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:variables/>
- <xsl:template match="/">
- <xts:sequence>
- <!-- get the parameters returned from powerPlayService and append to root - have to be in this format to build the parameter description-->
- <xsl:if test="key('env-param','m_parameter')!=''">
- <xts:append select="/root">
- <!-- this section is needed to generate the description of the parameters-->
- <ppParams>
- <parameters>
- <xts:transform src="transforms/portal/parameters/post-WARP-process.xslt" processor="XSLT">
- <xts:transform name="XMLDecode">
- <xsl:value-of select="string(key('env-param','m_parameter'))"/>
- </xts:transform>
- </xts:transform>
- </parameters>
- </ppParams>
- </xts:append>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- buildTaskParameters2 - build the taskParameters variable
- ===============================================================================================
- -->
- <xts:block id="buildMRPParameters2" processor="XSLT" dependency="buildMRPParameters" type="exec" condition=".[/root/ppParams]" mandatory="false">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- exclude-result-prefixes="xsl pf xtsext xsi SOAP-ENC">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/">
- <xts:sequence>
- <!-- build the taskParameters variable -->
- <xsl:variable name="markup">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="/root/ppParams/parameters"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:if test="$markup!=''">
- <xts:delete select="/root/env/param[@name='m_rp_parameters']"/>
- <xts:append select="/root/env">
- <param name="m_rp_parameters">
- <xsl:value-of select="xtsext:web64encode(string($markup),true())"/>
- </param>
- </xts:append>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- <pf:serialize-xml/>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ================================================================================
- encode the agent items again
- ================================================================================
- -->
- <xts:block id="buildContext" dependency="buildMRPParameters2" processor="XSLT" type="exec" condition=".[/root/*[local-name()='requestParams']/*[local-name()]='param' and @name='requestState'] = 'markup'" mandatory="false">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:xts="http://developer.cognos.com/schemas/xts/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="xsl pf cm xts xtsext">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:serialize-xml/>
- <pf:variables/>
- <xsl:template match="/">
- <xts:sequence>
- <xsl:variable name="markup">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set">
- <xsl:call-template name="buildContext"/>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
- <xts:append select="/root/env">
- <param name="context">
- <xsl:value-of select="xtsext:cafaction( concat('sign_wrap_setpassportid_', $passport, '_settemplatename_encodeagentdefinition_settemplateid_dialogadapter003'), xtsext:web64encode( string( $markup ), true()))"/>
- </param>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- <!-- build the context -->
- <xsl:template name="buildContext">
- <context>
- <env>
- <!-- taskParameters is what stores the current values of the parameters/assignments -->
- <!-- only pass taskParameters into the context if the report is the same as it was last time -
- we don't want parameters which are defined on reportA being used on reportB -->
- <xsl:if test="not(/root/env/param[@name='m_obj']) or (/root/env/param[@name='m_obj'] = /root/env/param[@name='selected_path'])">
- <xsl:copy-of select="/root/env/param[@name='taskParameters']"/>
- </xsl:if>
- <!-- the actual path to the report - which is needed in the call to getParameters -->
- <xsl:copy-of select="/root/env/param[@name='selected_path']"/>
- <!-- the m_rp_parameters which is the end result of the prompt pages -->
- <xsl:copy-of select="/root/env/param[@name='m_rp_parameters']"/>
- <!-- the pv_ items - which is all the settings for parameters in the UI/drop down/input box -->
- <xsl:copy-of select="/root/env/param[starts-with(@name, 'pv_')]"/>
- <!-- have to tell the parameter code what sort of object we're dealing with for powerplay -->
- <param name="objectClass"><xsl:value-of select="/root/env/param[@name='m_class']"/></param>
- </env>
- </context>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- genMarkup -
- ===============================================================================================
- -->
- <xts:block id="genMarkup" type="exec" processor="XSLT" dependency="buildContext" condition=".[/root/*[local-name()='requestParams']/*[local-name()='param' and @name='requestState'] = 'markup' or /root/*[local-name()='morphletResponse']]" mandatory="false">
- <!-- logicsheets -->
- <xts:logicsheet path="ags/logicsheets/promptValues.xslt"/>
- <xts:logicsheet path="ags/logicsheets/run_options.xslt"/>
- <xts:logicsheet path="ags/logicsheets/dialogs.xsl"/>
- <!-- portal specific information -->
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <!-- Dialog specific logicsheets -->
- <xts:logicsheet path="logicsheets/presentation/dialog/ui-templates.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
- <!-- Generic logicsheets -->
- <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
- <!-- apply the form logic -->
- <xts:logicsheet path="logicsheets/formlogic.xslt"/>
- <!-- Prevent the href from appearing in the status bar. -->
- <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:out="http://www.w3.org/1999/XSL/Transform" xmlns:agspmt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/ags/promptValues/" xmlns:agsdlg="http://developer.cognos.com/schemas/xts/logicsheets/xslt/ags/dialog/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:req-params="http://developer.cognos.com/schemas/request/params" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/" 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: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:xos="http://developer.cognos.com/schemas/xts/output/" xmlns:utml="http://developer.cognos.com/schemas/xts/logicsheet/xslt/formlogic/" xmlns:ut="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/ui-templates/" xmlns:agsro="http://developer.cognos.com/schemas/xts/agsro" exclude-result-prefixes="xsl out agspmt agsdlg xsi cm pf xtsext lyt dp df cf cp xos utml ut agsro">
- <xsl:output method="xml" encoding="utf-8" indent="no"/>
- <xsl:key name="request-param" match="/root/*[local-name()='requestParams']/*[local-name()='param']" use="@name"/>
- <pf:variables/>
- <xsl:variable name="ags_image_root">../ags/images/summary/</xsl:variable>
- <xsl:variable name="has_execute_permission" select="contains(concat(' ', /root/cm:queryResponse/cm:queryReply[2]//cm:permissions, ' '), ' execute ')"/>
- <xsl:variable name="permissions" select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]//*[local-name() ='permissions']"/>
- <xsl:variable name="objectClass" select="/root/env/param[@name='m_class']"/>
-
- <xsl:variable name="spacer">
- <img height="10" width="10">
- <xsl:attribute name="src">
- <xsl:value-of select="$webcontent"/>/images/space.gif</xsl:attribute>
- </img>
- </xsl:variable>
- <!-- declared a variable to determine if a report has been selected, used for validation purposes-->
- <xsl:variable name="hasReport">
- <xsl:choose>
- <xsl:when test="key('env-param','selected_path') != '' and /root/cm:queryResponse/cm:queryReply[2]//cm:defaultName">
- <xsl:text>true</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>false</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- determine which dialog to show when the set... options link is clicked-->
- <xsl:variable name="morphletTarget">
- <xsl:choose>
- <!-- report options have not been set, note that even if the default agent options have been overridden this dialogue
- should still be shown, because the overridden options are the new defaults -->
- <xsl:when test="contains($objectClass, 'powerPlay8report')">
- <xsl:value-of select="$gateway"/>
- </xsl:when>
- <xsl:when test="not(key('env-param','override_default_run_options')) or key('env-param','override_default_run_options')='false'">
- <xsl:text>/ags/report_options_popup.xts</xsl:text>
- </xsl:when>
- <!-- report run options have been overridden-->
- <xsl:otherwise>
- <xsl:text>/ags/report_run_options.xts</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="allowPDF"><xsl:if test="not(/root/session/param[@name='capabilities']/canGeneratePDFOutput)">false</xsl:if></xsl:variable>
- <xsl:variable name="allowXML"><xsl:if test="not(/root/session/param[@name='capabilities']/canGenerateXMLOutput)">false</xsl:if></xsl:variable>
- <xsl:variable name="allowCSV"><xsl:if test="not(/root/session/param[@name='capabilities']/canGenerateCSVOutput)">false</xsl:if></xsl:variable>
- <xsl:variable name="allowXLS"><xsl:if test="not(/root/session/param[@name='capabilities']/canGenerateXLSOutput)">false</xsl:if></xsl:variable>
- <xsl:variable name="restrictedUser" select="$allowPDF='false' or $allowXML='false' or $allowCSV='false' or $allowXLS='false'"/>
-
- <xsl:template match="/">
- <xts:sequence>
- <xts:append select="/root/output">
- <xos:part>
- <xos:entityHeader>
- <xos:param name="Content-Type">text/xml; charset=utf-8</xos:param>
- </xos:entityHeader>
- <xos:entityBody>
- <xsl:element name="{key('request-param','resultNode')}" namespace="">
- <markup>
- <xts:transform name="XMLEncode">
- <utml:form name="pform">
- <utml:exclude-prefix>
- <xsl:value-of select="'pv_'"/>
- </utml:exclude-prefix>
- <!-- exclusion list should remove certain items but definately those which are passed in context to the async call -->
- <utml:exclusion-list>
- <xsl:value-of select="' m_obj method cleared_prompts pageitem context m_rp_parameters has_prompts updatedTaskParameters '"/>
- </utml:exclusion-list>
- <agsdlg:header>
- <dp:image>
- <img alt="" border="0">
- <xsl:attribute name="src">
- <xsl:value-of select="$ags_image_root"/>icon_report_24.gif</xsl:attribute>
- </img>
- </dp:image>
- <dp:title>
- <xts:string id="DIALOG_REPORT_TITLE"/>
- </dp:title>
- <dp:description>
- <xts:string id="DIALOG_REPORT_DESCRIPTION"/>
- </dp:description>
- </agsdlg:header>
- <!-- need this to be included by default -->
- <script type="text/javascript" src="../ags/dragDropHandler.js"/>
- <utml:input type="hidden" id="taskParameters" name="taskParameters" />
- <utml:input type="hidden" id="report_visited" name="report_visited" value="true"/>
- <utml:input type="hidden" id="controller_state" name="controller_state"/>
- <utml:input type="hidden" id="taskName" name="taskName" utml:update="false">
- <utml:value>
- <xsl:choose>
- <xsl:when test="$hasReport and /root/cm:queryResponse/cm:queryReply[2]//cm:defaultName != '' ">
- <xsl:value-of select="/root/cm:queryResponse/cm:queryReply[2]//cm:defaultName"/>
- </xsl:when>
- <xsl:when test="key('env-param', 'taskName') and string-length(string(key('env-param', 'taskName'))) > 0">
- <xsl:value-of select="key('env-param', 'taskName')"/>
- </xsl:when>
- </xsl:choose>
- </utml:value>
- </utml:input>
- <utml:input type="hidden" id="ui.routingServerGroup" name="ui.routingServerGroup" utml:update="false">
- <utml:value>
- <xsl:value-of select="/root/routingServerGroup/*[local-name() = 'result'][last()]"/>
- </utml:value>
- </utml:input>
- <utml:input type="hidden" id="model" name="model" utml:update="false">
- <utml:value>
- <xsl:value-of select="/root/model"/>
- </utml:value>
- </utml:input>
- <lyt:layout style="2">
- <lyt:section>
- <dp:textarea section3_align="left">
- <!-- the report name label-->
- <dp:section1>
- <xts:string id="DIALOG_REPORT_LABEL"/>
- </dp:section1>
- <!-- the report name input-->
- <dp:section2>
- <!-- get the name of the report -->
- <xsl:choose>
- <xsl:when test="$hasReport and /root/cm:queryResponse/cm:queryReply[2]//cm:defaultName != '' " >
- <xsl:value-of select="/root/cm:queryResponse/cm:queryReply[2]//cm:defaultName"/>
- </xsl:when>
- <xsl:otherwise>
- <xts:string id="DIALOG_MESSAGE_NONE"/>
- </xsl:otherwise>
- </xsl:choose>
- </dp:section2>
- <dp:section3>
- <a href="#" onclick="doSelectObject('reports.es', '{xtsext:javascriptencode(/root/env/param[@name = 'selected_path'])}')">
- <xts:string id="SELECT_A_REPORT"/>
- </a>
- </dp:section3>
- </dp:textarea>
- </lyt:section>
- <lyt:section>
- <xsl:value-of select="key('request-param','suppressionDetails')" disable-output-escaping="yes"/>
- </lyt:section>
- </lyt:layout>
- <lyt:layout style="1">
- <lyt:section>
- <dp:list title="DIALOG_RUN_OPTIONS">
- <dp:section>
- <dp:text nospace="true" wrap="true">
- <xsl:attribute name="id">reportOptionSummaryContents</xsl:attribute>
- <xsl:choose>
- <xsl:when test="key('env-param','override_default_run_options')='true' or /root/agent_definition/agentOptions/form-vars/param[@name='override_default_options']='true'">
- <xsl:variable name="ro" select="/root/reportOptions/*[local-name()='options']/*[local-name()='value']/*[local-name()='item']"/>
- <xsl:choose>
- <xsl:when test="/root/reportOptions">
- <xsl:call-template name="ut:buildRunOptionSummary">
- <xsl:with-param name="summaryPath" select="/root/reportOptions/*[local-name()='UIHelpers']"/>
- <xsl:with-param name="outputFormat" select="$ro[./*[local-name()='name']='outputFormat']/*[local-name()='value']/*"/>
- <xsl:with-param name="outputLocale" select="$ro[./*[local-name()='name']='outputLocale']/*[local-name()='value']/*"/>
- <xsl:with-param name="archive" select="$ro[./*[local-name()='name']='archive']/*[local-name()='value'] = 'true'"/>
- <xsl:with-param name="saveAsReportView" select="$ro[./*[local-name()='name']='saveAs' and ./*[local-name()='objectClass']='reportView']"/>
- <xsl:with-param name="save" select="$ro[./*[local-name()='name']='saveOutput']/*[local-name()='value'] = 'true'"/>
- <xsl:with-param name="saveAsName" select="$ro[./*[local-name()='name']='saveAs' and ./*[local-name()='objectClass']='reportView']/*[local-name()='objectName']/*[local-name()='item']/*[local-name()='value']"/>
- <xsl:with-param name="print" select="$ro[./*[local-name()='name']='print']/*[local-name()='value'] = 'true'"/>
- <xsl:with-param name="email" select="$ro[./*[local-name()='name']='email']/*[local-name()='value'] = 'true'"/>
- <xsl:with-param name="mobile" select="$ro[./*[local-name()='name']='mobile']/*[local-name()='value'] = 'true'"/>
- <xsl:with-param name="burst" select="$ro[./*[local-name()='name']='burst']/*[local-name()='value'] = 'true'"/>
- <xsl:with-param name="contentTaskOption" select="$ro[./*[local-name()='name']='repairSecurityReferences']/*[local-name()='value']"/>
- <xsl:with-param name="deploymentUpgradeOption" select="$ro[./*[local-name()='name']='upgradeClasses']"/>
- <xsl:with-param name="jobDefinition" select="false()"/>
- <xsl:with-param name="contentTask" select="true()"/>
- <xsl:with-param name="deployment" select="true()"/>
- <xsl:with-param name="detailed" select="false()"/>
- </xsl:call-template>
- <!-- Check if this report can be attached to email tasks-->
- <xsl:if test="$ro[./*[local-name()='name']='availableAsEmailAttachment']">
- <br/>
- <xsl:text><xts:string id="IDS_OTHERRUN_ENABLE_ATTACHMENTS"/></xsl:text>
- </xsl:if>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xts:string id="IDS_OTHERRUN_DEFAULT"/>
- </xsl:otherwise>
- </xsl:choose>
- </dp:text>
- </dp:section>
- <dp:section>
- <xsl:choose>
- <!-- Set...-->
- <xsl:when test="not(key('env-param','override_default_run_options')) or key('env-param','override_default_run_options')='false'">
- <a href="#" onclick="openOptionsDialog('{$morphletTarget}');">
- <xts:string id="DIALOG_SET_RUN_OPTIONS"/>
- </a>
- </xsl:when>
- <!-- Edit... Clear-->
- <xsl:otherwise>
- <a href="#" onclick="openOptionsDialog('{$morphletTarget}');">
- <xts:string id="DIALOG_EDIT_RUN_OPTIONS"/>
- </a>
- <xsl:if test="not($restrictedUser)">
- <xsl:copy-of select="$spacer"/>
- <a href="#" onclick="javascript:clearOptions();">
- <xts:string id="DIALOG_CLEAR_RUN_OPTIONS"/>
- </a>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </dp:section>
- </dp:list>
- </lyt:section>
- </lyt:layout>
- <xsl:if test="$hasReport = 'true'">
- <lyt:layout style="1">
- <lyt:section width="100%">
- <dp:list title="DIALOG_PROMPT_OPTIONS" width="100%">
- <dp:section>
- <dp:hint wrap="wrap">
- <xts:string id="DIALOG_PROMPT_DESCRIPTION"/>
- </dp:hint>
- </dp:section>
- <dp:section>
- <div id="promptValuesDiv"/>
- </dp:section>
- </dp:list>
- </lyt:section>
- </lyt:layout>
- </xsl:if>
- <dp:emptyFooter/>
- <script type="text/javascript">
- var original_target = null;
- function init() {
- <xsl:if test="/root/env/param[@name='selected_path']">
- parent.getConfigFrame().cfgSet("so.defaultLocation", "<xsl:value-of select="xtsext:javascriptencode(/root/env/param[@name='selected_path'])"/>/..");
- </xsl:if>
- <xsl:if test="not(/root/env/param[@name='report_visited'])">
- <xsl:if test="not(/root/env/param[@name='selected_path'])">
- doSelectObject('reports.es')
- </xsl:if>
- </xsl:if>
- <xsl:if test="$hasReport = 'true' and /root/cm:queryResponse/cm:queryReply[2]//cm:defaultName != '' ">
- loadParameters();
- </xsl:if>
- //let the listener know that this is a promptable report task
- var taskId = "<xsl:value-of select="xtsext:javascriptencode(/root/req-params:requestParams/req-params:param[@name='tabSelectedID'])"/>";
- var reportName = "<xsl:value-of select="xtsext:javascriptencode(/root/cm:queryResponse/cm:queryReply[2]//cm:defaultName)"/>";
- var reportPath = "storeID(\'<xsl:value-of select="xtsext:javascriptencode(/root/cm:queryResponse/cm:queryReply[2]//cm:storeID)"/>\')";
- parent.getConfigFrame().getAgentItemsListener().setReportTask(taskId, reportName, reportPath);
- }
- function loadParameters() {
- var promptDiv = document.getElementById('promptValuesDiv');
- if (promptDiv) {
- var imgHTML = '<img src="' + '<xsl:value-of select="xtsext:javascriptencode(string($skin_root))"/>' + '/prompting/images/loading_timed.gif"/>';
- // SEC_INFO: loading_string values retrieved from AGS_language.xml messages file from the server
- promptDiv.innerHTML = imgHTML + parent.htmlEncode(parent.getConfigFrame().loading_string);
- }
- var taskId = "<xsl:value-of select="xtsext:javascriptencode(/root/req-params:requestParams/req-params:param[@name='tabSelectedID'])"/>";
- var obj = "<xsl:value-of select="xtsext:javascriptencode(/root/env/param[@name='selected_path'])"/>";
- var context = "<xsl:value-of select="xtsext:javascriptencode(/root/env/param[@name='context'])"/>";
- var reportType = "<xsl:value-of select="xtsext:javascriptencode($objectClass)"/>";
- var request = parent.getConfigFrame().getGetParameterRequestString(obj, context, obj+taskId, reportType);
-
- <xsl:if test="not(contains($permissions, 'execute') and contains($permissions, 'read')) or $objectClass='powerPlay8Report' or $objectClass='powerPlay8ReportView'">
- request += "&doSkip=true";
- </xsl:if>
- // do the request
- parent.getConfigFrame().startGetParametersRequest(request, parent.getConfigFrame().getGetParameterRequestString);
- }
-
- /*
- * validate the report page and popup an appropriate alert message
- */
- function validate() {
- var isValid = true;
- <xsl:choose>
- <xsl:when test="not($hasReport = 'true')">
- isValid = false;
- <xsl:variable name="no_report"><xts:string id='DIALOG_REPORT_NO_REPORT_NAME'/></xsl:variable>
- alert('<xsl:value-of select="xtsext:javascriptencode(string($no_report))"/>');
- </xsl:when>
- <xsl:otherwise>
- /* it could be prompted report! check to see if the prompts are still loading.
- * if so then don't allow to edit the default options yet.
- */
- var promptDiv = document.getElementById('promptValuesDiv');
- if (promptDiv != 'undefined' && promptDiv.innerHTML.indexOf('loading_timed.gif') != -1) {
- isValid = false;
- <xsl:variable name="loading_prompts"><xts:string id='DIALOG_REPORT_LOADING_PROMPTS'/></xsl:variable>
- alert('<xsl:value-of select="xtsext:javascriptencode(string($loading_prompts))"/>');
- }
- </xsl:otherwise>
- </xsl:choose>
- return isValid && validatePromptPage();
- }
- /*
- * Open the options dialog. Two dialogs are available depending on whether the user chooses
- * to override the default options for the report task
- * target The path to the morphlet to be executed
- */
- function openOptionsDialog(target) {
-
- if (validate()) {
- setup_popup();
- doSubmit(target,'stack-up');
- remove_popup();
- }
- }
-
- function clearOptions() {
- document.pform.override_default_run_options.value='false';
- document.pform.submit();
- }
-
- function setup_popup()
- {
- // save the target
- original_target = document.pform.target;
- document.pform.target = "popUpFrame";
- }
-
- function remove_popup()
- {
- document.pform.target = original_target;
- }
-
- function doSubmit(location,op)
- {
- document.pform.m.value = location;
- document.pform.ps_nav_op.value = op;
- // submit the form
- document.pform.submit();
- }
-
- </script>
- <!-- build the scripts needed for prompting -->
- <xsl:call-template name="promptValuesScript"/>
- </utml:form>
- </xts:transform>
- </markup>
- </xsl:element>
- </xos:entityBody>
- </xos:part>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- <agspmt:promptValuesScript/>
- <ut:buildRunOptionSummary/>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- debug - special debug block for nested requests
- ===============================================================================================
- -->
- <xts:block id="debug" type="exec" processor="XSLT" mimeType="text/html" dependency="genMarkup" condition=".[/root/session/param[@name='debug']='1']" mandatory="false">
- <!-- 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>
|