I upgraded to latest CVS yesterday, jdk 1.3.1, (East Coast noon) but this
did not solve the issue, do I have to submit to bugzilla ? :

Log doesn't really help since there are nested actions...

- I have a form validation  with simple form transformer. When the form is
correctly filled an emal is sent. I wrote a custom action to send this
email. Sitemap parameters passed to the action are filled from http request.

- Assuming form validation occurs once and succeds, scenario :
I fill the "to" field, hit "send" and the email is sent along with files
(the path of files is of hidden input fields).
I click "back" on the browser (IE5.5), so that I see the form again.
When I hit "send", duplicate files are attached. the "to" field is
duplicated too. (the form was cached by the browser).

- After sending email, I write the url to the sending email form in the
browser's address bar, same issue. EVEN WITH ANOTHER "serialNumber" request
parameter, so that Cocoon regenerates a full html page.

Sometimes I see duplicated fields in the html form, other times : when
forcing reload with Control + F5, the code is ok but the parameters are sent
duplicated.

Pipeline below. I need the simple form transformer though.

The xsl which generates the html form ("sendlickeyform.xsl") has a main
template, in which I define the empty input fields, or the http request
filled ones. So it is rather simple... I attach it anyway.

Maybe I am completely wrong ?

Barbara

   <!-- send license, req param : serialNumber -->
   <map:match pattern="sendlicense">
    <map:act type="request">
     <map:parameter name="parameters" value="true"/>
     <!-- authenticate as usual -->
     <map:act type="auth-protect">
      <map:parameter name="handler" value="baepp-handler"/>
      <!-- form has been submitted once so validate it -->
      <map:act type="request-exists">
       <map:parameter name="parameters" value="submittedOnce"/>
       <!-- form validation -->
       <map:act type="form-validator">
        <map:parameter name="descriptor" value="xml/sendlicense_desc.xml"/>
        <map:parameter name="validate-set" value="default"/>
        <!-- ok so send mail -->
        <map:act type="sendmail">
         <map:parameter name="smtpHost" value="10.41.20.3"/>
         <map:parameter name="subject" value="{../../../subject}"/>
         <!-- to be changeable (port) -->
         <map:parameter name="body"
value="http://localhost:9090/baepp/licensekeys/{../../../licensekey}/htmlbod
y.html"/>
         <map:parameter name="emailTo" value="{../../../emailTo}"/>
         <map:parameter name="emailCc" value="{../../../emailCc}"/>
         <map:parameter name="emailFrom" value="{../../../emailFrom}"/>
         <map:parameter name="nameFrom" value="{../../../nameFrom}"/>
         <map:parameter name="dataSources"
value="http://localhost:9090/baepp/images/links.gif;http://localhost:9090/ba
epp/images/leer.gif;http://localhost:9090/baepp/images/logo_www.gif"/>
         <map:parameter name="dsHeaders" value="abc@abc;abd@abc;abe@abc"/>
         <map:parameter name="file"
value="http://localhost:9090/baepp/licensekeys/{../../../licensekey}/{../../
../filename}.xml;http://localhost:9090/baepp/licensekeys/{../../../licenseke
y}/{../../../filename}lt.pdf"/>
         <map:parameter name="fileName"
value="{../../../filename}.xml;{../../../filename}lt.pdf"/>
         <map:redirect-to uri="menu"/>
        </map:act>
        <map:redirect-to uri="error?code=422303"/>
       </map:act>
       <!-- not ok : show input form -->
       <map:aggregate element="page">
        <map:part element="license"
src="xmldb:tamino://i3in0/tamino/BAEPP/BAEPP/#License_Info[@serialNumber='{.
./../serialNumber}']"/>
        <map:part element="mlform" src="cocoon://mlform"/>
        <map:part element="session" src="xml/getxml.xml"/>
       </map:aggregate>
       <map:transform type="session"/>
       <map:transform src="xsl/sendlickeyform.xsl">
        <map:parameter name="use-request-parameters" value="true"/>
        <map:parameter name="taminoUri"
value="http://i3in0/tamino/BAEPP/BAEPP"/>
       </map:transform>
       <map:transform type="simple-form"/>
       <map:serialize type="html"/>
      </map:act>
      <!-- no form validation ever occured, show input form -->
      <map:aggregate element="page">
       <map:part element="license"
src="xmldb:tamino://i3in0/tamino/BAEPP/BAEPP/#License_Info[@serialNumber='{.
./serialNumber}']"/>
       <map:part element="mlform" src="cocoon://mlform"/>
       <!-- write license on disk -->
       <map:part element="write"
src="cocoon://writelicense?serialNumber={../serialNumber}"/>
       <!-- write html body on disk -->
       <map:part element="htmlbody"
src="cocoon://writehtmlbody?serialNumber={../serialNumber}"/>
       <map:part element="session" src="xml/getxml.xml"/>
      </map:aggregate>
      <map:transform type="session"/>
      <map:transform src="xsl/sendlickeyform.xsl">
       <map:parameter name="taminoUri"
value="http://i3in0/tamino/BAEPP/BAEPP"/>
       <map:parameter name="use-request-parameters" value="true"/>
      </map:transform>
      <map:transform type="simple-form"/>
      <map:serialize type="html"/>
      <map:transform src="xsl/copy.xsl"/>
      <map:serialize type="xml"/>
     </map:act>
    </map:act>
   </map:match>

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; xmlns:java="http://xml.apache.org/xslt/java"; xmlns:collection="http://apache.org/cocoon/xmldb/1.0"; exclude-result-prefixes="java collection">

	<!-- form to send license key -->

	<xsl:import href="resources.xsl"/>
	<xsl:param name="lang" select="/page/session/session_info/data/lang"/>
	<xsl:variable name="title" select="'lkmlPageTitle'"/>
	<xsl:param name="serialNumber"/>
	<xsl:template match="/">

		<html>
			<head>
				<xsl:call-template name="header">
					<xsl:with-param name="title" select="$title"/>
					<xsl:with-param name="lang" select="$lang"/>
				</xsl:call-template>
			</head>
			<body>
				<xsl:call-template name="topH">
					<xsl:with-param name="title" select="$title"/>
					<xsl:with-param name="lang" select="$lang"/>
				</xsl:call-template>
				<form name="form" id="form" method="post" action="">
					<input type="hidden" name="submittedOnce" id="submittedOnce"/>
					<input type="hidden" name="serialNumber" id="serialNumber" value="$serialNumber"/>
					<!-- some things are required to be processed later :
					file name, license key -->
					<input type="hidden" name="filename" id="filename">
						<xsl:attribute name="value">
							<xsl:value-of select="/page/write/page/filename"/>
						</xsl:attribute>
					</input>
					<input type="hidden" name="licensekey" id="licensekey">
						<xsl:attribute name="value">
							<xsl:value-of select="/page/write/page/licensekey"/>
						</xsl:attribute>
					</input>
					<table border="0" cellpadding="5" cellspacing="5" width="60%">
						<tr>
							<td colspan="2" align="right">
								<div style="font-size: 18pt; font-weight: bold;">
									<xsl:value-of select="/page/mlform//mlForm/label[@ident='lkmlTitle']/desc[@lang=$lang]"/>
								</div>
							</td>
						</tr>
						<tr>
							<td colspan="2">
								<hr color="#003399"/>
							</td>
						</tr>
						<tr>
							<td>
								<xsl:value-of select="/page/mlform//mlForm/label[@ident='lkmlFrom']/desc[@lang=$lang]"/>:</td>

							<td align="left">
								<input type="hidden" name="emailFrom" id="emailFrom">
									<xsl:attribute name="value">
										<xsl:value-of select="/page/session/session_info//email"/>
									</xsl:attribute>
								</input>
								<input type="hidden" name="nameFrom" id="nameFrom">
									<xsl:attribute name="value">
										<xsl:value-of select="/page/session/session_info/data/fullname"/>
									</xsl:attribute>
								</input>
								<xsl:value-of select="/page/session/session_info/data/fullname"/>&#160;
								(<xsl:value-of select="/page/session/session_info//email"/>)</td>
						</tr>
						<!-- error -->
						<!-- if error element -->
						<error>
							<tr>
								<td>&#160;</td>
								<td>
									<xsl:attribute name="name">emailTo</xsl:attribute>
									<xsl:attribute name="when">no-match</xsl:attribute>
									<font color="red">
										<xsl:value-of select="/page/mlform//mlForm/label[@ident='lkmlJsToMissing']/desc[@lang=$lang]"/>
									</font>
								</td>
							</tr>
						</error>
						<tr>
							<td>
								<xsl:value-of select="/page/mlform//mlForm/label[@ident='lkmlTo']/desc[@lang=$lang]"/>&#160;(...;...) :</td>
							<td align="left">
								<input type="text" name="emailTo" id="emailTo" size="50" value=""/>
							</td>
						</tr>
						<!-- error -->
						<!-- if error element -->
						<error>
							<tr>
								<td>&#160;</td>
								<td>
									<xsl:attribute name="name">emailCc</xsl:attribute>
									<xsl:attribute name="when">no-match</xsl:attribute>
									<font color="red">
										<xsl:value-of select="/page/mlform//mlForm/label[@ident='lkmlJsToMissing']/desc[@lang=$lang]"/>
									</font>
								</td>
							</tr>
						</error>
						<tr>
							<td>
								<xsl:value-of select="/page/mlform//mlForm/label[@ident='lkmlCc']/desc[@lang=$lang]"/>&#160;(...;...) :</td>
							<td align="left">
								<input type="text" name="emailCc" id="emailCc" size="50"/>
							</td>
						</tr>
						<tr>
							<td>
								<xsl:value-of select="/page/mlform//mlForm/label[@ident='lkmlSubject']/desc[@lang=$lang]"/>:</td>
							<td align="left">
								<input type="text" name="subject" id="subject" size="50">
									<xsl:attribute name="value">License Key <xsl:value-of select="$serialNumber"/></xsl:attribute>
								</input>
							</td>
						</tr>
						<tr>
							<td>
								<xsl:value-of select="/page/mlform//mlForm/label[@ident='lkmlBody']/desc[@lang=$lang]"/>:</td>
							<td align="left">
								<img src="images/licKeyCard.gif"></img>
							</td>
						</tr>
						<tr>
							<td>
								<xsl:value-of select="/page/mlform//mlForm/label[@ident='lkmlEnclosedFile']/desc[@lang=$lang]"/>
							</td>
							<td align="left">

								<img src="images/Webfile.gif" border="0">
									<xsl:attribute name="alt">
										<xsl:value-of select="/page/write/page/filename"/>.xml</xsl:attribute>
								</img>
								<xsl:value-of select="/page/write/page/filename"/>.xml &#160;<img src="images/pdf.gif" border="0"><xsl:attribute name="alt"><xsl:value-of select="/page/write/page/filename"/>lt.pdf</xsl:attribute></img><xsl:value-of select="/page/write/page/filename"/>lt.pdf</td>
						</tr>
						<tr>
							<td colspan="2">
								<hr color="#003399"/>
							</td>
						</tr>
						<tr>
							<td colspan="2">
								<table border="0" width="100%">
									<tr>
										<td align="center">
											<a href="javascript:history.back()">
												<b>
													<xsl:value-of select="/page/mlform//mlForm/label[@ident='lkmlBack']/desc[@lang=$lang]"/>
												</b>
											</a>
										</td>
										<!-- license sending right ? -->
										<xsl:choose>
											<xsl:when test="/page/session/session_info/data/menu_rights[child::*='lkMailing_send']">
												<td width="50%" align="center">
													<a href="javascript:document.form.submit()">
														<b>
															<!-- send -->
															<xsl:value-of select="//mlForm/label[@ident='lkmlSend']/desc[@lang=$lang]"/>
														</b>
													</a>
												</td>
											</xsl:when>
											<xsl:otherwise>
												<td width="50%" align="center">
													<b>
														<i>
															<font color="SlateGray">
																<xsl:value-of select="/page/mlform//mlForm/label[@ident='lkmlSend']/desc[@lang=$lang]"/>
															</font>
														</i>
													</b>
												</td>
											</xsl:otherwise>
										</xsl:choose>
									</tr>
								</table>
							</td>
						</tr>
					</table>
				</form>
				<xsl:call-template name="footer"/>
			</body>
		</html>
	</xsl:template>

	<xsl:template match="text()">
	</xsl:template>
</xsl:stylesheet><!-- Stylus Studio meta-information - (c)1998-2002 eXcelon Corp.
<metaInformation>
<scenarios/><MapperInfo srcSchemaPath="" srcSchemaRoot="" srcSchemaPathIsRelative="yes" srcSchemaInterpretAsXML="no" destSchemaPath="" destSchemaRoot="" destSchemaPathIsRelative="yes" destSchemaInterpretAsXML="no"/>
</metaInformation>
-->
---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>

Reply via email to