/SampleApplication/ColdBox3/handlers/enquiry.cfc

http://github.com/bobsilverberg/ValidateThisColdBoxPlugin · ColdFusion CFScript · 59 lines · 42 code · 14 blank · 3 comment · 1 complexity · 796bb7019e819fb50995da425f5cad3f MD5 · raw file

  1. <cfcomponent extends="model.abstract.AbstractHandler" hint="the enquiry handler">
  2. <!---
  3. -------------------------------------------------------------------------
  4. dependancy injection
  5. -------------------------------------------------------------------------
  6. --->
  7. <cfproperty name="FormService" type="model:FormService" scope="instance">
  8. <!---
  9. -------------------------------------------------------------------------
  10. public handlers
  11. -------------------------------------------------------------------------
  12. --->
  13. <cffunction name="index" returntype="void" output="false" hint="I am the default event">
  14. <cfargument name="event" required="true">
  15. <cfscript>
  16. var rc = arguments.Event.getCollection();
  17. rc.Enquiry = instance.FormService.newEnquiry();
  18. // need an empty validation result object for display
  19. rc.ValidationResult = instance.FormService.newValidationResult();
  20. // get required fields
  21. rc.RequiredFields = instance.FormService.getEnquiryRequiredFields();
  22. // set view
  23. arguments.Event.setView( "enquiry/index" );
  24. </cfscript>
  25. </cffunction>
  26. <cffunction name="send" returntype="void" output="false" hint="I send an enquiry">
  27. <cfargument name="event" required="true">
  28. <cfscript>
  29. var rc = arguments.Event.getCollection();
  30. var SendResult = instance.FormService.sendEnquiry( rc );
  31. if ( SendResult.getIsSuccess() )
  32. {
  33. flash.put( "message", "Enquiry sent" );
  34. setNextEvent( "enquiry.index" );
  35. }
  36. else
  37. {
  38. rc.ValidationResult = SendResult;
  39. rc.Enquiry = rc.ValidationResult.getTheObject();
  40. rc.RequiredFields = instance.FormService.getEnquiryRequiredFields();
  41. arguments.Event.setView( "enquiry/index" );
  42. }
  43. </cfscript>
  44. </cffunction>
  45. </cfcomponent>