Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

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

Powered by TurnKey Linux.