From c31f498ba6a21fd3e5ce7b9ba2f3b3cdc1b2e05b Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Thu, 13 Dec 2012 13:52:56 +0000 Subject: [PATCH] Code cleanup: implement Plugin#to_param for generating routes. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10995 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/settings_controller.rb | 2 +- app/views/admin/plugins.html.erb | 4 ++-- lib/redmine/plugin.rb | 4 ++++ test/functional/admin_controller_test.rb | 19 +++++++++++-------- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/app/controllers/settings_controller.rb b/app/controllers/settings_controller.rb index e3a2c6d26..f5e6305de 100644 --- a/app/controllers/settings_controller.rb +++ b/app/controllers/settings_controller.rb @@ -55,7 +55,7 @@ class SettingsController < ApplicationController if request.post? Setting.send "plugin_#{@plugin.id}=", params[:settings] flash[:notice] = l(:notice_successful_update) - redirect_to plugin_settings_path(@plugin.id) + redirect_to plugin_settings_path(@plugin) else @partial = @plugin.settings[:partial] @settings = Setting.send "plugin_#{@plugin.id}" diff --git a/app/views/admin/plugins.html.erb b/app/views/admin/plugins.html.erb index f4e4d2b92..25716ff9e 100644 --- a/app/views/admin/plugins.html.erb +++ b/app/views/admin/plugins.html.erb @@ -3,14 +3,14 @@ <% if @plugins.any? %> <% @plugins.each do |plugin| %> - + - + <% end %>
<%=h plugin.name %> <%= content_tag('span', h(plugin.description), :class => 'description') unless plugin.description.blank? %> <%= content_tag('span', link_to(h(plugin.url), plugin.url), :class => 'url') unless plugin.url.blank? %> <%= plugin.author_url.blank? ? h(plugin.author) : link_to(h(plugin.author), plugin.author_url) %> <%=h plugin.version %><%= link_to(l(:button_configure), :controller => 'settings', :action => 'plugin', :id => plugin.id) if plugin.configurable? %><%= link_to(l(:button_configure), plugin_settings_path(plugin)) if plugin.configurable? %>
diff --git a/lib/redmine/plugin.rb b/lib/redmine/plugin.rb index ceb6d7097..e8eab3ef2 100644 --- a/lib/redmine/plugin.rb +++ b/lib/redmine/plugin.rb @@ -145,6 +145,10 @@ module Redmine #:nodoc: File.join(self.class.public_directory, id.to_s) end + def to_param + id + end + def assets_directory File.join(directory, 'assets') end diff --git a/test/functional/admin_controller_test.rb b/test/functional/admin_controller_test.rb index 28e8adb60..7a029722b 100644 --- a/test/functional/admin_controller_test.rb +++ b/test/functional/admin_controller_test.rb @@ -27,15 +27,13 @@ class AdminControllerTest < ActionController::TestCase def test_index get :index - assert_no_tag :tag => 'div', - :attributes => { :class => /nodata/ } + assert_select 'div.nodata', 0 end def test_index_with_no_configuration_data delete_configuration_data get :index - assert_tag :tag => 'div', - :attributes => { :class => /nodata/ } + assert_select 'div.nodata' end def test_projects @@ -128,8 +126,14 @@ class AdminControllerTest < ActionController::TestCase assert_response :success assert_template 'plugins' - assert_tag :td, :child => { :tag => 'span', :content => 'Foo plugin' } - assert_tag :td, :child => { :tag => 'span', :content => 'Bar' } + assert_select 'tr#plugin-foo' do + assert_select 'td span.name', :text => 'Foo plugin' + assert_select 'td.configure a[href=/settings/plugin/foo]' + end + assert_select 'tr#plugin-bar' do + assert_select 'td span.name', :text => 'Bar' + assert_select 'td.configure a', 0 + end end def test_info @@ -145,8 +149,7 @@ class AdminControllerTest < ActionController::TestCase get :index assert_response :success - assert_tag :a, :attributes => { :href => '/foo/bar' }, - :content => 'Test' + assert_select 'div#admin-menu a[href=/foo/bar]', :text => 'Test' Redmine::MenuManager.map :admin_menu do |menu| menu.delete :test_admin_menu_plugin_extension