I was able to answer my own questions after fiddling around for a while. Thanks in Advance,
Cliff On Aug 25, 11:16 am, Clifford Moon <[email protected]> wrote: > Dennis, > > Forgive my stupidity, but in the above explanation, you mentioned > > Ideally the code that actually does the <cfmail> will be in a service CFC > retrieved from ColdSpring, e.g. getModelGlue().getBean( "EmailService"). > > I understand how to setup the bean in Coldspring, and assume I know how to > create the .cfc that needs to send out the emails, but how do I call those > components from my controller. I guess the crux of it is that I havent done > any OOP, and dont understand exactly what is going on by actually creating > the bean (it's purpose and utilization). I've done a lot of searching, but > havent found anything that really points to how to utilize the CFC service. > Do you have any links to Model Glue tutotials that reference using Beans. > > Any further help is greatly appreciated. > > Thanks in Advance, > > Cliff > > > > On Tue, Aug 24, 2010 at 9:03 PM, Dennis Clark <[email protected]> wrote: > > Hi Clifford, > > > There are many different ways to go about this, with many variations. I > > will give just one approach. > > > If you need to tell whether a save was an update or a create, I suggest > > modifying the saveHonors() method to return a value that indicates this. > > For example: > > > <cffunction name="saveHonors" access="public" returntype="boolean" > > output="false" hint="Return true if create, false if update"> > > > <cfargument name="Honors" type="any" required="true"/> > > > <cfif val( Honors.getID() ) GT 0 ><!--- Update ---> > > <cfset getHonorsDAO().update( arguments.Honors ) /> > > <cfreturn false /> > > <cfelse><!--- Insert ---> > > <cfset getHonorsDAO().create( arguments.Honors ) /> > > <cfreturn true /> > > </cfif> > > </cffunction> > > > Next, modify your HonorsFormSubmitted method to record the save status and > > the saved HonorsBean into the event context: > > > <cfset var HonorsCreated = "" /> > > <cfif isValid > > > <cfset HonorsCreated = HonorsService.saveHonors( > > HonorsBean ) /> > > <cfset > > arguments.event.setValue("HonorsCreated", HonorsCreated ) /> > > <cfset > > arguments.event.setValue("HonorsBean", HonorsBean ) /> > > > <cfset arguments.event.addResult("Success") /> > > <cfelse> > > <cfset arguments.event.setValue("ErrorStruct", > > ErrorStruct) /> > > <cfset arguments.event.addResult("Failure") /> > > </cfif> > > > Now, define a controller method called "emailSavedHonors" that uses > > arguments.event.getValue("HonorsBean") > > and arguments.event.getValue("HonorsCreated") to generate an email. Ideally > > the code that actually does the <cfmail> will be in a service CFC retrieved > > from ColdSpring, e.g. getModelGlue().getBean( "EmailService"). Remember to > > define an <message-listener> for the controller method. > > > Next, define a private event handler to broadcast the new message: > > > <event-handler name="EmailSavedHonors" access="private"> > > <broadcasts> > > <message name= "emailSavedHonors" /> > > </broadcasts> > > </event-handler> > > > Finally, add a result to your existing event handlers to queue this new > > event on success: > > > <event-handler name="SubmitHighSchoolFormData" type="templatedPage"> > > <broadcasts> > > <message name= "HonorsFormSubmitted" /> > > </broadcasts> > > <results> > > <result name="success" do="E > > mailSavedHonors" /> > > > <result name="success" > > do="HighSchoolApplicationResponse" /> > > <result name="failure" do="highschool" /> > > </results> > > </event-handler> > > > With all that in place, your HonorsFormSubmitted controller method should > > put all the data needed for emailing into the event context, and the event > > handler should queue one event to send the email and another event to return > > a response to the client. > > > We'll be here if you have any further questions. Good luck! > > > -- Dennis > > > On Tue, Aug 24, 2010 at 5:36 PM, Clifford Moon > > <[email protected]>wrote: > > >> Greetings, > > >> I'm working on our first ModelGlue app, and have modeled it pretty > >> much identical to the tutorial that Dan has on the NoDans.com > >> website. I'm saving a form using the controller.cfc, and utilizing > >> Service/Gateway/DAO breakdown as was setup in the tutorial. Here is a > >> snippet of the controller.cfc code where I'm actually saving the form. > >> <cffunction name="HonorsFormSubmitted" access="public" > >> returnType="void" output="false" hint="???"> > >> <cfargument name="event" type="any"> > >> <cfset var HonorsBean = > >> getModelGlue().getBean("HonorsBean") / > > >> <cfset var HonorsService = > >> getModelGlue().getBean( "HonorsService") /> > >> <cfset var HonorsList = HonorsService.getHonorsListActive() /> > >> <cfset var ErrorStruct = structNew() /> > >> <cfset var isValid = false /> > > >> <cfset arguments.event.makeEventBean( HonorsBean ) /> > >> <cfset isValid = HonorsBean.validate (ErrorStruct) /> > > >> <cfif isValid > > >> <cfset HonorsService.saveHonors( HonorsBean ) /> > >> <cfset arguments.event.addResult("Success") /> > >> <cfelse> > >> <cfset arguments.event.setValue("ErrorStruct", > >> ErrorStruct) /> > >> <cfset arguments.event.addResult("Failure") /> > >> </cfif> > > >> </cffunction> > > >> My Issue is that after I save this form, I need to email several > >> individuals various files/data that they will need. If the data > >> validates and then saves, I'm confused how to get the ID of the record > >> that was just saved, and where I need to place the call to the EMAIL > >> function. We are using an Oracle Database for this application. > >> Should the call to EMAIL be in the isValid CFIF above, and if so, how > >> do I pass something back from the DAO file that can tell me that it > >> was CREATED and not UPDATED. > > >> Hope I haven't confused anyone, and thanks in Advance for any help. > >> I'm still floundering with the ModelGlue concepts, but reading the > >> tutorials and newsgroups have given us lots of help. > > >> I'm including the BEAN, DAO, GW,MODELGLUE.XML and SERVICE Files in > >> case they are needed.. > > >> -- > > Model-Glue Sites: > > Home Page:http://www.model-glue.com > > Documentation:http://docs.model-glue.com > > Bug Tracker:http://bugs.model-glue.com > > Blog:http://www.model-glue.com/blog > > > You received this message because you are subscribed to the Google > > Groups "model-glue" group. > > To post to this group, send email to [email protected] > > To unsubscribe from this group, send email to > > [email protected]<model-glue%2bunsubscr...@googlegrou > > ps.com> > > For more options, visit this group at > >http://groups.google.com/group/model-glue?hl=en -- Model-Glue Sites: Home Page: http://www.model-glue.com Documentation: http://docs.model-glue.com Bug Tracker: http://bugs.model-glue.com Blog: http://www.model-glue.com/blog You received this message because you are subscribed to the Google Groups "model-glue" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/model-glue?hl=en
