diff options
author | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2018-10-17 20:07:55 +0300 |
---|---|---|
committer | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2018-10-17 20:07:55 +0300 |
commit | ab9cf561c230f1b6ec630215a9a9def53e14d764 (patch) | |
tree | 1b085bd694318da2bd362205fd2a0338725974bf /app | |
parent | ed499b38e2e68e9e7979dfcce93175d8561007a0 (diff) | |
parent | d66066f7cb4a2981c74224ad2cb6ec3c00ca529e (diff) |
Merge branch '52527-harden-wiki-against-missing-last-version' into 'master'
Harden the wiki against missing last_versions
Closes #52527
See merge request gitlab-org/gitlab-ce!22377
Diffstat (limited to 'app')
-rw-r--r-- | app/models/wiki_page.rb | 4 | ||||
-rw-r--r-- | app/views/projects/wikis/_pages_wiki_page.html.haml | 3 | ||||
-rw-r--r-- | app/views/projects/wikis/show.html.haml | 5 |
3 files changed, 8 insertions, 4 deletions
diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index 42fd213d03b..c5e349ae913 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -160,7 +160,9 @@ class WikiPage # Returns boolean True or False if this instance # is an old version of the page. def historical? - @page.historical? && last_version.sha != version.sha + return false unless last_commit_sha && version + + @page.historical? && last_commit_sha != version.sha end # Returns boolean True or False if this instance diff --git a/app/views/projects/wikis/_pages_wiki_page.html.haml b/app/views/projects/wikis/_pages_wiki_page.html.haml index cbb441d7509..c156f8cbf50 100644 --- a/app/views/projects/wikis/_pages_wiki_page.html.haml +++ b/app/views/projects/wikis/_pages_wiki_page.html.haml @@ -2,4 +2,5 @@ = link_to wiki_page.title, project_wiki_path(@project, wiki_page) %small (#{wiki_page.format}) .float-right - %small= (s_("Last edited %{date}") % { date: time_ago_with_tooltip(wiki_page.last_version.authored_date) }).html_safe + - if wiki_page.last_version + %small= (s_("Last edited %{date}") % { date: time_ago_with_tooltip(wiki_page.last_version.authored_date) }).html_safe diff --git a/app/views/projects/wikis/show.html.haml b/app/views/projects/wikis/show.html.haml index 19b9744b508..fbf248c2058 100644 --- a/app/views/projects/wikis/show.html.haml +++ b/app/views/projects/wikis/show.html.haml @@ -11,8 +11,9 @@ .nav-text %h2.wiki-page-title= @page.title.capitalize %span.wiki-last-edit-by - = (_("Last edited by %{name}") % { name: "<strong>#{@page.last_version.author_name}</strong>" }).html_safe - #{time_ago_with_tooltip(@page.last_version.authored_date)} + - if @page.last_version + = (_("Last edited by %{name}") % { name: "<strong>#{@page.last_version.author_name}</strong>" }).html_safe + #{time_ago_with_tooltip(@page.last_version.authored_date)} .nav-controls = render 'main_links' |