@@ -288,21 +288,25 @@ def revisions
288288
289289 def revision
290290 @node = Node . find_wiki ( params [ :id ] )
291- @tags = @node . tags
292- @tagnames = @tags . collect ( &:name )
293- @unpaginated = true
294- @is_revision = true
295- set_sidebar :tags , @tagnames , videos : true
296- @revision = Revision . find_by_nid_and_vid ( @node . id , params [ :vid ] )
297- if @revision . nil?
298- flash [ :error ] = I18n . t ( 'wiki_controller.revision_not_found' )
299- redirect_to action : 'revisions'
300- elsif @revision . status == 1 || current_user &.can_moderate?
301- @title = I18n . t ( 'wiki_controller.revisions_for' , title : @revision . title ) . html_safe
302- render template : 'wiki/show'
291+ if @node
292+ @tags = @node . tags
293+ @tagnames = @tags . collect ( &:name )
294+ @unpaginated = true
295+ @is_revision = true
296+ set_sidebar :tags , @tagnames , videos : true
297+ @revision = Revision . find_by_nid_and_vid ( @node . id , params [ :vid ] )
298+ if @revision . nil?
299+ flash [ :error ] = I18n . t ( 'wiki_controller.revision_not_found' )
300+ redirect_to action : 'revisions'
301+ elsif @revision . status == 1 || current_user &.can_moderate?
302+ @title = I18n . t ( 'wiki_controller.revisions_for' , title : @revision . title ) . html_safe
303+ render template : 'wiki/show'
304+ else
305+ flash [ :error ] = I18n . t ( 'wiki_controller.revision_has_been_moderated' ) . html_safe
306+ redirect_to @node . path
307+ end
303308 else
304- flash [ :error ] = I18n . t ( 'wiki_controller.revision_has_been_moderated' ) . html_safe
305- redirect_to @node . path
309+ flash [ :error ] = I18n . t ( 'wiki_controller.invalid_wiki_page' )
306310 end
307311 end
308312
0 commit comments