Project

General

Profile

Defect #36561 ยป defect-36561.patch

Mizuki ISHIKAWA, 2022-02-14 09:01

View differences:

app/controllers/wiki_controller.rb
89 89
    end
90 90
    @content = @page.content_for_version(params[:version])
91 91
    if @content.nil?
92
      if User.current.allowed_to?(:edit_wiki_pages, @project) && editable? && !api_request?
92
      if params[:version].blank? && User.current.allowed_to?(:edit_wiki_pages, @project) && editable? && !api_request?
93 93
        edit
94 94
        render :action => 'edit'
95 95
      else
app/models/wiki_page.rb
162 162
  end
163 163

  
164 164
  def content_for_version(version=nil)
165
    if content
166
      result = content.versions.find_by_version(version.to_i) if version
167
      result ||= content
168
      result
169
    end
165
    (content && version) ? content.versions.find_by_version(version.to_i) : content
170 166
  end
171 167

  
172 168
  def diff(version_to=nil, version_from=nil)
test/functional/wiki_controller_test.rb
201 201
    assert_select 'select[name=?] option[value="2"][selected=selected]', 'wiki_page[parent_id]'
202 202
  end
203 203

  
204
  def test_show_unexistent_version_page
205
    @request.session[:user_id] = 2
206
    get :show, :params => {:project_id => 1, :id => 'CookBook_documentation', :version => 100}
207
    assert_response 404
208
  end
209

  
204 210
  def test_show_should_not_show_history_without_permission
205 211
    Role.anonymous.remove_permission! :view_wiki_edits
206 212
    get :show, :params => {:project_id => 1, :id => 'Page with sections', :version => 2}
    (1-1/1)