Guest User

Untitled

a guest
Jul 16th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.33 KB | None | 0 0
  1. <cffunction name="saveForm" output="false" access="public" returntype="any" hint="I will attempt to save the form object">
  2. <cfargument name="event" type="any" required="true">
  3. <cfset local = {} />
  4. <cfset local.tempdir = event.getValue("ApplicationSettings").getConfigSetting("tempformpath") />
  5. <cfset local.formdir = event.getValue("ApplicationSettings").getConfigSetting("formpath") />
  6. <cfset local.formid = arguments.event.getValue('formid')>
  7. <cfset local.isNew = false>
  8.  
  9. <!--- get an existing form object or create a new one --->
  10. <cfif isNewRecord( local.formid )>
  11. <cfset local.form = EntityNew('form')>
  12. <cfset local.isNew = true>
  13. <cfelse>
  14. <cfset local.form = EntityLoadByPK('form', local.formid) />
  15. <!--- reset the relationships --->
  16. <cfset local.form.setPractitionerType([]) />
  17. <cfset local.form.setDepartment([]) />
  18. <cfset local.form.setDivision([]) />
  19. <cfset local.form.setPrivilege([]) />
  20. <cfset local.form.setSignatureType([]) />
  21. </cfif>
  22.  
  23. <!--- populate items from radio / checkboxes --->
  24. <cfif len(arguments.event.getvalue('formusetypeid'))>
  25. <cfset local.formusetype = entitynew('formusetype') />
  26. <cfset local.formusetype.setformusetypeid(arguments.event.getvalue( 'formusetypeid' )) />
  27. <cfset local.form.setformusetype(local.formusetype)>
  28. </cfif>
  29.  
  30. <cfif len(arguments.event.getvalue('documentTypeId'))>
  31. <cfset local.documentType = entitynew('documentType')>
  32. <cfset local.documentType.setDocumentTypeId( arguments.event.getValue( 'documentTypeId' ) )>
  33. <cfset local.form.setDocumentType( local.documentType )>
  34. </cfif>
  35.  
  36. <cfif len(arguments.event.getvalue('practitionertypeid'))>
  37. <cfloop from="1" to="#listlen(trim( arguments.event.getvalue('practitionertypeid') ))#" index="local.practitionertype">
  38. <cfset local.pt = entitynew('practitionertype')>
  39. <cfset local.pt.setpractitionertypeid( '#listgetat( arguments.event.getvalue("practitionertypeid"), local.practitionertype)#' )>
  40. <cfset local.form.addpractitionertype( local.pt )>
  41. </cfloop>
  42. </cfif>
  43.  
  44. <cfif len(arguments.event.getvalue('departmentid'))>
  45. <cfloop from="1" to="#listlen(trim( arguments.event.getvalue('departmentid') ))#" index="local.department">
  46. <cfset local.dept = entitynew('department')>
  47. <cfset local.dept.setdepartmentid( '#listgetat( arguments.event.getvalue("departmentid"), local.department)#' )>
  48. <cfset local.form.adddepartment( local.dept )>
  49. </cfloop>
  50. </cfif>
  51.  
  52. <cfif len(arguments.event.getvalue('divisionid'))>
  53. <cfloop from="1" to="#listlen(trim( arguments.event.getvalue('divisionid') ))#" index="local.division">
  54. <cfset local.div = entitynew('division')>
  55. <cfset local.div.setdivisionid( '#listgetat( arguments.event.getvalue("divisionid"), local.division)#' )>
  56. <cfset local.form.adddivision( local.div )>
  57. </cfloop>
  58. </cfif>
  59.  
  60. <cfif len(arguments.event.getvalue('privilegeId'))>
  61. <cfloop from="1" to="#ListLen(trim( arguments.event.getvalue('privilegeId') ))#" index="local.privilege">
  62. <cfset local.priv = entityNew('privilege')>
  63. <cfset local.priv.setPrivilegeId( '#listGetAt( arguments.event.getvalue("privilegeId"), local.privilege)#' )>
  64. <cfset local.form.addPrivilege( local.priv )>
  65. </cfloop>
  66. </cfif>
  67.  
  68. <cfif len(arguments.event.getvalue('signatureTypeId'))>
  69. <cfloop from="1" to="#ListLen(trim( arguments.event.getvalue('signatureTypeId') ))#" index="local.signature">
  70. <cfset local.sig = entityNew('signatureType')>
  71. <cfset local.sig.setSignatureTypeId( '#listGetAt( arguments.event.getvalue("signatureTypeId"), local.signature)#' )>
  72. <cfset local.form.addSignatureType( local.sig )>
  73. </cfloop>
  74. </cfif>
  75.  
  76. <cfset local.formfield = 'form.newfilename' />
  77.  
  78. <cfif len( form.newfilename )>
  79. <cfset local.newfile = beans.filemanager.uploadFile( local ) />
  80.  
  81. <cfif local.newfile.fileWasSaved>
  82. <!--- verify file is a PDF --->
  83. <cfset local.isPDF = beans.filemanager.isValidPDF( local.newfile.serverdirectory & "/" & local.newfile.serverfile ) />
  84.  
  85. <!--- cleanup file name and move to proper directory --->
  86. <cfif local.isPDF>
  87. <cfset local.file = {} />
  88. <cfif isNew>
  89. <cfset local.file.newfilename = helpers.utils.filterFilename( newFile.serverfilename ) & "." & newfile.serverfileext />
  90. <cfelse>
  91. <cfset local.file.newfilename = local.form.getnewfilename() />
  92. </cfif>
  93.  
  94. <cfset beans.filemanager.moveFile( local.newfile.serverdirectory & "/" & local.newfile.serverfile, local.formdir & "/" & local.file.newfilename)>
  95. <cfelse>
  96. <cfset beans.filemanager.deleteFile( local.tempdir, local.newfile.serverfile )>
  97. <cfset event.getValue("UserMsg").addError("Please upload a valid PDF") />
  98. <!--- stop the queue and forward to error --->
  99. <cfset arguments.event.forward("form.edit") />
  100. </cfif> <!--- // local.isPDF --->
  101. <cfelse>
  102. <cfset event.getValue("UserMsg").addError("There was an issue uploading the PDF file") />
  103. <cfset arguments.event.forward("form.edit", "formid") />
  104. </cfif> <!--- // local.newfile.fileWasSaved --->
  105.  
  106. <cfset local.form.setNewFilename( local.file.newfilename ) />
  107. </cfif>
  108.  
  109. <!--- populate form object before saving --->
  110. <cfset local.form.setFormName( "#arguments.event.getValue('formname')#" ) />
  111.  
  112. <!--- validate data --->
  113. <cfset local.result = beans.validateThis.validate( theObject=local.form ) />
  114.  
  115. <!--- if there are validation errors - handle them / otherwise save the form --->
  116. <cfif local.result.hasErrors()>
  117. <cfset event.setvalue('formvalidation', local.result.getfailuresasvalidationerrorcollection()) />
  118. <cfset arguments.event.addResult("failure") />
  119. <cfset event.getValue("UserMsg").addError("Please fix the validation issues below.") />
  120. <cfelse>
  121. <cftry>
  122. <cfset beans.formmanager.saveFormUpload( local.form ) />
  123. <cfset arguments.event.getValue( "UserMsg" ).addInfo( "Form successfully added." ) />
  124. <cfset arguments.event.addResult( "success" ) />
  125. <cfcatch>
  126. <cfset local.errors[1] = cfcatch.message>
  127. <cfset event.getValue("UserMsg").addError("There was an issue uploading the form.") />
  128. <cfset arguments.event.setValue("errors", local.errors) />
  129. <cfset arguments.event.setValue("FormRecord", local.form) />
  130. <cfset arguments.event.addResult("failure") />
  131. </cfcatch>
  132. </cftry>
  133. </cfif>
  134. </cffunction>
Add Comment
Please, Sign In to add comment