Defect #36561 ยป defect-36561.patch
| 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} |