From c2a77fa7c6cdb593bd1f87f6c37a0470b1bf4dbf Mon Sep 17 00:00:00 2001 From: Glenn Date: Sun, 2 Feb 2025 16:09:34 -0800 Subject: [PATCH 1/3] Update common.py --- hushline/settings/common.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hushline/settings/common.py b/hushline/settings/common.py index e81d576cb..c1196ab9e 100644 --- a/hushline/settings/common.py +++ b/hushline/settings/common.py @@ -348,6 +348,12 @@ def handle_field_post(username: Username) -> Response | None: if field_form.validate(): # Create a new field if field_form.submit.name in request.form: + # Get the highest existing sort_order for this username + max_sort_order = db.session.scalar( + db.select(db.func.coalesce(db.func.max(FieldDefinition.sort_order), 0)) + .filter(FieldDefinition.username_id == username.id) + ) or 0 + field_definition = FieldDefinition( username, field_form.label.data, @@ -357,6 +363,9 @@ def handle_field_post(username: Username) -> Response | None: field_form.encrypted.data, [c["choice"] for c in field_form.choices.data], ) + + field_definition.sort_order = max_sort_order + 1 # Ensure unique ordering + db.session.add(field_definition) db.session.commit() flash("New field added.") From ba93e0f7785ed3ea3542a124db98575fb0101486 Mon Sep 17 00:00:00 2001 From: Glenn Date: Sun, 2 Feb 2025 16:09:47 -0800 Subject: [PATCH 2/3] Update version.py --- hushline/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hushline/version.py b/hushline/version.py index db9c53326..0873d81cf 100644 --- a/hushline/version.py +++ b/hushline/version.py @@ -1 +1 @@ -__version__ = "0.3.83" +__version__ = "0.3.84" From 91dbccc10c4a47c4140c4b555734d2594d4d29da Mon Sep 17 00:00:00 2001 From: Glenn Date: Sun, 2 Feb 2025 16:10:04 -0800 Subject: [PATCH 3/3] Update common.py --- hushline/settings/common.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/hushline/settings/common.py b/hushline/settings/common.py index c1196ab9e..0c683602e 100644 --- a/hushline/settings/common.py +++ b/hushline/settings/common.py @@ -349,10 +349,14 @@ def handle_field_post(username: Username) -> Response | None: # Create a new field if field_form.submit.name in request.form: # Get the highest existing sort_order for this username - max_sort_order = db.session.scalar( - db.select(db.func.coalesce(db.func.max(FieldDefinition.sort_order), 0)) - .filter(FieldDefinition.username_id == username.id) - ) or 0 + max_sort_order = ( + db.session.scalar( + db.select(db.func.coalesce(db.func.max(FieldDefinition.sort_order), 0)).filter( + FieldDefinition.username_id == username.id + ) + ) + or 0 + ) field_definition = FieldDefinition( username,