summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2012-12-13 13:52:56 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2012-12-13 13:52:56 +0000
commitc31f498ba6a21fd3e5ce7b9ba2f3b3cdc1b2e05b (patch)
tree459eb338daf1a88b8819b47a9ecb2d024426a7d6
parentc93fccc84a939b14bd5d67d58514bd2ef58e4a08 (diff)
downloadredmine-c31f498ba6a21fd3e5ce7b9ba2f3b3cdc1b2e05b.tar.gz
redmine-c31f498ba6a21fd3e5ce7b9ba2f3b3cdc1b2e05b.zip
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
-rw-r--r--app/controllers/settings_controller.rb2
-rw-r--r--app/views/admin/plugins.html.erb4
-rw-r--r--lib/redmine/plugin.rb4
-rw-r--r--test/functional/admin_controller_test.rb19
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? %>
<table class="list plugins">
<% @plugins.each do |plugin| %>
- <tr class="<%= cycle('odd', 'even') %>">
+ <tr id="plugin-<%= plugin.id %>" class="<%= cycle('odd', 'even') %>">
<td><span class="name"><%=h plugin.name %></span>
<%= 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? %>
</td>
<td class="author"><%= plugin.author_url.blank? ? h(plugin.author) : link_to(h(plugin.author), plugin.author_url) %></td>
<td class="version"><%=h plugin.version %></td>
- <td class="configure"><%= link_to(l(:button_configure), :controller => 'settings', :action => 'plugin', :id => plugin.id) if plugin.configurable? %></td>
+ <td class="configure"><%= link_to(l(:button_configure), plugin_settings_path(plugin)) if plugin.configurable? %></td>
</tr>
<% end %>
</table>
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