diff options
Diffstat (limited to 'app/controllers')
| -rw-r--r-- | app/controllers/assets_controller.rb | 2 | ||||
| -rw-r--r-- | app/controllers/csp_reports_controller.rb | 4 | ||||
| -rw-r--r-- | app/controllers/pages_controller.rb | 20 | ||||
| -rw-r--r-- | app/controllers/related_assets_controller.rb | 13 | ||||
| -rw-r--r-- | app/controllers/shared_previews_controller.rb | 2 |
5 files changed, 29 insertions, 12 deletions
diff --git a/app/controllers/assets_controller.rb b/app/controllers/assets_controller.rb index d150e06..becfe13 100644 --- a/app/controllers/assets_controller.rb +++ b/app/controllers/assets_controller.rb | |||
| @@ -89,6 +89,6 @@ class AssetsController < ApplicationController | |||
| 89 | private | 89 | private |
| 90 | 90 | ||
| 91 | def asset_params | 91 | def asset_params |
| 92 | params.require(:asset).permit(:name, :upload) | 92 | params.require(:asset).permit(:name, :upload, :creator, :source_url, :license_key) |
| 93 | end | 93 | end |
| 94 | end | 94 | end |
diff --git a/app/controllers/csp_reports_controller.rb b/app/controllers/csp_reports_controller.rb index a8f8edb..5a3b55e 100644 --- a/app/controllers/csp_reports_controller.rb +++ b/app/controllers/csp_reports_controller.rb | |||
| @@ -12,9 +12,9 @@ class CspReportsController < ApplicationController | |||
| 12 | if report | 12 | if report |
| 13 | directive = report["effective-directive"] || report["violated-directive"] | 13 | directive = report["effective-directive"] || report["violated-directive"] |
| 14 | at = (URI.parse(report["document-uri"]).path rescue "unparsed") | 14 | at = (URI.parse(report["document-uri"]).path rescue "unparsed") |
| 15 | Rails.logger.warn("CSP violation: #{directive} blocked=#{report['blocked-uri']} at=#{at}") | 15 | CSP_LOGGER.warn("CSP violation: #{directive} blocked=#{report['blocked-uri']} at=#{at}") |
| 16 | else | 16 | else |
| 17 | Rails.logger.warn("CSP violation: unparseable report (#{raw.to_s.bytesize} bytes)") | 17 | CSP_LOGGER.warn("CSP violation: unparseable report (#{raw.to_s.bytesize} bytes)") |
| 18 | end | 18 | end |
| 19 | 19 | ||
| 20 | head :no_content | 20 | head :no_content |
diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb index 2d08dea..326fbd4 100644 --- a/app/controllers/pages_controller.rb +++ b/app/controllers/pages_controller.rb | |||
| @@ -6,6 +6,19 @@ class PagesController < ApplicationController | |||
| 6 | 6 | ||
| 7 | def preview | 7 | def preview |
| 8 | @page = Page.find(params[:id]) | 8 | @page = Page.find(params[:id]) |
| 9 | unless @page.node | ||
| 10 | node = Node.find_by(autosave_id: @page.id) || | ||
| 11 | Node.find_by(draft_id: @page.id) || | ||
| 12 | Node.find_by(head_id: @page.id) | ||
| 13 | @page.node = node if node | ||
| 14 | end | ||
| 15 | |||
| 16 | node ||= @page.node | ||
| 17 | if node && node.draft_id == @page.id && node.autosave | ||
| 18 | @page = node.autosave | ||
| 19 | @page.node = node | ||
| 20 | end | ||
| 21 | |||
| 9 | 22 | ||
| 10 | if @page | 23 | if @page |
| 11 | template = @page.valid_template | 24 | template = @page.valid_template |
| @@ -15,11 +28,4 @@ class PagesController < ApplicationController | |||
| 15 | ) | 28 | ) |
| 16 | end | 29 | end |
| 17 | end | 30 | end |
| 18 | |||
| 19 | def sort_images | ||
| 20 | page = Page.find(params[:id]) | ||
| 21 | page.update_assets(params[:images]) | ||
| 22 | |||
| 23 | head :ok | ||
| 24 | end | ||
| 25 | end | 31 | end |
diff --git a/app/controllers/related_assets_controller.rb b/app/controllers/related_assets_controller.rb index 5af73fc..2fefaf7 100644 --- a/app/controllers/related_assets_controller.rb +++ b/app/controllers/related_assets_controller.rb | |||
| @@ -26,6 +26,7 @@ class RelatedAssetsController < ApplicationController | |||
| 26 | id: related.id, | 26 | id: related.id, |
| 27 | asset_id: asset.id, | 27 | asset_id: asset.id, |
| 28 | name: asset.name, | 28 | name: asset.name, |
| 29 | has_credit: asset.has_credit?, | ||
| 29 | thumb_url: asset.upload.url(:thumb), | 30 | thumb_url: asset.upload.url(:thumb), |
| 30 | large_url: asset.upload.url(:large), | 31 | large_url: asset.upload.url(:large), |
| 31 | original_url: asset.upload.url, | 32 | original_url: asset.upload.url, |
| @@ -39,7 +40,17 @@ class RelatedAssetsController < ApplicationController | |||
| 39 | end | 40 | end |
| 40 | 41 | ||
| 41 | def update | 42 | def update |
| 42 | @node.editable_page.related_assets.find(params[:id]).insert_at(params[:position].to_i) | 43 | related = @node.editable_page.related_assets.find(params[:id]) |
| 44 | |||
| 45 | if params.key?(:headline) | ||
| 46 | RelatedAsset.transaction do | ||
| 47 | @node.editable_page.related_assets.update_all(headline: false) | ||
| 48 | related.update!(headline: true) if params[:headline] == "true" | ||
| 49 | end | ||
| 50 | else | ||
| 51 | related.insert_at(params[:position].to_i) | ||
| 52 | end | ||
| 53 | |||
| 43 | head :ok | 54 | head :ok |
| 44 | end | 55 | end |
| 45 | 56 | ||
diff --git a/app/controllers/shared_previews_controller.rb b/app/controllers/shared_previews_controller.rb index f6fb45a..65f744d 100644 --- a/app/controllers/shared_previews_controller.rb +++ b/app/controllers/shared_previews_controller.rb | |||
| @@ -8,7 +8,7 @@ class SharedPreviewsController < ApplicationController | |||
| 8 | is_draft = node.draft_id == @page.id | 8 | is_draft = node.draft_id == @page.id |
| 9 | 9 | ||
| 10 | currently_public = is_head && @page.public? | 10 | currently_public = is_head && @page.public? |
| 11 | superseded = !is_head && !is_draft | 11 | superseded = !is_head && !is_draft |
| 12 | 12 | ||
| 13 | if superseded || currently_public | 13 | if superseded || currently_public |
| 14 | redirect_to @page.public_link | 14 | redirect_to @page.public_link |
