summaryrefslogtreecommitdiff
path: root/app/controllers/nodes_controller.rb
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-08-07 06:15:14 +0200
committererdgeist <erdgeist@erdgeist.org>2026-08-07 06:15:14 +0200
commitf4ddfff03ca9f25d50f39a1971877362d85eb9cb (patch)
tree31e6774fd4cf2b579a9622277be150417a2fa48e /app/controllers/nodes_controller.rb
parent02a4ea750428aa1a9c9e7f2680553c0ce4ef1fec (diff)
Move the pending address from the node onto the draft
Diffstat (limited to 'app/controllers/nodes_controller.rb')
-rw-r--r--app/controllers/nodes_controller.rb19
1 files changed, 7 insertions, 12 deletions
diff --git a/app/controllers/nodes_controller.rb b/app/controllers/nodes_controller.rb
index 22606674..3009e25a 100644
--- a/app/controllers/nodes_controller.rb
+++ b/app/controllers/nodes_controller.rb
@@ -90,7 +90,6 @@ class NodesController < ApplicationController
90 end 90 end
91 91
92 def update 92 def update
93 @node.update(node_update_params)
94 @node.autosave!( page_params.merge(:tag_list => params[:tag_list]), current_user ) 93 @node.autosave!( page_params.merge(:tag_list => params[:tag_list]), current_user )
95 @node.save_draft!(current_user) 94 @node.save_draft!(current_user)
96 95
@@ -123,7 +122,6 @@ class NodesController < ApplicationController
123 end 122 end
124 123
125 def autosave 124 def autosave
126 @node.update(node_update_params)
127 @node.autosave!( page_params.merge(:tag_list => params[:tag_list]), current_user ) 125 @node.autosave!( page_params.merge(:tag_list => params[:tag_list]), current_user )
128 head :ok 126 head :ok
129 rescue LockedByAnotherUser => e 127 rescue LockedByAnotherUser => e
@@ -167,13 +165,13 @@ class NodesController < ApplicationController
167 end 165 end
168 166
169 def restore_from_trash 167 def restore_from_trash
170 parent = Node.find(params[:parent_id]) 168 if params[:parent_id].present? && @node.draft
171 @node.restore_from_trash!(parent, current_user) 169 @node.draft.update!(:parent_node_id => params[:parent_id])
170 end
171
172 @node.restore_from_trash!(current_user)
172 flash[:notice] = t("flash.nodes.restored") 173 flash[:notice] = t("flash.nodes.restored")
173 redirect_to node_path(@node) 174 redirect_to node_path(@node)
174 rescue ActiveRecord::RecordNotFound
175 flash[:error] = t("flash.nodes.restore_target_missing")
176 redirect_to node_path(@node)
177 rescue ActiveRecord::RecordInvalid => e 175 rescue ActiveRecord::RecordInvalid => e
178 flash[:error] = e.record.errors.full_messages.to_sentence 176 flash[:error] = e.record.errors.full_messages.to_sentence
179 redirect_to node_path(@node) 177 redirect_to node_path(@node)
@@ -281,12 +279,9 @@ class NodesController < ApplicationController
281 params.fetch(:node, {}).permit(:slug, :parent_id) 279 params.fetch(:node, {}).permit(:slug, :parent_id)
282 end 280 end
283 281
284 def node_update_params
285 params.fetch(:node, {}).permit(:staged_slug, :staged_parent_id)
286 end
287
288 def page_params 282 def page_params
289 params.fetch(:page, {}).permit(:title, :abstract, :body, :template_name, :published_at, :user_id) 283 params.fetch(:page, {}).permit(:title, :abstract, :body, :template_name,
284 :published_at, :user_id, :slug, :parent_node_id)
290 end 285 end
291 286
292 def find_node 287 def find_node