This commit is contained in:
@@ -154,31 +154,8 @@ class WikiPagesController < ApplicationController
|
|||||||
def render_wiki_page_or_404 page
|
def render_wiki_page_or_404 page
|
||||||
return head :not_found unless page
|
return head :not_found unless page
|
||||||
|
|
||||||
if params[:version].present?
|
rev = find_revision(page)
|
||||||
rev = page.wiki_revisions.find_by(id: params[:version])
|
return head :not_found unless rev
|
||||||
return head :not_found unless rev
|
|
||||||
|
|
||||||
if rev.redirect?
|
|
||||||
return (
|
|
||||||
redirect_to wiki_page_by_title_path(title: rev.redirect_page.title),
|
|
||||||
status: :moved_permanently)
|
|
||||||
end
|
|
||||||
|
|
||||||
body = rev.body
|
|
||||||
revision_id = rev.id
|
|
||||||
pred = page.pred_revision_id(revision_id)
|
|
||||||
succ = page.succ_revision_id(revision_id)
|
|
||||||
updated_at = rev.created_at
|
|
||||||
|
|
||||||
return render json: page.as_json(methods: [:title])
|
|
||||||
.merge(body:, revision_id:, pred:, succ:, updated_at:)
|
|
||||||
end
|
|
||||||
|
|
||||||
rev = page.current_revision
|
|
||||||
unless rev
|
|
||||||
return render json: page.as_json(methods: [:title])
|
|
||||||
.merge(body: nil, revision_id: nil, pred: nil, succ: nil)
|
|
||||||
end
|
|
||||||
|
|
||||||
if rev.redirect?
|
if rev.redirect?
|
||||||
return (
|
return (
|
||||||
@@ -196,6 +173,14 @@ class WikiPagesController < ApplicationController
|
|||||||
.merge(body:, revision_id:, pred:, succ:, updated_at:)
|
.merge(body:, revision_id:, pred:, succ:, updated_at:)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def find_revision page
|
||||||
|
if params[:version].present?
|
||||||
|
page.wiki_revisions.find_by(id: params[:version])
|
||||||
|
else
|
||||||
|
page.current_revision
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def render_wiki_conflict err
|
def render_wiki_conflict err
|
||||||
render json: { error: 'conflict', message: err.message }, status: :conflict
|
render json: { error: 'conflict', message: err.message }, status: :conflict
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user