<% ' Get form inputs Dim notificationid, notification, ticketnumber, starttime, endtime, isactive, isshopfloor, notificationtypeid, businessunitid notificationid = Trim(Request.Form("notificationid")) notification = Trim(Request.Form("notification")) ticketnumber = Trim(Request.Form("ticketnumber")) starttime = Trim(Request.Form("starttime")) endtime = Trim(Request.Form("endtime")) notificationtypeid = Trim(Request.Form("notificationtypeid")) businessunitid = Trim(Request.Form("businessunitid")) ' Handle checkbox - if the hidden field is submitted but checkbox isn't, it means unchecked If Request.Form("isactive_submitted") = "1" Then If Request.Form("isactive") = "1" Then isactive = 1 Else isactive = 0 End If Else ' Fallback for backward compatibility If Request.Form("isactive") = "" Then isactive = 0 Else isactive = 1 End If End If ' Handle isshopfloor checkbox - same pattern as isactive If Request.Form("isshopfloor_submitted") = "1" Then If Request.Form("isshopfloor") = "1" Then isshopfloor = 1 Else isshopfloor = 0 End If Else ' Fallback for backward compatibility If Request.Form("isshopfloor") = "" Then isshopfloor = 0 Else isshopfloor = 1 End If End If ' Validate If Not IsNumeric(notificationid) Or CLng(notificationid) < 1 Then Response.Write("Invalid notification ID") objConn.Close Response.End End If ' Default to TBD if no type selected If notificationtypeid = "" Or Not IsNumeric(notificationtypeid) Then notificationtypeid = "1" End If ' Validate required fields (endtime is now optional) If Len(notification) = 0 Or Len(starttime) = 0 Then Response.Write("Required fields missing") objConn.Close Response.End End If If Len(notification) > 500 Or Len(ticketnumber) > 50 Then Response.Write("Field length exceeded") objConn.Close Response.End End If ' Escape quotes notification = Replace(notification, "'", "''") ticketnumber = Replace(ticketnumber, "'", "''") ' Convert datetime format for starttime starttime = Replace(starttime, "T", " ") & ":00" ' Handle optional endtime - leave as NULL if blank (indefinite) Dim strSQL, endtimeSQL, businessunitSQL If Len(endtime) = 0 Then ' No end date - store as NULL for indefinite notifications endtimeSQL = "NULL" Else ' End date specified - convert format and wrap in quotes endtime = Replace(endtime, "T", " ") & ":00" endtimeSQL = "'" & endtime & "'" End If ' Handle optional businessunitid - NULL means applies to all business units If businessunitid = "" Or Not IsNumeric(businessunitid) Then businessunitSQL = "NULL" Else businessunitSQL = businessunitid End If ' UPDATE strSQL = "UPDATE notifications SET " & _ "notificationtypeid = " & notificationtypeid & ", " & _ "businessunitid = " & businessunitSQL & ", " & _ "notification = '" & notification & "', " & _ "ticketnumber = '" & ticketnumber & "', " & _ "starttime = '" & starttime & "', " & _ "endtime = " & endtimeSQL & ", " & _ "isactive = " & isactive & ", " & _ "isshopfloor = " & isshopfloor & " " & _ "WHERE notificationid = " & notificationid On Error Resume Next objConn.Execute strSQL If Err.Number = 0 Then objConn.Close Response.Redirect("displaynotifications.asp") Else Response.Write("Error: " & Err.Description) objConn.Close End If %>