diff --git a/app/views/wiki/_sidebar.html.erb b/app/views/wiki/_sidebar.html.erb index 16e8be167..e849919c4 100644 --- a/app/views/wiki/_sidebar.html.erb +++ b/app/views/wiki/_sidebar.html.erb @@ -1,3 +1,11 @@ +<% if User.current.allowed_to?(:edit_wiki_pages, @project) && + (@wiki && @wiki.find_or_new_page('Sidebar').editable_by?(User.current)) %> +
+ <%= link_to l(:button_edit), edit_project_wiki_page_path(@project, 'sidebar'), + :class => 'icon icon-edit' %> +
+<% end -%> + <% if @wiki && @wiki.sidebar -%>
<%= textilizable @wiki.sidebar.content, :text %> diff --git a/test/functional/wiki_controller_test.rb b/test/functional/wiki_controller_test.rb index e3ac6cb4e..4f732772a 100644 --- a/test/functional/wiki_controller_test.rb +++ b/test/functional/wiki_controller_test.rb @@ -46,6 +46,14 @@ class WikiControllerTest < Redmine::ControllerTest assert_select 'a[href=?]', '/projects/ecookbook/wiki/CookBook_documentation.txt' end + def test_edit_sidebar_link + Role.anonymous.add_permission! :edit_wiki_pages + Role.anonymous.add_permission! :protect_wiki_pages + get :show, :params => {:project_id => 'ecookbook'} + assert_response :success + assert_select 'a[href=?]', '/projects/ecookbook/wiki/sidebar/edit' + end + def test_show_page_with_name get :show, :params => {:project_id => 1, :id => 'Another_page'} assert_response :success