diff options
| author | erdgeist <erdgeist@erdgeist.org> | 2026-08-07 06:15:14 +0200 |
|---|---|---|
| committer | erdgeist <erdgeist@erdgeist.org> | 2026-08-07 06:15:14 +0200 |
| commit | f4ddfff03ca9f25d50f39a1971877362d85eb9cb (patch) | |
| tree | 31e6774fd4cf2b579a9622277be150417a2fa48e /app/controllers | |
| parent | 02a4ea750428aa1a9c9e7f2680553c0ce4ef1fec (diff) | |
Move the pending address from the node onto the draft
Diffstat (limited to 'app/controllers')
| -rw-r--r-- | app/controllers/nodes_controller.rb | 19 |
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 |
