summaryrefslogtreecommitdiff
path: root/app/controllers
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-07-08 22:49:49 +0200
committererdgeist <erdgeist@erdgeist.org>2026-07-08 22:49:49 +0200
commit0bc112baec8b3d19aba3c1757cb4cf81fda098c5 (patch)
tree4c5738174e6e7ba033fe0d4aeef8928c1d3d24b4 /app/controllers
parente8746f51be856f9c65049b5fce3c504f1ce26470 (diff)
Fix blank-title validation and its lost form state on re-render
A blank title failed presence and length validation simultaneously, showing two redundant messages for one problem; length now skips whenever slug is already blank, matching presence's own skip condition. Separately, create's failure path never computed @selected_kind/@parent_id/@parent_name the way new does, so re-rendering after a validation error silently lost which kind and parent had been chosen -- for the auto-tagging/auto-templating kinds, that meant a corrected resubmission could silently produce a plain generic node instead. required on the title field closes the common case without a round trip; the server-side fix remains the actual guarantee, since required is trivially bypassed.
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/nodes_controller.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/app/controllers/nodes_controller.rb b/app/controllers/nodes_controller.rb
index 6fd000b..b56d779 100644
--- a/app/controllers/nodes_controller.rb
+++ b/app/controllers/nodes_controller.rb
@@ -49,6 +49,11 @@ class NodesController < ApplicationController
49 49
50 redirect_to(edit_node_path(@node)) 50 redirect_to(edit_node_path(@node))
51 else 51 else
52 @selected_kind = CccConventions::NODE_KINDS.key?(params[:kind]) ? params[:kind] : "generic"
53 if params[:parent_id].present?
54 @parent_id = params[:parent_id]
55 @parent_name = Node.find(@parent_id).title
56 end
52 render :new 57 render :new
53 end 58 end
54 end 59 end