1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: ps
- (C) Copyright IBM Corp. 2005, 2016
- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- -->
- <!--
- Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
- Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
- -->
- <xts:morphlet xmlns:xts="http://developer.cognos.com/schemas/xts/" messageBase="messages/portal.xml, messages/portalRL.xml" resolverBase="prompting" includeConfig="true" requiredCapability="canUseScheduling">
-
- <!-- ======================================================== -->
- <!-- Session Management -->
- <!-- ======================================================== -->
- <!-- Reads session-sensitive info from CM -->
- <xts:block processor="XSLT" type="exec" mandatory="false"
- id="refreshSession"
- path="portal/cc/read_session.xml"
- condition=".[
- string(/root/cookies/cookie[@name = 'cc_session']) = ''
- or /root/env/param[@name='m_reload']
- or /root/env/param[@name='m_root'] ]">
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- </xts:block>
- <!-- Update the <session> element for this request. -->
- <xts:block id="buildSession" path="portal/session.xml" dependency="refreshSession" processor="XSLT" type="exec"
- condition=".[
- /root/newSession
- or /root/env/param[@name='ui']
- or /root/env/param[@name='d']
- or /root/env/param[starts-with(@name,'m_s_')]
- or /root/env/param[@name = 'resetSort'] ]"
- mandatory="false"/>
- <!-- Save changes to the state info in a cookie -->
- <xts:block mode="interpret" processor="XSLT" type="exec"
- id="setSession"
- path="portal/set_session.xml"
- dependency="buildSession getContent"
- condition=".[/root/updateSession]"
- mandatory="false"/>
-
- <!--
- ===============================================================================================
- formlogic_init
- ===============================================================================================
- -->
- <xts:block id="formlogic_init" type="exec" mode="interpret" processor="XSLT" path="/logicsheets/formlogic_init.xslt" nodelist="env,credential,system,http"/>
- <!--
- ===============================================================================================
- checkParam - change m_name, m_class, m_obj when dealing with shortcut.
- ===============================================================================================
- -->
- <xts:block id="checkParam" path="/portal/ref2target.xml" dependency="formlogic_init buildSession" type="exec" mode="interpret" processor="XSLT" condition=".[/root/env/param[starts-with(@name,'sc_target')]!='']" mandatory="false"/>
- <!--
- ===============================================================================================
- restore_state - have been called from powerPlayService so we have to restore the state and extract the new prompt parameters
- ===============================================================================================
- -->
- <xts:block id="restore_state" processor="XSLT" dependency="checkParam" type="exec" condition=".[ /root/env/param[@name='opaque'] or /root/env/param[@name='ccstate']]" 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:variable name="passport" select="/root/credential/param[@name='CAM']/*[local-name() ='CAM']/*[local-name() = 'CAMPassport']/*[local-name() = 'id']"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
-
- <xsl:template match="/">
- <xts:sequence>
- <!-- get the parameters returned from powerPlayService and append to root -->
- <xsl:if test="key('env-param','m_parameter')!=''">
- <xts:append select="/root">
- <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>
- <view>properties</view>
- </xts:append>
- </xsl:if>
-
- <!-- save the value of this environment variable while we restore the <env> node -->
- <xsl:variable name="saved_parameters" select="key('env-param','m_parameter')"/>
-
- <!-- restore the saved state -->
- <xts:replace select="/root/env">
- <env>
- <xts:transform name="XMLDecode">
- <xsl:choose>
- <!-- ccstate is returned from powerPlay when the user presses Cancel so unpack the state that is returned from ccstate -->
- <xsl:when test="/root/env/param[@name='ccstate']">
- <xsl:value-of select="xtsext:web64decode(string(xtsext:cafaction('sign_unwrap', string( key('env-param','ccstate')))), true())"/>
- </xsl:when>
- <!-- opaque is returned from powerPlay when the user presses OK. -->
- <xsl:otherwise>
- <xsl:value-of select="xtsext:web64decode(string(xtsext:cafaction('sign_unwrap', string( key('env-param','opaque')))), true())"/>
- </xsl:otherwise>
- </xsl:choose>
- </xts:transform>
- </env>
- </xts:replace>
-
- <!-- restore the environment variable that was saved prior to restoring the <env> node -->
- <xts:delete select="/root/env/param[@name='m_parameter']"/>
- <xts:append select="/root/env">
- <param name="m_parameter">
- <xsl:value-of select="$saved_parameters"/>
- </param>
- </xts:append>
-
- <!-- clear some environment parameters from the restored state -->
- <xts:delete select="/root/env/param[@name='controller_state']"/>
- <xts:delete select="/root/env/param[@name='parameterDescription']"/> <!-- force generation of new parameter description -->
- <xts:delete select="/root/env/param[@name='cleared_prompts']"/>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- callMorphlet - Calls the appropriate morphlet using the passed in params which will return
- markup to be displayed or the expected results
- ===============================================================================================
- -->
- <xts:block id="callMorphlet" processor="XSLT" dependency="restore_state" type="exec" condition=".[ starts-with(/root/env/param[@name='controller_state'],'mobile') or starts-with(/root/env/param[@name='controller_state'],'email')]" 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>
- <xsl:choose>
- <!-- call email options morphlet for email options -->
- <xsl:when test="starts-with(/root/env/param[@name='controller_state'],'email')">
- <dlgctrl:XTS2Request>
- <dlgctrl:target>/portal/emailOptions/email_options.xts</dlgctrl:target>
- <dlgctrl:stackName>email_options</dlgctrl:stackName>
- <req-params:param name="options"><xsl:value-of select="key('env-param','deliveryOptions')"/></req-params:param>
- <req-params:param name="titlePrefix"><xts:string id="IDS_EMAIL_OPTIONS_TITLE_PREFIX"/></req-params:param>
- <req-params:param name="titlePostfix"><xsl:value-of select="key('env-param','m_name')"/></req-params:param>
- <req-params:param name="defaultTarget">/portal/schedule/report.xts</req-params:param>
- <req-params:param name="burst"><xsl:value-of select="key('env-param','m_ro_burst')"/></req-params:param>
- <req-params:param name="usePowerPlay8Options"><xsl:value-of select="contains(' powerPlay8Report powerPlay8ReportView ', concat(' ', key('env-param', 'm_class'),' '))"/></req-params:param>
- </dlgctrl:XTS2Request>
- </xsl:when>
- <!-- call add entries morphlet for mobile recipients -->
- <xsl:otherwise>
- <dlgctrl:XTS2Request>
- <dlgctrl:target>/portal/addEntries/add_entries.xts</dlgctrl:target>
- <dlgctrl:stackName>other_run_options_advanced</dlgctrl:stackName>
- <req-params:param name="defaultTarget"><xsl:value-of select="key('env-param','m')"/></req-params:param>
- <req-params:param name="titlePostfix"><xsl:value-of select="key('env-param','m_name')"/></req-params:param>
- <req-params:param name="defaultSearchPath">/directory</req-params:param>
- <req-params:param name="showUsers">true</req-params:param>
- <req-params:param name="withCC">false</req-params:param>
- <req-params:param name="addEntriesUI"><xsl:value-of select="'recipients'"/></req-params:param>
- <req-params:param name="allowDuplicates">false</req-params:param>
- <req-params:param name="returnProperties">
- <req-params:property name="userName"/>
- </req-params:param>
- </dlgctrl:XTS2Request>
- </xsl:otherwise>
- </xsl:choose>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- save_state - saves the current state to be passed to the powerPlayService
- ===============================================================================================
- -->
- <xts:block id="save_state" processor="XSLT" dependency="restore_state" type="exec" condition=".[starts-with(/root/env/param[@name='controller_state'],'prompt')]" 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">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:variable name="passport" select="/root/credential/param[@name='CAM']/*[local-name() ='CAM']/*[local-name() = 'CAMPassport']/*[local-name() = 'id']"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
-
- <xsl:template match="/">
- <xts:sequence>
- <!-- save current paramaters -->
- <xsl:if test="key('env-param','m_rp_parameters')!=''">
- <xts:append select="/root/env">
- <param name="m_parameter">
- <xts:transform name="XMLEncode">
- <xts:transform src="transforms/portal/parameters/pre-WARP-process.xslt" processor="XSLT">
- <xsl:value-of select="xtsext:web64decode( string( key('env-param','m_rp_parameters') ), true() )" disable-output-escaping="yes"/>
- </xts:transform>
- </xts:transform>
- </param>
- </xts:append>
- </xsl:if>
- <!-- remove any existing saved state-->
- <xts:delete select="/root/env/param[@name='savedEnv']"/>
- <!-- encode the current state and append to the environment in savedEnv -->
- <xts:append select="/root/env">
- <xsl:variable name="markup">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="/root/env/param[@name != 'savedEnv']"/>
- </xsl:call-template>
- </xsl:variable>
- <param name="savedEnv">
- <xsl:value-of select="xtsext:cafaction( concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($markup), true()))"/>
- </param>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- <pf:serialize-xml/>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- callPowerPlayService - Calls the powerPlayService to deal with prompts by creating a blank redirect page and submitting
- ===============================================================================================
- -->
- <xts:block id="callPowerPlayService" dependency="save_state" mode="output" processor="XSLT" type="exec" condition=".[starts-with(/root/env/param[@name='controller_state'],'prompt')]" mimeType="text/html" mandatory="false">
- <!-- portal specific information -->
- <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:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- exclude-result-prefixes="xsl xts pf xtsext">
- <pf:variables/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:template match="/">
- <!-- call powerPlayServce via POST to get the prompt information -->
- <html>
- <body>
- <form name="pform" method="post" action="{$gateway}">
- <input type="hidden" name="PP_BACK" value="{$gateway}?b_action=xts.run&m={$app}/schedule/report.xts&ccstate={/root/env/param[@name='savedEnv']}"/>
- <input type="hidden" name="b_action" value="powerPlayService"/>
- <input type="hidden" name="ui.action" value="setPowerPlay8Prompt"/>
- <input type="hidden" name="m" value="{$app}/schedule/report.xts"/>
- <input type="hidden" name="crnobj" value="{key('env-param','m_obj')}"/>
- <input type="hidden" name="ui.crnfrm" value="PDF"/>
- <input type="hidden" name="opaque" value="{key('env-param','savedEnv')}"/>
- <input type="hidden" name="store_ID" value="{key('env-param','m_storeID')}"/>
-
- <!-- add the existing parameters if the edit (and not the set) link was pressed -->
- <xsl:if test="key('env-param','controller_state')='prompt_edit' and key('env-param','m_rp_parameters')!=''">
- <input type="hidden" name="m_parameter" value="{key('env-param','m_parameter')}"/>
- </xsl:if>
- </form>
-
- <!-- submit form -->
- <script type="text/javascript">
- document.pform.submit();
- </script>
- </body>
- </html>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- processReponse - Process the response from the callMorphlet block and either displays
- the markup or processes the results
- ===============================================================================================
- -->
- <xts:block id="processResponse" path="/portal/emailOptions/logicsheets/process_email_options.xslt" processor="XSLT" dependency="callMorphlet callPowerPlayService" type="exec" condition=".[starts-with(/root/env/param[@name='controller_state'],'email')]" 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>
-
-
- <!--
- ===============================================================================================
- restoreState - Cancel was pressed on the select entries or email options page. Restore the environment
- ===============================================================================================
- -->
- <xts:block id="restoreState" dependency="processResponse" processor="XSLT" type="exec" condition=".[contains(/root/env/param[@name='controller_state'],'|cancel')]" mandatory="false">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:xts="http://developer.cognos.com/schemas/xts/">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <!-- need to restore state from before "Select the recipients..." was pressed-->
- <xsl:template match="/">
- <xts:sequence>
- <!-- restore the environment -->
- <xts:delete select="/root/env"/>
- <xts:append select="/root">
- <env>
- <xts:transform name="XMLDecode">
- <xsl:choose>
- <xsl:when test="key('env-param', 'controller_state')='mobile|canceled' and key('env-param', 'request_stack_add_entries')!=''">
- <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap',string(/root/env/param[@name='request_stack_add_entries'])), true())"/>
- <param name="controller_state">mobile|canceled</param>
- </xsl:when>
- <xsl:when test="key('env-param', 'controller_state')='email|canceled' and key('env-param', 'request_stack_email_options')!=''">
- <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap',string(/root/env/param[@name='request_stack_email_options'])), true())"/>
- <param name="controller_state">mobile|canceled</param>
- </xsl:when>
- <xsl:when test="key('env-param', 'controller_state')='email|addEntries|canceled' and key('env-param', 'request_stack_add_entries')!=''">
- <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap',string(/root/env/param[@name='request_stack_add_entries'])), true())"/>
- <param name="controller_state">addentries|cancel</param>
- </xsl:when>
- </xsl:choose>
- </xts:transform>
- <param name="m">portal/schedule/report.xts</param>
- </env>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
-
- <!--
- ====================================================================================================
- restoreMobileEntries - restore the selected entries as they were before "Select the recipients..." link was pressed if user cancels action.
- ====================================================================================================
- -->
- <xts:block id="restoreMobileEntries" dependency="restoreState" processor="XSLT" type="exec" condition=".[contains(/root/env/param[@name='controller_state'],'cancel')]" mandatory="false">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:xts="http://developer.cognos.com/schemas/xts/">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <!-- original mobile recipient list was saved in selectedEntries environment parameter. -->
- <xsl:template match="/">
- <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>
- <xsl:if test="key('env-param', 'controller_state')='mobile|canceled'">
- <xts:delete select="/root/env/param[@name='controller_state']"/>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- getAddEntriesReponse - Get the response from the addEntries callMorphlet block
- ===============================================================================================
- -->
- <xts:block id="getAddEntriesResponse" path="/portal/mobileOptions/logicsheets/get_add_entries_response.xslt" processor="XSLT" dependency="restoreMobileEntries" type="exec" condition=".[starts-with(/root/env/param[@name='controller_state'],'mobile')]" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- </xts:block>
-
- <!--
- ===============================================================================================
- processMobileEntries - Process the response from the addEntries callMorphlet block and processes the results
- ===============================================================================================
- -->
- <xts:block id="processMobileEntries" path="/portal/mobileOptions/logicsheets/process_mobile_entries.xslt" processor="XSLT" dependency="getAddEntriesResponse" type="exec">
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- </xts:block>
- <!--
- ===============================================================================================
- execute-method -
- ===============================================================================================
- -->
- <xts:block id="execute-method" dependency="processResponse processMobileEntries" processor="XSLT" type="exec" condition=".[ (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='') and /root/env/param[@name='method'] and /root/env/param[@name='method']!='']" mandatory="false">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:prompt="http://developer.cognos.com/schemas/xts/portal/iPrompting/1/"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/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>
- <promptRequest>
- <send:request provider="xts" option="xml-multipart">
- <xsl:choose>
- <xsl:when test="key('env-param', 'method') = 'edit'">
- <prompt:collect>
- <returnMorphlet>portal/schedule/report.xts</returnMorphlet>
- <ps_nav_op>maintain</ps_nav_op>
- <routingServerGroup><xsl:value-of select="/root/env/param[@name='routingServerGroup']"/></routingServerGroup>
- <runAsync>true</runAsync>
- <xsl:if test="key('env-param','m_rp_parameters')!=''">
- <parameterValues>
- <xts:transform src="transforms/portal/parameters/pre-WARP-process.xslt" processor="XSLT">
- <xsl:value-of select="xtsext:web64decode( string( key('env-param','m_rp_parameters') ), true() )" disable-output-escaping="yes"/>
- </xts:transform>
- </parameterValues>
- </xsl:if>
- </prompt:collect>
- </xsl:when>
- <xsl:otherwise>
- <xsl:element name="{key('env-param', 'method')}" namespace="http://developer.cognos.com/schemas/xts/portal/iPrompting/1/">
- <returnMorphlet>portal/schedule/report.xts</returnMorphlet>
- <ps_nav_op>maintain</ps_nav_op>
- <callFinish>true</callFinish>
- </xsl:element>
- </xsl:otherwise>
- </xsl:choose>
- </send:request>
- </promptRequest>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- check-state -
- ===============================================================================================
- -->
- <xts:block id="check-state" path="/portal/iPrompting/logicsheets/check-state.xslt" processor="XSLT" type="exec" dependency="execute-method" condition=".[not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='']" mandatory="false">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- </xts:block>
-
- <!--
- ===============================================================================================
- getContent - get our data from Content Manager
- ===============================================================================================
- -->
- <xts:block id="getContent" processor="XSLT" type="exec" dependency="check-state processResponse getAddEntriesResponse" condition=".[/root/view='properties' and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='')]" mandatory="false">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- <xts:logicsheet path="portal/schedule/logicsheets/request.xslt"/>
- <xts:logicsheet path="portal/schedule/logicsheets/common.xslt"/>
- <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:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:rdr="http://developer.cognos.com/schemas/xts/rdr/"
- xmlns:cls="http://developer.cognos.com/schemas/xts/cls/"
- xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
- exclude-result-prefixes="xsl xtsext cml pf rdr cls dt cm send">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:variable name="passport" select="/root/credential/param[@name='CAM']/*[local-name() ='CAM']/*[local-name() = 'CAMPassport']/*[local-name() = 'id']"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
-
- <cml:object-predicates/>
- <xsl:template match="/">
- <xts:sequence>
- <!-- web64encode the contents of m_parameter returned from powerPlay and save as environment variable m_rp_parameters which
- is where various morphlets such as save.xts, and view_prompts.xts expect to find them -->
- <xsl:variable name="markup">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="/root/*[local-name()='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>
-
- <rdr:Requests>
- <rdr:Request type="pageDefinition"/>
- <rdr:Request type="runnable" mode="report">
- <rdr:searchPath>
- <xsl:value-of select="key('env-param', 'm_obj')"/>
- </rdr:searchPath>
- </rdr:Request>
- <rdr:Request type="credential"/>
- <rdr:Request type="burstCapability"/>
-
- <!-- only query for this the first time we hit the page -->
- <xsl:if test="not(key('env-param','visited_schedule_properties'))">
- <rdr:Request type="schedule">
- <rdr:searchPath>
- <xsl:value-of select="concat(key('env-param','m_obj'),'/schedule')"/>
- </rdr:searchPath>
- </rdr:Request>
- </xsl:if>
- <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>
- <!-- need to get all the archiveLocations -->
- <cm:query>
- <cm:search>
- <xsl:text>/configuration/archiveLocation</xsl:text>
- <xsl:value-of select="$visibility-predicate"/>
- </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>
- <!-- query to get storeID -->
- <cm:query>
- <cm:search>
- <xsl:value-of select="concat(key('env-param','m_obj'),'/schedule')"/>
- </cm:search>
- <cm:properties>
- <cm:property name="storeID"/>
- </cm:properties>
- </cm:query>
- </rdr:Requests>
-
- <xts:delete select="/root/env/param[@name='routingServerGroup']"/>
- <xts:append select="/root/env">
- <param name="routingServerGroup"><xts:queryValue select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]/*/*[local-name()='routingServerGroup']"/></param>
- </xts:append>
- <xsl:if test="not(/root/env/param[@name='visited_schedule_properties'])">
- <xts:append>
- <deliveryOptionsQueries>
- <xts:transform src="transforms/portal/options/generateCMQueriesForDeliveryInfo.xslt" processor="XSLT">
- <root>
- <xts:queryNode select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply' and position()='5']"/>
- </root>
- </xts:transform>
- </deliveryOptionsQueries>
- </xts:append>
- </xsl:if>
- <!-- if we don't have a parameterDescription, then separate the connection/signon prompts
- from other prompts. -->
- <xsl:if test="not(/root/env/param[@name='parameterDescription'])">
- <dt:splitParameters queryNode="/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='schedule']/*[local-name()='parameters']"/>
- </xsl:if>
- <!-- process the parameters saved on the runnable -->
- <xsl:if test="not(key('env-param','visited_schedule_properties'))">
- <dt:splitRunnableParameters queryNode="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]/*/*[local-name()='parameters']"/>
- </xsl:if>
- </xts:sequence>
-
- <!-- get a list of installed components and service default options -->
- <xts:sequence>
- <xts:append>
- <installedComponents>
- <xts:function name="getConfiguration">
- <xts:param name="installedComponents"/>
- </xts:function>
- </installedComponents>
- <xts:function name="getConfiguration">
- <xts:param name="serviceDefaultOptions"/>
- <xts:param name="overrideOptions"/>
- </xts:function>
- </xts:append>
- <!-- if we have a schedule credential blob, then unpack it -->
- <cls:unpackCredentials/>
- </xts:sequence>
-
- <!-- if we have a language blob, then unpack it -->
- <xsl:if test="key('env-param','selected_languages')">
- <xts:sequence>
- <xts:append>
- <xsl:value-of select="xtsext:xmldecode( string( /root/env/param[@name = 'selected_languages'] ) )" disable-output-escaping="yes"/>
- </xts:append>
- </xts:sequence>
- </xsl:if>
- </xsl:template>
- <pf:serialize-xml/>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- queryDataSourcePrompts - Get the parameter data source connection/signon information from CM
- ===============================================================================================
- -->
- <xts:block id="queryDataSourcePrompts"
- nodeList="credentialParameters,runnableParameters"
- path="/portal/iPrompting/logicsheets/query-datasource.xslt"
- processor="XSLT"
- type="exec"
- dependency="getContent"
- condition=".[/root/credentialParameters or /root/runnableParameters/credentialParameters]"
- mandatory="false">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- </xts:block>
-
- <!--
- ===============================================================================================
- generateParameterDescription
- ===============================================================================================
- -->
- <xts:block id="generateParameterDescription"
- nodelist="env,credentialParameters,parameters,dataSources"
- path="/portal/iPrompting/logicsheets/gen-prompt-description.xslt"
- processor="XSLT"
- type="exec"
- dependency="queryDataSourcePrompts"
- condition=".[/root/view='properties' and not(/root/env/param[@name='parameterDescription'])]"
- mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- </xts:block>
- <!--
- ===============================================================================================
- queryReportBaseMetadata:
- Query CM the metadataModelPackage information for the base report. This block only runs for reportViews.
- ===============================================================================================
- -->
- <xts:block id="queryReportBaseMetadata" dependency="getContent" type="exec" mode="interpret" processor="XSLT" condition=".[/root/view='properties' and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='') and contains(' reportView powerPlay8ReportView ', concat(' ', /root/env/param[@name='m_class'], ' '))]" mandatory="false">
- <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:xtsext="xalan://com.cognos.xts.ext.XTSExt">
-
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/">
- <xts:sequence>
- <xts:append>
- <reportBaseMetadata>
- <xsl:variable name="packageSearchPath" select="/root/cm:queryResponse/cm:queryReply[2]/*/cm:base/*/cm:metadataModelPackage/cm:package/cm:searchPath"/>
- <xsl:if test="$packageSearchPath != ''">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:requests>
- <cm:query>
- <cm:search>
- <!-- metadataModelPackage for the base report -->
- <xsl:value-of select="$packageSearchPath"/>
- </cm:search>
- <cm:properties>
- <cm:property name="effectiveUserCapabilities"/>
- </cm:properties>
- </cm:query>
- </cm:requests>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xsl:if>
- </reportBaseMetadata>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- queryDeliveryOptionsInfo:
- Query CM for the necessary information to build the delivery options summaries
- ===============================================================================================
- -->
- <xts:block id="queryDeliveryOptionsInfo" dependency="getContent" type="exec" mode="interpret" processor="XSLT" condition=".[/root/view='properties' and not(/root/env/param[@name='visited_schedule_properties']) and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='')]" mandatory="false">
- <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:xtsext="xalan://com.cognos.xts.ext.XTSExt">
-
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/">
- <xts:sequence>
- <xts:append>
- <deliveryOptionsInfo>
- <xsl:if test="/root/deliveryOptionsQueries/*[local-name()='query']">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:requests>
- <xsl:copy-of select="/root/deliveryOptionsQueries/*[local-name()='query']"/>
- </cm:requests>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xsl:if>
- </deliveryOptionsInfo>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
-
- <!--
- ===============================================================================================
- queryCredentialInfo:
- Query CM for the necessary user information (default names required for UI)
- ===============================================================================================
- -->
- <xts:block id="queryCredentialInfo"
- nodelist="env,header,session,http,queryResponse,scheduleCredentials,credential,cookies"
- path="/portal/schedule/logicsheets/query-credential-info.xslt"
- processor="XSLT"
- type="exec"
- dependency="getContent"
- condition=".[/root/view='properties' and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='')]"
- mandatory="false">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- </xts:block>
-
- <!--
- ===============================================================================================
- updateSaveAsText
- if we've visited the save as dialog, then we have to update the summary text
- ===============================================================================================
- -->
- <xts:block id="updateSaveAsText" processor="XSLT" type="exec" dependency="getContent" condition=".[/root/view='properties' and /root/env/param[@name='visited_save_as']='true' and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='')]" mandatory="false">
- <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:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
- xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/"
- xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- exclude-result-prefixes="cf cp xsl cm xtsext pf dt">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:variables/>
- <xsl:template match="/">
- <dt:updateSaveAsPathText defaultName="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][5]/*/*[local-name()='defaultName']" ancestors="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][5]/*/*[local-name()='ancestors']"/>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
-
- <!--
- ===============================================================================================
- Produce default runOption and form fields under /root/env
- Block should only get executed if
- - it's the first time we hit the page
- ===============================================================================================
- -->
- <xts:block id="generateDefaults" processor="XSLT" type="exec" dependency="generateParameterDescription queryDeliveryOptionsInfo queryReportBaseMetadata queryCredentialInfo getContent" condition=".[/root/view='properties' and not(/root/env/param[@name = 'visited_schedule_properties']) and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='')]" 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="/">
-
- <xsl:variable name="options" select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][5]/*[local-name()='schedule']/*[local-name()='options']"/>
- <xts:sequence>
- <xts:append select="/root/env">
- <xts:transform src="transforms/portal/options/generateParams.xslt" processor="XSLT">
- <xts:param name="messageBase">/messages/portal.xml</xts:param>
- <root>
- <xsl:copy-of select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='schedule']/*[local-name()='options']"/>
- <deliverySection>true</deliverySection>
- <defaultOptions>true</defaultOptions>
- <xsl:if test="$options/*[local-name()='value']/*[local-name()='item']/*[local-name()='name']='outputFormat'">
- <scheduleOptionsExist>true</scheduleOptionsExist>
- </xsl:if>
- <xsl:choose>
- <!-- new schedule -->
- <xsl:when test="not($options)">
- <allowRestrictedDefaults>false</allowRestrictedDefaults>
- </xsl:when>
- <!-- or existing schedule with no options set -->
- <xsl:when test="$options and not($options/*[local-name()='value']/*[local-name()='item']/*[local-name()='name']='outputFormat')">
- <allowRestrictedDefaults>false</allowRestrictedDefaults>
- </xsl:when>
- <!-- existing schedule with options-->
- <xsl:otherwise>
- <allowRestrictedDefaults>true</allowRestrictedDefaults>
- </xsl:otherwise>
- </xsl:choose>
- <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>
- <reportOptions>
- <xts:transform src="transforms/portal/options/mergeReportOptions.xslt" processor="XSLT">
- <root>
- <xts:queryNode select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]/*"/>
- </root>
- </xts:transform>
- </reportOptions>
- <obj>
- <xsl:copy-of select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]/*"/>
- </obj>
- <system>
- <param name="reportFormats">
- <xsl:copy-of select="/root/system/param[@name='reportFormats']/*"/>
- </param>
- </system>
- <defaultArchiveLocation>
- <!-- the first archive in the cm response is the default -->
- <xsl:copy-of select="/root/cm:queryResponse/cm:queryReply/cm:archiveLocation[1]"/>
- </defaultArchiveLocation>
- </root>
- </xts:transform>
- <xts:delete select="/root/env/param[@name='mobileSummary']"/>
- <xsl:call-template name="dt:generateUIHelpersFromOptions">
- <xsl:with-param name="queryReplyPath" select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][5]/*"/>
- <xsl:with-param name="saveAsPath" select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]/*"/>
- <xsl:with-param name="deliveryInfo" select="/root/deliveryOptionsInfo/*[local-name()='queryResponse']"/>
- <xsl:with-param name="appendPath" select="'/root/env'"/>
- <xsl:with-param name="genParams" select="true()"/>
- </xsl:call-template>
- </xts:append>
-
- <xsl:if test="$options">
- <!-- extract email and mobile options -->
- <xts:append>
- <extractedOptions>
- <xts:transform src="transforms/portal/options/extractEmailOptions.xslt" processor="XSLT">
- <xsl:copy-of select="$options"/>
- </xts:transform>
- </extractedOptions>
- </xts:append>
-
- <xts:append select="/root/env">
- <!-- delivery options -->
- <xts:transform src="portal/controls/create_web64_param.xslt" processor="XSLT">
- <param name="deliveryOptions">
- <passport><xsl:value-of select="$passport"/></passport>
- <markup>
- <xts:transform name="XMLEncode">
- <xts:transform src="transforms/portal/options/buildOptions.xslt" processor="XSLT">
- <root>
- <xts:queryNode select="/root/extractedOptions/emailOptions/*"/>
- </root>
- </xts:transform>
- </xts:transform>
- </markup>
- </param>
- </xts:transform>
- <!-- mobile options -->
- <xts:transform src="portal/controls/create_web64_param.xslt" processor="XSLT">
- <param name="mobileOptions">
- <passport><xsl:value-of select="$passport"/></passport>
- <markup>
- <xts:transform name="XMLEncode">
- <xts:transform src="transforms/portal/options/buildOptions.xslt" processor="XSLT">
- <root>
- <xts:queryNode select="/root/extractedOptions/mobileOptions/*"/>
- </root>
- </xts:transform>
- </xts:transform>
- </markup>
- </param>
- </xts:transform>
- </xts:append>
-
- </xsl:if>
- </xts:sequence>
-
- <dt:generateScheduleParams schedule="/root/cm:queryResponse/cm:queryReply/cm:schedule"/>
-
- <!-- since we only query for the schedule the first time we hit the page we have to keep track if prompts where saved in CM to properlly display the prompts section -->
- <xts:sequence>
- <xsl:if test="(/root/cm:queryResponse/cm:queryReply/cm:schedule/cm:parameters/*) or (/root/cm:queryResponse/cm:queryReply[2]/*/cm:parameters/*)">
- <xts:append select="/root/env">
- <param name="prompts_saved">true</param>
- </xts:append>
- </xsl:if>
- </xts:sequence>
- <xsl:if test="not(/root/env/param[@name='visited_schedule_properties'])">
- <xts:sequence>
- <!-- check if we need to override output format -->
- <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">
- <xsl:choose>
- <xsl:when test="$allowPDF='false' or $allowXML='false' or $allowCSV='false' or $allowXLS='false'">true</xsl:when>
- <xsl:otherwise>false</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xts:append select="/root/env">
- <!-- add the necessary params for the default parameters stored on the runnable -->
- <xsl:if test="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]/*/*[local-name()='parameters']/* != ''">
- <xsl:variable name="default-parameters-markup">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][2]/*/*[local-name()='parameters']"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="defaultParameters">
- <xsl:value-of select="xtsext:web64encode(string($default-parameters-markup), true())"/>
- </xsl:variable>
- <param name="defaultParameters"><xsl:value-of select="$defaultParameters"/></param>
-
- <dt:promptDescription params="default" checkRunnableParameters="true"/>
- </xsl:if>
- </xts:append>
-
- <!-- if we already have saved paramters on the schedule -->
- <xsl:if test="/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='schedule']/*[local-name()='parameters']!=''">
- <xsl:variable name="parameters-markup">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='schedule']/*[local-name()='parameters']"/>
- </xsl:call-template>
- </xsl:variable>
- <xts:append select="/root/env">
- <param name="m_rp_parameters">
- <xsl:value-of select="xtsext:web64encode(string($parameters-markup), true())"/>
- </param>
- <param name="override_default_parameters">true</param>
- </xts:append>
- </xsl:if>
- <xsl:if test="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][5]/*[local-name()='schedule']/*[local-name()='options']/*[local-name()='value']/*[local-name()='item']/*[local-name()='name' and .!='prompt' and .!='saveOutput' and .!='data']">
- <xts:append select="/root/env">
- <param name="override_default_reportOptions">true</param>
- </xts:append>
- </xsl:if>
-
- <!-- override the deafault options if this is a new schedule -->
- <xsl:if test="not($options) and $restrictedUser='true'">
- <xts:append select="/root/env">
- <param name="override_default_reportOptions">true</param>
- </xts:append>
- </xsl:if>
- </xts:sequence>
- </xsl:if>
- <!-- this sequence converts the list of mobile recipients from the job 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: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">
- <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>
- <!--
- ===============================================================================================
- encodeSelectedEntries - web64encode the <selectedEntries> node
- ===============================================================================================
- -->
- <xts:block id="encodeSelectedEntries" path="/portal/mobileOptions/logicsheets/encode_selected_entries.xslt" processor="XSLT" dependency="generateDefaults" type="exec" condition=".[(not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='') and /root/selectedEntries/*]" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- </xts:block>
-
- <!--
- ===============================================================================================
- appendDefaultScheduleParams
- Block should only get executed if
- - the user is switching frequencies (i.e. he hit one of the tabs)
- - it's the first time we hit the page
- ===============================================================================================
- -->
- <xts:block id="appendDefaultScheduleParams" dependency="generateDefaults" type="exec" mode="interpret" processor="XSLT" condition=".[/root/view='properties' and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='')]" 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:xtsext="xalan://com.cognos.xts.ext.XTSExt">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:variables/>
- <xsl:template match="/">
- <xts:sequence>
- <xts:append select="/root/env">
- <xts:transform src="transforms/portal/schedule/generateDefaults.xslt" processor="XSLT">
- <xts:param name="logicsheet">/logicsheets/portal.xsl</xts:param>
- <params>
- <hasSchedCapabilityByDay><xsl:value-of select="$hasSchedCapabilityByDay"/></hasSchedCapabilityByDay>
- <hasSchedCapabilityByWeek><xsl:value-of select="$hasSchedCapabilityByWeek"/></hasSchedCapabilityByWeek>
- <hasSchedCapabilityByMonth><xsl:value-of select="$hasSchedCapabilityByMonth"/></hasSchedCapabilityByMonth>
- <hasSchedCapabilityByYear><xsl:value-of select="$hasSchedCapabilityByYear"/></hasSchedCapabilityByYear>
- <hasSchedCapabilityByTrigger><xsl:value-of select="$hasSchedCapabilityByTrigger"/></hasSchedCapabilityByTrigger>
- <timeZone><xsl:value-of select="$timeZone"/></timeZone>
- <contentLocale><xsl:value-of select="$contentLocale"/></contentLocale>
- <env><xsl:copy-of select="/root/env/*"/></env>
- </params>
- </xts:transform>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- generateDefaultEmailOptions - If no delivery options where save on the object and it's the
- first time we hit this page then generate defaults
- ===============================================================================================
- -->
- <xts:block id="generateDefaultEmailOptions" path="/portal/emailOptions/logicsheets/generate_defaults.xslt" processor="XSLT" dependency="generateDefaults" type="exec" condition=".[/root/view='properties' and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='') and not(/root/env/param[@name='visited_schedule_properties']) and not(/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][5]/*/*[local-name()='options']/*[local-name()='value']/*[local-name()='item' and *[local-name()='name']='email']/*[local-name()='value']='true')]" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
- </xts:block>
-
- <!--
- ===============================================================================================
- processDefaultEmailOptions - If no delivery options where save on the object and it's the
- first time we hit then process the default delivery options.
- ===============================================================================================
- -->
- <xts:block id="processDefaultEmailOptions" path="/portal/emailOptions/logicsheets/process_email_options.xslt" processor="XSLT" dependency="generateDefaultEmailOptions" type="exec" condition=".[/root/view='properties' and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='') and not(/root/env/param[@name='visited_schedule_properties']) and not(/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][5]/*/*[local-name()='options']/*[local-name()='value']/*[local-name()='item' and *[local-name()='name']='email']/*[local-name()='value']='true')]" 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>
- <!--
- ===============================================================================================
- processDefaultMobileOptions -if it's the first time we hit the page, then process the default mobile options.
- ===============================================================================================
- -->
- <xts:block id="processDefaultMobileOptions" processor="XSLT" dependency="generateDefaults" type="exec" nodelist="env,selectedEntries" condition=".[/root/view='properties' and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='') and not(/root/env/param[@name='visited_schedule_properties'])]" 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: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">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:variables/>
- <xsl:template match="/">
- <xts:sequence>
- <!-- the first time the page is loaded we have to make sure the mobileDescription is correctly rendered -->
- <xsl:variable name="selectedRecipients" select="/root/selectedEntries/*"/>
- <xsl:variable name="selectedRecipientsCount" select="count($selectedRecipients)"/>
- <!-- delete the old emailSummary and emailDescription and create new ones with the reponse received from the email options -->
- <xts:delete select="/root/env/param[@name='mobileDescription' or @name='hasMobileRecipients' or @name='mobileRecipientsCount']"/>
-
- <xsl:choose>
- <!-- recipient count of 0 -->
- <xsl:when test="$selectedRecipientsCount='0'">
- <xts:append select="/root/env">
- <param name="mobileDescription"><xts:string id ="IDS_OTHERRUN_EMAIL_NO_RECIPIENTS"/></param>
- <param name="hasMobileRecipients">false</param>
- <param name="mobileRecipientsCount">0</param>
- </xts:append>
- </xsl:when>
- <!-- more then 1 recipient -->
- <xsl:when test="$selectedRecipientsCount > 1">
- <xts:append select="/root/env">
- <param name="mobileDescription">
- <xts:string id="IDS_OTHERRUN_MOBILE_RECIPIENT_COUNT">
- <xts:param name="numPeople">
- <xsl:value-of select="$selectedRecipientsCount"/>
- </xts:param>
- </xts:string>
- </param>
- <param name="hasMobileRecipients">true</param>
- <param name="mobileRecipientsCount"><xsl:value-of select="$selectedRecipientsCount"/></param>
- </xts:append>
- </xsl:when>
- <!-- only one recipient -->
- <xsl:otherwise>
- <xsl:variable name="defaultName" select="$selectedRecipients/*[local-name()='defaultName']"/>
- <xsl:variable name="userName" select="$selectedRecipients/*[local-name()='userName']"/>
- <xts:append select="/root/env">
- <param name="mobileDescription">
- <xsl:choose>
- <xsl:when test="$userName != ''">
- <xts:string id ="IDS_OTHERRUN_DISPLAY_MOBILE_USER">
- <xts:param name="defaultName"><xsl:value-of select="$defaultName"/></xts:param>
- <xts:param name="userName"><xsl:value-of select="$userName"/></xts:param>
- </xts:string>
- </xsl:when>
- <xsl:when test="$defaultName != ''">
- <xsl:value-of select="$defaultName"/>
- </xsl:when>
- <xsl:otherwise>
- <xts:string id="IDS_OTHERRUN_UNKNOWN_MOBILE_RECIPIENT"/>
- </xsl:otherwise>
- </xsl:choose>
- </param>
- <param name="hasMobileRecipients">true</param>
- <param name="mobileRecipientsCount"><xsl:value-of select="$selectedRecipientsCount"/></param>
- </xts:append>
- </xsl:otherwise>
- </xsl:choose>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ================================================================================
- Performs option actions (i.e. clear PDF options)
- ================================================================================
- -->
- <xts:block id="perform_action" nodelist="env" path="/transforms/portal/options/perform_action.xslt" processor="XSLT" type="exec" dependency="formlogic_init" condition=".[/root/env/param[@name='option_op'] != '']" mandatory="false"/>
-
- <!--
- ===============================================================================================
- Render the HTML page
- ===============================================================================================
- -->
- <xts:block id="renderPage" type="exec" mode="output" dependency="perform_action processDefaultEmailOptions updateSaveAsText generateDefaults appendDefaultScheduleParams" processor="XSLT" mimeType="text/html" condition=".[/root/view='properties' and (not(/root/env/param[@name='controller_state']) or /root/env/param[@name='controller_state']='')]" mandatory="false">
- <!-- logicsheets -->
- <!-- portal specific information -->
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <!-- Dialog specific logicsheets -->
- <xts:logicsheet path="portal/schedule/logicsheets/triggerUI.xslt"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/recurrenceUI.xslt"/>
- <xts:logicsheet path="portal/schedule/logicsheets/scheduleVars.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/ui-templates.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/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"/>
- <xts:logicsheet path="logicsheets/presentation/main/presentation.xsl"/>
-
- <!-- Generic logicsheets -->
- <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/confirm.xslt"/>
- <!-- apply the form logic -->
- <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:xts="http://developer.cognos.com/schemas/xts/"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:xIE5="http://developer.cognos.com/prompting/xIE5"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
- xmlns:ut="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/ui-templates/"
- xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
- 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: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:dc="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/confirm/1/"
- xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/"
- xmlns:mt="http://developer.cognos.com/schemas/xts/logicsheets/presentation/main/mt"
- xmlns:srt="http://developer.cognos.com/schemas/xts/srt"
- xmlns:rui="http://developer.cognos.com/schemas/xts/logicsheet/xslt/presentation/dialog/recurrenceUI/"
- xmlns:utml="http://developer.cognos.com/schemas/xts/logicsheet/xslt/formlogic/"
- exclude-result-prefixes="pf cml ut df lyt dp cf cp dc dt mt srt rui utml xts bus xtsext cm xIE5">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
- <!-- current file name -->
- <xsl:variable name="mname" select="'schedule/report.xts'"/>
- <!-- add any theme variables -->
- <pf:variables/>
- <rui:variables/>
- <xsl:variable name="isBurstReport" select="
- (/root/cm:queryResponse/cm:queryReply[2]/*/cm:canBurst = 'true') or
- (/root/cm:queryResponse/cm:queryReply[2]/*/cm:base/*/cm:canBurst = 'true')
- "/>
- <xsl:variable name="canBurst" select="
- $isBurstReport and
- (/root/cm:queryResponse/cm:queryReply[2]/*/cm:metadataModelPackage/*/cm:effectiveUserCapabilities/cm:canUseBursting or
- /root/reportBaseMetadata/cm:queryResponse/cm:queryReply/*/cm:effectiveUserCapabilities/cm:canUseBursting or
- /root/cm:queryResponse/cm:queryReply[2]/*/cm:runAsOwner = 'true' or
- /root/cm:queryResponse/cm:queryReply[2]/*/cm:runWithOwnerCapabilities = 'true')
- "/>
-
- <xsl:variable name="browserTitle">
- <xts:string id="IDS_PROP_SCHEDULE_TITLE">
- <xts:param name="objectName">
- <span lang="{$contentLocale}"><xsl:value-of select="xtsext:enforceBTD(/root/env/param[@name = 'm_name'], $baseTextDirection, $productLocale, boolean($isBidiEnabled='true'))"/></span>
- </xts:param>
- </xts:string>
- </xsl:variable>
- <xsl:variable name="the-object" select="/root/cm:queryResponse/cm:queryReply[2]/*"/>
- <xsl:variable name="has_execute_permission" select="contains(concat(' ', /root/cm:queryResponse/cm:queryReply[2]/*/cm:permissions, ' '), ' execute ')"/>
- <xsl:variable name="savedTriggerType">
- <xsl:choose>
- <xsl:when test="$the-object/cm:triggerName != '' or $the-object/cm:base/*/cm:triggerName != ''">
- <xsl:value-of select="'authoredReport'"/>
- </xsl:when>
- <xsl:otherwise><xsl:value-of select="'schedule'"/></xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="triggerName">
- <xsl:choose>
- <xsl:when test="/root/cm:queryResponse/cm:queryReply[2]/*/cm:triggerName != ''">
- <xsl:value-of select="/root/cm:queryResponse/cm:queryReply[2]/*/cm:triggerName"/>
- </xsl:when>
- <xsl:when test="/root/cm:queryResponse/cm:queryReply[2]/*/cm:base/*/cm:triggerName != ''">
- <xsl:value-of select="/root/cm:queryResponse/cm:queryReply[2]/*/cm:base/*/cm:triggerName"/>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
- <!-- check if this is a restricted user -->
- <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">
- <xsl:choose>
- <xsl:when test="$allowPDF='false' or $allowXML='false' or $allowCSV='false' or $allowXLS='false'">true</xsl:when>
- <xsl:otherwise>false</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <rui:promptControls form="pform"/>
-
- <xsl:template match="/">
- <xsl:text disable-output-escaping='yes'><!DOCTYPE html></xsl:text><dp:page longTitle="$browserTitle">
- <dp:meta>
- <pf:meta/>
- </dp:meta>
- <!-- get the JavaScript needed for the prompt controls -->
- <rui:promptControlsScript/>
-
- <dp:script>
- <pf:help context="HID_SCHED_ENTRY"/>
- <script language="javascript" src="{$webcontent}/{$app}/js/runOptions.js"/>
- <!-- Help system -->
- <dc:confirm-cancel/>
- <script language="javascript">
- <!-- include the javascript needed to validate the runOptions -->
- <dt:runOptionValidation/>
- <!-- some behavior for when the page loads -->
- function init()
- {
- var frm = document.pform;
-
- <!-- m can get clobbered when going to secondary dialogs, so make sure it has the right value -->
- document.pform.m.value = "<xsl:value-of select="xtsext:javascriptencode(string(key('env-param', 'm')))"/>";
- <!-- common init code for all pages that deal with runOptions -->
- <dt:runOptionJavaScriptInit/>
-
- if (document.getElementById('overrideOptionsDiv') && document.getElementById('defaultOptions'))
- {
- <xsl:choose>
- <!-- new schedule with restricted user -->
- <xsl:when test="$restrictedUser='true' and not(/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][5]/*[local-name()='schedule']/*[local-name()='options'])">
- frm.override_default_reportOptions.disabled=true;
- frm.override_default_reportOptions.checked=true;
- showDynamicDiv('overrideOptionsDiv');
- hideDynamicDiv('defaultOptions');
- </xsl:when>
- <!-- need to manually do this when existing schedule options exist with a restricted user -->
- <xsl:when test="$restrictedUser='true' and (/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][5]/*[local-name()='schedule']/*[local-name()='options']/*[local-name()='value']/*[local-name()='item']/*[local-name()='name']='outputFormat')">
- frm.override_default_reportOptions.disabled=true;
- frm.override_default_reportOptions.checked=true;
- showDynamicDiv('overrideOptionsDiv');
- hideDynamicDiv('defaultOptions');
- </xsl:when>
- <xsl:when test="key('env-param','override_default_reportOptions')">
- showDynamicDiv('overrideOptionsDiv');
- hideDynamicDiv('defaultOptions');
- </xsl:when>
- <xsl:otherwise>
- hideDynamicDiv('overrideOptionsDiv');
- showDynamicDiv('defaultOptions');
- </xsl:otherwise>
- </xsl:choose>
- }
- if (document.getElementById('overrideParametersDiv') && document.getElementById('defaultParmetersDiv'))
- {
- <xsl:choose>
- <xsl:when test="key('env-param','override_default_parameters')">
- showDynamicDiv('overrideParametersDiv');
- hideDynamicDiv('defaultParmetersDiv');
- </xsl:when>
- <xsl:otherwise>
- hideDynamicDiv('overrideParametersDiv');
- showDynamicDiv('defaultParmetersDiv');
- </xsl:otherwise>
- </xsl:choose>
- }
- if (document.pform.controller_state)
- {
- document.pform.controller_state.value = '';
- }
- }
-
- function onClickOK()
- {
- var frm = document.pform;
-
- <xsl:choose>
- <xsl:when test="$savedTriggerType = 'authoredReport'">
- if (frm.h_CAM_action)
- {
- frm.h_CAM_action.value = 'generateTC';
- }
- </xsl:when>
- <xsl:otherwise>
- if (validateSchedule())
- </xsl:otherwise>
- </xsl:choose>
- {
- if (frm.override_default_reportOptions.checked)
- {
- if (!validateRunOptions())
- {
- return;
- }
- }
-
- frm.ps_nav_op.value = 'submit';
- frm.m.value = 'portal/submit.xts';
-
- frm.submit();
- }
- }
- </script>
- </dp:script>
-
- <utml:form name="pform" method="post" action="{$gateway}">
- <!-- Since the date control input variables are not utml input, they would be put into Hidden inputs whenever the page is refreshed and cause
- duplicate. So we exclude them from query values. -->
- <utml:exclusion-list>
- <xsl:value-of select="' select_languages_visited selected_languages txtDatedateTo txtDatedateFrom tempPath p_sched_date1 p_sched_date2 p_sched_time1 p_sched_time2 p_intradayRecurrenceStart p_intradayRecurrenceEnd hourstimeTo hourstimeFrom minutestimeTo minutestimeFrom secondstimeFrom secondstimeTo AMPMtimeTo AMPMtimeFrom visited_schedule_properties dateTotxtDate dateFromtxtDate confirm_m_pdf_userPassword_runOption m_pdf_userPassword_runOption_Encrypted confirm_m_pdf_ownerPassword_runOption m_pdf_ownerPassword_runOption_Encrypted '"/>
- </utml:exclusion-list>
- <utml:read-only>
- <xsl:choose>
- <xsl:when test="contains(/root/cm:queryResponse/cm:queryReply[2]/*/cm:permissions, 'write') and contains(/root/cm:queryResponse/cm:queryReply[2]/*/cm:permissions, 'execute')">
- <xsl:text>false</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>true</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </utml:read-only>
-
- <!-- header -->
- <dp:header>
- <dp:title showName="false">
- <xsl:copy-of select="$browserTitle"/>
- </dp:title>
- <dp:description headerBorder="true">
- <xts:string id="IDS_PROP_SCHED_INTRO"/>
- </dp:description>
- </dp:header>
-
- <utml:input type="hidden" name="m_timeZoneID">
- <xsl:attribute name="value">
- <xsl:value-of select="/root/cm:queryResponse/cm:queryReply/cm:schedule/cm:timeZoneID"/>
- </xsl:attribute>
- </utml:input>
- <utml:input type="hidden" name="m_storeID">
- <xsl:attribute name="value">
- <xsl:value-of select="/root/cm:queryResponse/cm:queryReply/cm:schedule/cm:storeID"/>
- </xsl:attribute>
- </utml:input>
- <utml:input type="hidden" name="m_searchPath">
- <xsl:attribute name="value">
- <xsl:choose>
- <xsl:when test="key('env-param','m_searchPath')!=''">
- <xsl:value-of select="key('env-param','m_searchPath')"></xsl:value-of>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/root/cm:queryResponse/cm:queryReply/cm:schedule/cm:searchPath"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- </utml:input>
- <utml:input type="hidden" name="preserve_pdf_userPwd">
- <xsl:attribute name="value">
- <xsl:choose>
- <xsl:when test="key('env-param','preserve_pdf_userPwd') !=''"><xsl:value-of select="key('env-param','preserve_pdf_userPwd')"/></xsl:when>
- <xsl:when test="key('env-param','m_pdf_userPassword_runOption_Encrypted')!=''">true</xsl:when>
- <xsl:otherwise>false</xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- </utml:input>
- <utml:input type="hidden" name="preserve_pdf_ownerPwd">
- <xsl:attribute name="value">
- <xsl:choose>
- <xsl:when test="key('env-param','preserve_pdf_ownerPwd') !=''"><xsl:value-of select="key('env-param','preserve_pdf_ownerPwd')"/></xsl:when>
- <xsl:when test="key('env-param','m_pdf_ownerPassword_runOption_Encrypted')!=''">true</xsl:when>
- <xsl:otherwise>false</xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- </utml:input>
-
- <utml:input type="hidden" name="ps_nav_op" value="" utml:update="false"/>
- <utml:input type="hidden" name="controller_state" value="" utml:update="false"/>
- <utml:input type="hidden" name="m_ro_prompt" value="false" utml:update="false"/>
- <utml:input type="hidden" name="m_rp_parameters">
- <xsl:attribute name="value"><xsl:value-of select="key('env-param','m_rp_parameters')"/></xsl:attribute>
- </utml:input>
- <utml:input type="hidden" name="m_scheduleCredentials">
- <xsl:attribute name="value"><xsl:value-of select="key('env-param','m_scheduleCredentials')"/></xsl:attribute>
- </utml:input>
- <xsl:choose>
- <xsl:when test="$form-read-only='true' and not(/root/cm:queryResponse/cm:queryReply/cm:schedule)">
- <mt:objectNoneFound id="IDS_PROP_SCHED_READ_ONLY_NO_SCHED"/>
- </xsl:when>
- <xsl:otherwise>
- <!-- add this hidden input, its existence allows us to infer that this morphlet has been previously visited -->
- <input name="visited_schedule_properties" type="hidden" value="true"/>
- <utml:input type="hidden" name="ifrmcmd" utml:update="false">
- <utml:value>
- <xsl:text>save</xsl:text>
- </utml:value>
- </utml:input>
- <!-- save the schedule with the user's credentials if the user has chosen to reset them or with a new schedule -->
- <xsl:if test="key('env-param','m_schedule_owner_reset')='true'">
- <xsl:choose>
- <xsl:when test="$userCredentialsExist='true'">
- <utml:input type="hidden" name="m_sp_credential" utml:update="false">
- <utml:value><xsl:value-of select="$userCredentialSearchPathProperty"/></utml:value>
- </utml:input>
- </xsl:when>
- <xsl:otherwise>
- <input type="hidden" name="h_CAM_action" value=""/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- <!-- Recurrence -->
- <xsl:choose>
- <xsl:when test="$savedTriggerType = 'authoredReport'">
- <srt:triggerUI/>
- </xsl:when>
- <xsl:otherwise>
- <rui:recurrenceUI/>
- </xsl:otherwise>
- </xsl:choose>
-
- <lyt:layout style="1" title="IDS_PROP_SCHED_OPTIONS" border="yes">
- <lyt:section>
- <dp:choice width="100%">
- <dp:section1>
- <utml:input type="checkbox" name="override_default_reportOptions" id="lbl_override_default_reportOptions" value="true" utml:track="true" onclick="toggledynamicDiv('overrideOptionsDiv');toggledynamicDiv('defaultOptions');"/>
- <!-- set the hidden param when a restricted user is modifying an existing schedule and options exists-->
- <xsl:if test="$restrictedUser='true' and (/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][5]/*[local-name()='schedule']/*[local-name()='options']) and (/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][5]/*[local-name()='schedule']/*[local-name()='options']/*[local-name()='value']/*[local-name()='item']/*[local-name()='name']='outputFormat')">
- <utml:input type="checkbox" name="override_outputFormat_option" id="lbl_override_default_reportOptions" value="true" checked="true" utml:track="true" hidden="true"/>
- </xsl:if>
-
- <!-- set the hidden param when a restricted user is modifying an new schedule-->
- <xsl:if test="$restrictedUser='true' and not(/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][5]/*[local-name()='schedule']/*[local-name()='options'])">
- <utml:input type="checkbox" name="override_outputFormat_option" id="lbl_override_default_reportOptions" value="true" checked="true" utml:track="true" hidden="true"/>
- </xsl:if>
- </dp:section1>
- <dp:section2 for="lbl_override_default_reportOptions">
- <xts:string id="IDS_STEP_RUN_OVERRIDE_DEFAULT_REPORT_OPTIONS"/>
- </dp:section2>
- <dp:section3 width="100%">
-
- <!-- read only default options -->
- <ut:defaultReportOptionsDiv objectClassXPath="key('env-param','m_class')"/>
-
- <!-- override options -->
- <cf:dynamicDiv name="overrideOptionsDiv">
- <dp:box valign="top" width="100%">
- <dp:boxSection width="50%">
- <dp:choice>
- <dp:section3>
- <!-- format -->
- <ut:format/>
- <br/>
- <!-- a11y section -->
- <ut:a11yOption/>
- <br/>
- <!-- language -->
- <ut:language/>
- <!-- burst -->
- <xsl:if test="$canBurst = 'true'">
- <br/>
- <ut:burst/>
- </xsl:if>
-
- </dp:section3>
- </dp:choice>
- </dp:boxSection>
- <dp:boxSection width="50%">
- <!-- delivery -->
- <ut:delivery/>
- </dp:boxSection>
- </dp:box>
- </cf:dynamicDiv>
- </dp:section3>
- </dp:choice>
- </lyt:section>
- </lyt:layout>
- <lyt:layout style="1" title="IDS_PROP_JOB_HEADING_PROMPT_VALUES" border="yes">
- <lyt:section>
- <dp:choice width="100%">
- <dp:section1>
- <utml:input type="checkbox" name="override_default_parameters" id="ctrl_override_default_parameters" value="true" utml:track="true" onclick="togglePromptDivs();"/>
- </dp:section1>
- <dp:section2 for="ctrl_override_default_parameters">
- <xts:string id="IDS_STEP_RUN_OVERRIDE_DEFAULT_PROMPT_VALUES"/>
- </dp:section2>
- <dp:section3 width="100%">
- <ut:parametersDiv showTitle="false"/>
- </dp:section3>
- </dp:choice>
- </lyt:section>
- </lyt:layout>
- </xsl:otherwise>
- </xsl:choose>
-
- <rui:footer isTriggerCheck="$savedTriggerType = 'authoredReport'"/>
-
- <!-- warn the user if the schedule is of type trigger but the trigger name has been deleted -->
- <xsl:if test="not(/root/env/param[@name = 'visited_schedule_properties']) and $triggerName='' and /root/cm:queryResponse/cm:queryReply/cm:schedule/cm:type='trigger' and (not(key('env-param','m_sp_triggerName')) or key('env-param','m_sp_type') = '')">
- <script language="JavaScript">
- var msg = "<xts:string id="IDS_PROP_SCHED_NO_TRIGGER_NAME" encode="javascript"/>";
- alert(msg);
- </script>
- </xsl:if>
- </utml:form>
- </dp:page>
- </xsl:template>
-
- <!-- include all the schedule related templates. -->
- <ut:deliveryRunOptions newEmailOptions="true" showTitle="true" addBehavior="true" isReportView="contains(' reportView powerPlay8ReportView powerPlay8Report ', concat(' ', /root/env/param[@name='m_class'],' '))" isReport="true" showDescription="true"/>
- <ut:burstTemplate addBehavior="true" showCheckbox="false"/>
- <ut:formatLanguage/>
- <ut:formatRunOptions/>
- <cp:tabControl/>
- </xsl:stylesheet>
- </xts:block>
- <!-- Debug -->
- <!-- ============================================================================= -->
- <xts:block id="debug" dependency="renderPage processResponse processMobileEntries" condition=".[ /root/session/param[@name='debug'] = '1' ]" type="exec" mode="output" processor="XSLT" mimeType="text/html">
- <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
- <!-- debug logic sheet -->
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dbg="http://developer.cognos.com/schemas/xts/logicsheets/xslt/debug/" exclude-result-prefixes="dbg">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
- <xsl:template match="/">
- <dbg:dumpxml select="/root"/>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- </xts:morphlet>
|