Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

461 řádky
18KB

  1. <% Option Explicit %>
  2. <!--#include file="../../include_all.asp"-->
  3. <!--#include file="../../ViewModels/KitViewModels.asp"-->
  4. <!--#include file="../../DomainModels/PurpleEnvelopeReportHelper.asp"-->
  5. <%
  6. Class KitController
  7. Public Model
  8. Public Sub SwitchBoardIndex
  9. dim page_size : page_size = 10
  10. dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1)
  11. dim page_count, record_count
  12. set Model = new PagedIndex_ViewModel_Class
  13. Model.Title = "Tracking Kits"
  14. set Model.Kit = KitRepository.PagedIndexView(page_size, page_num, page_count, record_count)
  15. Model.CurrentPageNumber = page_num
  16. Model.PageSize = page_size
  17. Model.PageCount = page_count
  18. Model.RecordCount = record_count
  19. %> <!--#include file="../../Views/Kit/SwitchBoardIndex.asp"--> <%
  20. End Sub
  21. Public Sub SwitchBoardPurpleEnvelopsIndex
  22. dim page_size : page_size = 10
  23. dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1)
  24. dim page_count, record_count
  25. set Model = new SwitchBoard_PurpleEnvelopesViewModel_Class
  26. Model.Title = "Purple Envelope Kits"
  27. set Model.Kit = KitRepository.PagedPurpleEnvelopsIndexView(page_size, page_num, page_count, record_count)
  28. Model.CurrentPageNumber = page_num
  29. Model.PageSize = page_size
  30. Model.PageCount = page_count
  31. Model.RecordCount = record_count
  32. %> <!--#include file="../../Views/Kit/SwitchBoardPurpleEnvelopeIndex.asp"--> <%
  33. End Sub
  34. Public Sub SwitchBoardPurpleEnvelopeEditPost
  35. MVC.RequirePost
  36. HTMLSecurity.OnInvalidAntiCsrfTokenRedirectToActionExt "KitEditForm", Request.Form("nonce"), "Edit", Array("Id", Request.Form("Id"))
  37. dim ID : ID = Request.Form("Id")
  38. dim model : set model = KitRepository.FindByID(ID)
  39. set model = Automapper.AutoMap(Request.Form, model)
  40. model.InboundSTID = Null
  41. model.Status = "Ready to Assign Labels"
  42. 'model.Validate
  43. 'If model.Validator.HasErrors then
  44. FormCache.SerializeForm "EditKit", Request.Form
  45. ' Flash.Errors = model.Validator.Errors
  46. ' MVC.RedirectToActionExt "Edit", Array("Id",ID)
  47. 'Else
  48. KitRepository.Update model
  49. FormCache.ClearForm "EditKit"
  50. Flash.Success = "Kit updated."
  51. MVC.RedirectToAction "Index"
  52. 'End If
  53. End Sub
  54. Public Sub AssignKitColorPost
  55. MVC.RequirePost
  56. HTMLSecurity.OnInvalidAntiCsrfTokenRedirectToActionExt "ColorAssignForm", Request.Form("nonce"), "SwitchBoardPurpleEnvelopeEdit", Array("Id", Request.Form("Id"))
  57. dim ID : ID = Request.Form("Id")
  58. If Len(Request.Form("KitColorId")) > 0 AND Request.Form("KitColorId") <> "" Then
  59. InkjetRecordsRepository.UpdateColorForKit CLng(ID), CLng(Request.Form("KitColorId"))
  60. End If
  61. Flash.Success = "Color applied to all labels in kit."
  62. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", ID)
  63. End Sub
  64. Public Sub AssignPrecinctColorsPost
  65. MVC.RequirePost
  66. HTMLSecurity.OnInvalidAntiCsrfTokenRedirectToActionExt "ColorAssignForm", Request.Form("nonce"), "SwitchBoardPurpleEnvelopeEdit", Array("Id", Request.Form("Id"))
  67. dim ID : ID = Request.Form("Id")
  68. dim key
  69. For Each key In Request.Form
  70. If Left(key, 14) = "PrecinctColor_" Then
  71. dim precinct : precinct = Mid(key, 15)
  72. dim colorId : colorId = Request.Form(key)
  73. If Len(colorId) > 0 AND colorId <> "" Then
  74. InkjetRecordsRepository.UpdateColorForPrecinct CLng(ID), precinct, CLng(colorId)
  75. End If
  76. End If
  77. Next
  78. Flash.Success = "Precinct colors saved."
  79. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", ID)
  80. End Sub
  81. Public Sub SwitchBoardPurpleEnvelopeEdit
  82. dim id : id = Request.QueryString("Id")
  83. set Model = new SwitchBoard_ViewModel_Class
  84. set Model.Kit = KitRepository.SwitchBoardPurpleEnvelopeEditFindById(id)
  85. set Model.StidDropDown = SettingsRepository.GetStidDropDownRS()
  86. set Model.ColorsDropDown = ColorsRepository.GetColorsDropDownRS()
  87. set Model.Precincts = PurpleEnvelopeReportHelper().SortPrecinctColorRows(InkjetRecordsRepository.GetDistinctPrecinctsByKitId(id))
  88. set Model.PrecinctBallotRanges = PurpleEnvelopeReportHelper().SortPrecinctBallotRangeRows(InkjetRecordsRepository.GetPrecinctBallotRangesByKitId(id))
  89. On Error Resume Next
  90. Model.PurpleEnvelopeElectionLabel = PurpleEnvelopeReportHelper().FormatElectionLabel(SettingsRepository.FindByName("Electiondate"))
  91. If Err.Number <> 0 Then
  92. Model.PurpleEnvelopeElectionLabel = ""
  93. Err.Clear
  94. End If
  95. On Error GoTo 0
  96. Model.Title = "Purple Envelopes for "
  97. HTMLSecurity.SetAntiCSRFToken "KitEditForm"
  98. HTMLSecurity.SetAntiCSRFToken "ColorAssignForm"
  99. %> <!--#include file="../../Views/Kit/SwitchBoardPurpleEnvelopeEdit.asp"--> <%
  100. End Sub
  101. Public Sub Index
  102. dim page_size : page_size = 10
  103. dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1)
  104. dim page_count, record_count
  105. set Model = new PagedIndex_ViewModel_Class
  106. Model.Title = "Tracking Kits"
  107. set Model.Kit = KitRepository.FindPaged(empty, "ID", page_size, page_num, page_count, record_count)
  108. Model.CurrentPageNumber = page_num
  109. Model.PageSize = page_size
  110. Model.PageCount = page_count
  111. Model.RecordCount = record_count
  112. %> <!--#include file="../../Views/Kit/Index.asp"--> <%
  113. End Sub
  114. Public Sub Search
  115. dim searchValue:searchValue = Choice(Request.Form.Count = 0,Request.QueryString("q"),Request.Form("q"))
  116. dim page_size : page_size = 10
  117. dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1)
  118. dim page_count, record_count
  119. set Model = new PagedIndex_ViewModel_Class
  120. Model.Title = "Kit"
  121. set Model.Kit = KitRepository.SearchTablePaged(Array("ID","%" & searchValue & "%","JobNumber","%" & searchValue & "%","Jcode","%" & searchValue & "%"),"ID", page_size, page_num, page_count, record_count)
  122. Model.CurrentPageNumber = page_num
  123. Model.PageSize = page_size
  124. Model.PageCount = page_count
  125. Model.RecordCount = record_count
  126. %> <!--#include file="../../Views/Kit/Index.asp"--> <%
  127. End Sub
  128. Public Sub SwitchBoardEdit
  129. Flash.ShowSuccessIfPresent
  130. dim id : id = Request.QueryString("Id")
  131. set Model = new SwitchBoard_ViewModel_Class
  132. set Model.Kit = KitRepository.SwitchBoardEditFindById(id)
  133. set Model.Labels = KitLabelsRepository.Find(Array("KitId =?",id),empty)
  134. Model.Title = "Kit for "
  135. HTMLSecurity.SetAntiCSRFToken "KitEditForm"
  136. %> <!--#include file="../../Views/Kit/SwitchBoardEdit.asp"--> <%
  137. End Sub
  138. Public Sub ExportTrackingLabels(id)
  139. dim KitInfo : Set KitInfo = KitRepository.FindByID(id)
  140. dim JurisdictionInfo : Set JurisdictionInfo = JurisdictionRepository.FindByJCode(KitInfo.Jcode)
  141. ReportManager.Filename = Request.ServerVariables("APPL_PHYSICAL_PATH") & "Data\Label_Report.rep"
  142. if dev = true Then
  143. ReportManager.SetDatabaseConnectionString "TRACKINGKITLABELS","Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "Data\webdata - Copy.mdb;"
  144. else
  145. ReportManager.SetDatabaseConnectionString "TRACKINGKITLABELS","Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=C:\inetpub\Data\webdata - Copy.mdb;"
  146. End If
  147. ReportManager.Preview = false
  148. ReportManager.ShowProgress = false
  149. ReportManager.ShowPrintDialog = false
  150. ReportManager.SetParamValue "PBKITID", CInt(id)
  151. if FSO.FolderExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name) = False then
  152. FSO.CreateFolder(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name)
  153. end if
  154. if FSO.FileExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_labels.pdf") then
  155. FSO.DeleteFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_labels.pdf")
  156. end if
  157. ReportManager.SaveToPdf Request.ServerVariables("APPL_PHYSICAL_PATH") & "\Data\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & " Labels.pdf",1
  158. FSO.MoveFile Request.ServerVariables("APPL_PHYSICAL_PATH") & "\Data\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & " Labels.pdf" , ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_labels.pdf"
  159. End Sub
  160. Public Sub ExportSnailWorksTracking(id)
  161. dim KitInfo : Set KitInfo = KitRepository.FindByID(id)
  162. dim JurisdictionInfo : Set JurisdictionInfo = JurisdictionRepository.FindByJCode(KitInfo.Jcode)
  163. if FSO.FolderExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name) = False then
  164. FSO.CreateFolder(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name)
  165. end if
  166. if FSO.FileExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv") then
  167. FSO.DeleteFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv")
  168. end if
  169. dim export: set export = SnailWorksRepository.GetSnailWorksExportById(id)
  170. if export.DetailRecords.Count > 0 Then
  171. dim objExportFile: Set objExportFile = FSO.CreateTextFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv",2)
  172. With objExportFile
  173. .Write """" & export.Header.RecordType & ""","
  174. .Write """" & export.Header.Version & ""","
  175. .Write """" & export.Header.UserId & ""","
  176. .Write """" & export.Header.ClientName & ""","
  177. .Write """" & export.Header.ParentClientName & ""","
  178. .Write """" & export.Header.JobName & ""","
  179. .Write """" & export.Header.JobDescription & ""","
  180. .Write """" & export.Header.SplitName & ""","
  181. .Write """" & export.Header.SplitDescription & ""","
  182. .Write """" & export.Header.PieceType & ""","
  183. .Write """" & export.Header.MailDate & ""","
  184. .Write """" & export.Header.UploadType & ""","
  185. .Write """" & export.Header.TrackedQuanity & ""","
  186. .Write """" & export.Header.PiecesMailed & ""","
  187. .Write """" & export.Header.TargetInHomeDateStart & ""","
  188. .Write """" & export.Header.TargetInHomeDateEnd & ""","
  189. .Write """" & export.Header.ConfirmationEmail & ""","
  190. .Write """" & export.Header.JobId & ""","
  191. .Write """" & export.Header.SplitId & ""","
  192. .Write """" & export.Header.TypeOfTracking & ""","
  193. .Write """" & export.Header.ReturnedPostalRoutingCode & ""","
  194. .Write """" & export.Header.ReportId1 & ""","
  195. .Write """" & export.Header.Report1Email & ""","
  196. .Write """" & export.Header.ReportId2 & ""","
  197. .Write """" & export.Header.Report2Email & ""","
  198. .Write """" & export.Header.INFOONLY & """"
  199. .Write vbCrLf
  200. dim it:set it = export.DetailRecords.Iterator
  201. dim records
  202. while it.HasNext
  203. set records = it.GetNext()
  204. .Write """" & records.RecordType & ""","
  205. .Write """" & records.CustomerUniqueIdentifier & ""","
  206. .Write """" & records.IMB & ""","
  207. .Write """" & records.Greeting & ""","
  208. .Write """" & records.FirstName & ""","
  209. .Write """" & records.MI & ""","
  210. .Write """" & records.LastName & ""","
  211. .Write """" & records.Suffix & ""","
  212. .Write """" & records.FullName & ""","
  213. .Write """" & records.Company & ""","
  214. .Write """" & records.Title & ""","
  215. .Write """" & records.Address1 & ""","
  216. .Write """" & records.Address2 & ""","
  217. .Write """" & records.City & ""","
  218. .Write """" & records.State & ""","
  219. .Write """" & records.Zip & ""","
  220. .Write """" & records.UserDefined1 & ""","
  221. .Write """" & records.UserDefined2 & ""","
  222. .Write """" & records.UserDefined3 & ""","
  223. .Write """" & records.UserDefinedIdentifier4 & ""","
  224. .Write """" & records.UserDefinedIdentifier5 & ""","
  225. .Write """" & records.SeedIndicator & ""","
  226. .Write """" & records.InductionPoint & ""","
  227. .Write """" & records.InductionDate & ""","
  228. .Write """" & records.InBoundIMB & ""","
  229. .Write """" & records.IMCB & ""","
  230. .Write """" & records.IMTB & """" & vbCRLF
  231. Wend
  232. End With
  233. End If
  234. End Sub
  235. Public Sub Edit
  236. dim id : id = Request.QueryString("Id")
  237. set Model = new Edit_ViewModel_Class
  238. set Model.Kit = KitRepository.FindByID(id)
  239. Model.Title = "Edit Kit"
  240. HTMLSecurity.SetAntiCSRFToken "KitEditForm"
  241. %> <!--#include file="../../Views/Kit/Edit.asp"--> <%
  242. Flash.Success = "Kit Updated."
  243. End Sub
  244. Public Sub EditPost
  245. MVC.RequirePost
  246. HTMLSecurity.OnInvalidAntiCsrfTokenRedirectToActionExt "KitEditForm", Request.Form("nonce"), "Edit", Array("Id", Request.Form("Id"))
  247. dim ID : ID = Request.Form("Id")
  248. dim originalModel : set originalModel = KitRepository.FindByID(ID)
  249. dim model : set model = KitRepository.FindByID(ID)
  250. set model = Automapper.AutoMap(Request.Form, model)
  251. ' Handle date fields - if empty string, preserve original value or set to Null
  252. If Len(Trim(model.CreatedOn & "")) = 0 Then
  253. model.CreatedOn = originalModel.CreatedOn
  254. End If
  255. If Len(Trim(model.LabelsPrinted & "")) = 0 Then
  256. model.LabelsPrinted = Null
  257. End If
  258. If Len(Trim(model.ExportedToSnailWorks & "")) = 0 Then
  259. model.ExportedToSnailWorks = Null
  260. End If
  261. ' Handle boolean/numeric fields - convert "True"/"False" strings to proper numeric values
  262. If UCase(Trim(model.InkJetJob & "")) = "TRUE" Then
  263. model.InkJetJob = -1
  264. ElseIf UCase(Trim(model.InkJetJob & "")) = "FALSE" Then
  265. model.InkJetJob = 0
  266. ElseIf Len(Trim(model.InkJetJob & "")) = 0 Then
  267. model.InkJetJob = 0
  268. End If
  269. If UCase(Trim(model.Cass & "")) = "TRUE" Then
  270. model.Cass = -1
  271. ElseIf UCase(Trim(model.Cass & "")) = "FALSE" Then
  272. model.Cass = 0
  273. ElseIf Len(Trim(model.Cass & "")) = 0 Then
  274. model.Cass = 0
  275. End If
  276. ' Handle numeric fields - if empty string, set to 0 or Null
  277. If Len(Trim(model.OfficeCopiesAmount & "")) = 0 Then
  278. model.OfficeCopiesAmount = 0
  279. End If
  280. ' Handle STID fields - if empty string, set to Null
  281. If Len(Trim(model.OutboundSTID & "")) = 0 Then
  282. model.OutboundSTID = Null
  283. End If
  284. If Len(Trim(model.InboundSTID & "")) = 0 Then
  285. model.InboundSTID = Null
  286. End If
  287. 'model.Validate
  288. 'If model.Validator.HasErrors then
  289. FormCache.SerializeForm "EditKit", Request.Form
  290. ' Flash.Errors = model.Validator.Errors
  291. ' MVC.RedirectToActionExt "Edit", Array("Id",ID)
  292. 'Else
  293. KitRepository.Update model
  294. FormCache.ClearForm "EditKit"
  295. Flash.Success = "Kit updated."
  296. MVC.RedirectToAction "Index"
  297. 'End If
  298. End Sub
  299. Public Sub CreateTrackingKit
  300. dim form_params : set form_params = FormCache.DeserializeForm("NewKit")
  301. dim ID : ID = Request.QueryString("Id")
  302. dim model : set model = new Create_ViewModel_Class
  303. model.Title = "Create Kit "
  304. model.JCode = ID
  305. dim ugh : set ugh = JurisdictionRepository.Find(Array("[JCode] = ?",ID),empty)
  306. set model.Jurisdiction = ugh.pop()
  307. 'If Not form_params Is Nothing then
  308. ' set Model = Automapper.AutoMap(form_params, New Create_ViewModel_Class)
  309. 'Else
  310. ' set Model = new Create_ViewModel_Class
  311. 'End If
  312. HTMLSecurity.SetAntiCSRFToken "KitCreateForm"
  313. %> <!--#include file="../../Views/Kit/CreateTrackingKit.asp"--> <%
  314. End Sub
  315. Public Sub Create
  316. dim form_params : set form_params = FormCache.DeserializeForm("NewKit")
  317. dim ID : ID = Request.QueryString("Id")
  318. dim model : set model = new Create_ViewModel_Class
  319. model.Title = "Create Kit "
  320. model.JCode = ID
  321. dim ugh : set ugh = JurisdictionRepository.Find(Array("[JCode] = ?",ID),empty)
  322. set model.Jurisdiction = ugh.pop()
  323. 'If Not form_params Is Nothing then
  324. ' set Model = Automapper.AutoMap(form_params, New Create_ViewModel_Class)
  325. 'Else
  326. ' set Model = new Create_ViewModel_Class
  327. 'End If
  328. HTMLSecurity.SetAntiCSRFToken "KitCreateForm"
  329. %> <!--#include file="../../Views/Kit/Create.asp"--> <%
  330. End Sub
  331. Public Sub CreatePost
  332. MVC.RequirePost
  333. HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitCreateForm", Request.Form("nonce"), "Create"
  334. dim new_Kit_model : set new_Kit_model = Automapper.AutoMap(Request.Form, new KitModel_Class)
  335. 'new_Kit_model.Validator.Validate
  336. 'If new_Kit_model.Validator.HasErrors then
  337. ' FormCache.SerializeForm "NewKit", Request.Form
  338. ' Flash.Errors = new_Kit_model.Validator.Errors
  339. ' MVC.RedirectToAction "Create"
  340. 'Else
  341. KitRepository.AddNew new_Kit_model
  342. KitLabelsRepository.BulkAdd new_Kit_model.ID,Request.Form("Amount")
  343. ' FormCache.ClearForm "NewKit"
  344. ExportTrackingLabels(new_Kit_model.ID)
  345. ExportSnailWorksTracking(new_Kit_model.ID)
  346. Flash.Success = "Kit added."
  347. MVC.RedirectToAction "Index"
  348. 'End If
  349. End Sub
  350. Public Sub CreateTrackingKitPost
  351. MVC.RequirePost
  352. HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitCreateForm", Request.Form("nonce"), "Create"
  353. dim new_Kit_model : set new_Kit_model = Automapper.AutoMap(Request.Form, new KitModel_Class)
  354. 'new_Kit_model.Validator.Validate
  355. 'If new_Kit_model.Validator.HasErrors then
  356. ' FormCache.SerializeForm "NewKit", Request.Form
  357. ' Flash.Errors = new_Kit_model.Validator.Errors
  358. ' MVC.RedirectToAction "Create"
  359. 'Else
  360. KitRepository.AddNew new_Kit_model
  361. KitLabelsRepository.BulkAdd new_Kit_model.ID,Request.Form("Amount")
  362. ' FormCache.ClearForm "NewKit"
  363. Flash.Success = "Kit added."
  364. MVC.RedirectToAction "Index"
  365. 'End If
  366. End Sub
  367. Public Sub Delete
  368. dim id : id = Request.QueryString("Id")
  369. set Model = new Delete_ViewModel_Class
  370. set Model.Kit = KitRepository.FindByID(id)
  371. Model.Title = "Delete Kit"
  372. HTMLSecurity.SetAntiCSRFToken "KitDeleteForm"
  373. %> <!--#include file="../../Views/Kit/Delete.asp"--> <%
  374. End Sub
  375. Public Sub DeletePost
  376. MVC.RequirePost
  377. HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitDeleteForm", Request.Form("nonce"), "Create"
  378. dim id : id = Request.Form("Id")
  379. KitRepository.Delete id
  380. Flash.Success = "Kit deleted."
  381. MVC.RedirectToAction "Index"
  382. End Sub
  383. End Class
  384. MVC.Dispatch
  385. %>

Powered by TurnKey Linux.