Ensure sub label is null when submitting an empty string (#16779)

* null sub_label when submitting an empty string

* prevent cancel from submitting form

* fix test
This commit is contained in:
Josh Hawkins 2025-02-24 08:02:36 -06:00 committed by GitHub
parent 9414e001f3
commit 1d8f1bd7ae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 17 additions and 13 deletions

View File

@ -991,6 +991,10 @@ def set_sub_label(
new_sub_label = body.subLabel new_sub_label = body.subLabel
new_score = body.subLabelScore new_score = body.subLabelScore
if new_sub_label == "":
new_sub_label = None
new_score = None
if tracked_obj: if tracked_obj:
tracked_obj.obj_data["sub_label"] = (new_sub_label, new_score) tracked_obj.obj_data["sub_label"] = (new_sub_label, new_score)
@ -1001,21 +1005,19 @@ def set_sub_label(
if event: if event:
event.sub_label = new_sub_label event.sub_label = new_sub_label
if new_score:
data = event.data data = event.data
if new_sub_label is None:
data["sub_label_score"] = None
elif new_score is not None:
data["sub_label_score"] = new_score data["sub_label_score"] = new_score
event.data = data event.data = data
event.save() event.save()
return JSONResponse( return JSONResponse(
content=( content={
{
"success": True, "success": True,
"message": "Event " + event_id + " sub label set to " + new_sub_label, "message": f"Event {event_id} sub label set to {new_sub_label if new_sub_label is not None else 'None'}",
} },
),
status_code=200, status_code=200,
) )

View File

@ -275,7 +275,7 @@ class TestHttp(unittest.TestCase):
event = client.get(f"/events/{id}").json() event = client.get(f"/events/{id}").json()
assert event assert event
assert event["id"] == id assert event["id"] == id
assert event["sub_label"] == "" assert event["sub_label"] == None
def test_sub_label_list(self): def test_sub_label_list(self):
app = create_fastapi_app( app = create_fastapi_app(

View File

@ -86,7 +86,9 @@ export default function TextEntryDialog({
)} )}
/> />
<DialogFooter className="pt-4"> <DialogFooter className="pt-4">
<Button onClick={() => setOpen(false)}>Cancel</Button> <Button type="button" onClick={() => setOpen(false)}>
Cancel
</Button>
<Button variant="select" type="submit"> <Button variant="select" type="submit">
Save Save
</Button> </Button>