diff options
Diffstat (limited to 'app/controllers/nodes_controller.rb')
| -rw-r--r-- | app/controllers/nodes_controller.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/app/controllers/nodes_controller.rb b/app/controllers/nodes_controller.rb index 380a659..69aa268 100644 --- a/app/controllers/nodes_controller.rb +++ b/app/controllers/nodes_controller.rb | |||
| @@ -104,6 +104,24 @@ class NodesController < ApplicationController | |||
| 104 | redirect_to node_path(@node) | 104 | redirect_to node_path(@node) |
| 105 | end | 105 | end |
| 106 | 106 | ||
| 107 | def generate_shared_preview | ||
| 108 | @node = Node.find(params[:id]) | ||
| 109 | if @node.draft | ||
| 110 | @node.draft.ensure_preview_token! | ||
| 111 | flash[:notice] = "Shareable preview link created - see below." | ||
| 112 | else | ||
| 113 | flash[:notice] = "Create or edit a draft first - shared preview links are only available for pages with an active draft." | ||
| 114 | end | ||
| 115 | redirect_to node_path(@node) | ||
| 116 | end | ||
| 117 | |||
| 118 | def revoke_shared_preview | ||
| 119 | @node = Node.find(params[:id]) | ||
| 120 | @node.draft.revoke_preview_token! if @node.draft | ||
| 121 | flash[:notice] = "Shareable preview link revoked." | ||
| 122 | redirect_to node_path(@node) | ||
| 123 | end | ||
| 124 | |||
| 107 | def parameterize_preview | 125 | def parameterize_preview |
| 108 | render plain: slug_for(params[:title]) | 126 | render plain: slug_for(params[:title]) |
| 109 | end | 127 | end |
