diff --git a/App/Controllers/Kit/KitController.asp b/App/Controllers/Kit/KitController.asp index bdffd59..83ad95a 100644 --- a/App/Controllers/Kit/KitController.asp +++ b/App/Controllers/Kit/KitController.asp @@ -97,7 +97,6 @@ Class KitController dim id : id = Request.QueryString("Id") set Model = new SwitchBoard_ViewModel_Class set Model.Kit = KitRepository.SwitchBoardPurpleEnvelopeEditFindById(id) - set Model.Labels = InkjetRecordsRepository.Find(Array("KitId =?",id),empty) set Model.StidDropDown = SettingsRepository.GetStidDropDownRS() set Model.ColorsDropDown = ColorsRepository.GetColorsDropDownRS() set Model.Precincts = InkjetRecordsRepository.GetDistinctPrecinctsByKitId(id) @@ -280,8 +279,51 @@ Class KitController MVC.RequirePost HTMLSecurity.OnInvalidAntiCsrfTokenRedirectToActionExt "KitEditForm", Request.Form("nonce"), "Edit", Array("Id", Request.Form("Id")) dim ID : ID = Request.Form("Id") + dim originalModel : set originalModel = KitRepository.FindByID(ID) dim model : set model = KitRepository.FindByID(ID) set model = Automapper.AutoMap(Request.Form, model) + + ' Handle date fields - if empty string, preserve original value or set to Null + If Len(Trim(model.CreatedOn & "")) = 0 Then + model.CreatedOn = originalModel.CreatedOn + End If + If Len(Trim(model.LabelsPrinted & "")) = 0 Then + model.LabelsPrinted = Null + End If + If Len(Trim(model.ExportedToSnailWorks & "")) = 0 Then + model.ExportedToSnailWorks = Null + End If + + ' Handle boolean/numeric fields - convert "True"/"False" strings to proper numeric values + If UCase(Trim(model.InkJetJob & "")) = "TRUE" Then + model.InkJetJob = -1 + ElseIf UCase(Trim(model.InkJetJob & "")) = "FALSE" Then + model.InkJetJob = 0 + ElseIf Len(Trim(model.InkJetJob & "")) = 0 Then + model.InkJetJob = 0 + End If + + If UCase(Trim(model.Cass & "")) = "TRUE" Then + model.Cass = -1 + ElseIf UCase(Trim(model.Cass & "")) = "FALSE" Then + model.Cass = 0 + ElseIf Len(Trim(model.Cass & "")) = 0 Then + model.Cass = 0 + End If + + ' Handle numeric fields - if empty string, set to 0 or Null + If Len(Trim(model.OfficeCopiesAmount & "")) = 0 Then + model.OfficeCopiesAmount = 0 + End If + + ' Handle STID fields - if empty string, set to Null + If Len(Trim(model.OutboundSTID & "")) = 0 Then + model.OutboundSTID = Null + End If + If Len(Trim(model.InboundSTID & "")) = 0 Then + model.InboundSTID = Null + End If + 'model.Validate 'If model.Validator.HasErrors then FormCache.SerializeForm "EditKit", Request.Form diff --git a/App/Views/Kit/SwitchBoardPurpleEnvelopeEdit.asp b/App/Views/Kit/SwitchBoardPurpleEnvelopeEdit.asp index deae23b..e3c51bf 100644 --- a/App/Views/Kit/SwitchBoardPurpleEnvelopeEdit.asp +++ b/App/Views/Kit/SwitchBoardPurpleEnvelopeEdit.asp @@ -99,99 +99,5 @@ <% ELSE %>
Office Copies Amount : <%= Model.Kit.OfficeCopiesAmount %>
<% END IF %> - - + -