you're right, it seems that either bSessionOnly is not working, or something
else is going on. I'm trying to remember if for some reason the db saving
has to happen twice because of the arrays or something similar.

Have you tried tracing this through? I don't have any clues for you, sorry.

On Wed, Oct 28, 2009 at 4:20 PM, Marco van den Oever <
[email protected]> wrote:

>
> OK here it is:
>
>
>
>
> <ft:processForm action="Verzenden" exit="true">
>
> <ft:processFormObjects typename="emailberichten" bSessionOnly="true" /
> >
>
> <!--- if a emailberichten object was succesfully saved --->
> <cfif len(lSavedObjectIDs)>
>
> <!--- get the emailberichten object data to get other relative data
> that needs to be included --->
> <cfset stemailberichten = getData(objectid=lSavedObjectIDs) />
>
> <!--- get the emailadresverzender emailaddress --->
> <cfset obj = createObject
> ('component',application.stcoapi.emailaccounts.typePath) />
> <cfset emailadresverzender = obj.getdata
> (objectid=stemailberichten.aemailaccounts) />
>
> <!--- loop over the selected contactpersonen --->
> <cfloop index="i" array="#stemailberichten.acontactpersonen#">
>
> <!--- set incrementing custom currentrow variable so based on that
> value we can set or don't set some other variables --->
> <cfparam name="currentrow" default="0">
> <cfset currentrow = currentrow + 1>
>
> <!--- get current contactpersonen item based on current
> acontactpersonen loop array item --->
> <cfset obj = createObject
> ('component',application.stcoapi.contactpersonen.typePath) />
> <cfset contactpersoon = obj.getdata(objectid=i) />
>
> <!--- set default emailadresontvangerlist variable value to use if one
> emailadresontvanger exists, or as default variable to further build a
> loop building list, only set this variable when currentrow is 1 as it
> is only used when there is only one emailadresontvanger --->
> <cfif currentrow eq "1">
> <cfset emailadresontvangerlist = contactpersoon.emailadres>
> </cfif>
>
> <!--- if there are more then one emailadresontvangers, add them to
> list, only set this variable when currentrow is not 1 as it is only
> used when there are more then one emailadresontvangers, also when used
> in currentrow 1 it would duplicate the previous set
> emailadresontvangerlist variable --->
> <cfif arraylen(stemailberichten.acontactpersonen) gte 2 and currentrow
> neq "1">
> <cfset emailadresontvangerlist = emailadresontvangerlist & "," &
> contactpersoon.emailadres>
> </cfif>
>
> </cfloop>
>
> <!--- write email to db --->
> <cfset obj = createObject
> ('component',application.stcoapi.emailberichten.typePath) />
> <cfset stprops = {} />
> <cfset stprops.emailadresontvanger = emailadresontvangerlist />
> <cfset stprops.emailadresverzender = emailadresverzender.emailadres />
> <cfset stprops.emailonderwerp = stemailberichten.emailonderwerp />
> <cfset stprops.emailtekst = stemailberichten.emailtekst />
> <cfset stprops.label = stemailberichten.emailonderwerp />
> <cfset obj.createData(stProperties=stprops) />
>
> <!--- set message id for cfmail --->
> <cfset messageid = listlast(stobj.emailadresontvanger,"@")>
> <cfset messageid = createuuid() & "@" & messageid>
>
> <!--- send the email --->
> <cfmail type="html"
> from="#emailadresverzender.emailadres#"
> to="#emailadresontvangerlist#"
> subject="#stemailberichten.emailonderwerp# -
> ###stemailberichten.objectid#">
>        #stemailberichten.emailonderwerp# -
> ###stemailberichten.objectid#
>                <br />
>        <br />
>        #replace(stemailberichten.emailtekst,Chr(13),"<br>", "all")
> #<br />
>        <br />
>        <br />
>        Vriendelijke groeten,
>                <br />
>                <br />
>                #session.dmprofile.firstname# #session.dmprofile.lastname#.
>                <br />
>        <br />
>        http://#cgi.http_host#<br />
>
> <!--- if a file is submitted in the email --->
> <cfif arraylen(stemailberichten.aemailbestanden)>
>
> <!--- loop over the selected emailbestanden --->
> <cfloop index="i" array="#stemailberichten.aemailbestanden#">
>
> <!--- get current dmfile item based on current aemailbestanden loop
> array item --->
> <cfset obj = createObject
> ('component',application.stcoapi.dmfile.typePath) />
> <cfset emailbestand = obj.getdata(objectid=i) />
>
> <!--- set file path --->
> <cfset file = "http://www."; & listlast
> (emailadresverzender.emailadres,"@") & "/
> files#emailbestand.filename#">
>
> <!--- set cfmailparam with current loop file --->
> <cfmailparam file="#file#">
> </cfloop>
>
> </cfif>
>
> <!--- if a image is submitted in the email --->
> <cfif arraylen(stemailberichten.aemailafbeeldingen)>
>
> <!--- loop over the selected emailafbeeldingen --->
> <cfloop index="i" array="#stemailberichten.aemailafbeeldingen#">
>
> <!--- get current dmimage item based on current aemailafbeeldingen
> loop array item --->
> <cfset obj = createObject
> ('component',application.stcoapi.dmimage.typePath) />
> <cfset emailafbeelding = obj.getdata(objectid=i) />
>
> <!--- set image path --->
> <cfset file = "http://www."; & listlast
> (emailadresverzender.emailadres,"@") & emailafbeelding.sourceimage>
>
> <!--- set cfmailparam with current loop file --->
> <cfmailparam file="#file#">
> </cfloop>
>
> </cfif>
>
> <cfmailparam name="Message-Id" value="<#messageid#>">
> <cfmailparam name="Reply-To" value="#emailadresverzender.emailadres#">
> <cfmailparam name="MIME-Version" value="1.0">
>
> </cfmail>
>
> </cfif>
>
> </ft:processForm>
>
>
>
>
> On Oct 28, 9:04 pm, Tomek Kott <[email protected]> wrote:
> > it would probably help if you gave the entire "processForm" tag code,
> unless
> > the code you gave is the only thing in there.
> >
> > On Wed, Oct 28, 2009 at 2:54 PM, Marco van den Oever <
> >
> > [email protected]> wrote:
> >
> > > OK, i have a custom type that uses bSessionOnly="true" so i can set
> > > the properties.
> > > In the type i can use 2 array related fields, dmfile and dmimage.
> >
> > > I have only one obj.createData in the "processForm" and the
> > > processForm action name is unique to others on the same page...
> >
> > > Still, when i execute the code i get two db inserts, one is using the
> > > properties like i stated in my custom code:
> >
> > > <!--- write email to db --->
> > > <cfset obj = createObject
> > > ('component',application.stcoapi.emailberichten.typePath) />
> > > <cfset stprops = {} />
> > > <cfset stprops.emailadresontvanger = emailadresontvangerlist />
> > > <cfset stprops.emailadresverzender = emailadresverzender.emailadres />
> > > <cfset stprops.emailonderwerp = stemailberichten.emailonderwerp />
> > > <cfset stprops.emailtekst = stemailberichten.emailtekst />
> > > <cfset stprops.label = stemailberichten.emailonderwerp />
> > > <cfset obj.createData(stProperties=stprops) />
> >
> > > The other record inserts like it should when you don't use a
> > > bSessionOnly="true".
> >
> > > Any insights, is it because there are related arrays involved???
> >
> > > Thanks.
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message cos you are subscribed to "farcry-dev" Google group.
To post, email: [email protected]
To unsubscribe, email: [email protected]
For more options: http://groups.google.com/group/farcry-dev
--------------------------------
Follow us on Twitter: http://twitter.com/farcry
-~----------~----~----~----~------~----~------~--~---

Reply via email to