]> source.dussan.org Git - redmine.git/commitdiff
Moves plugin list to its own administration menu item.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 16 Nov 2008 11:58:41 +0000 (11:58 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 16 Nov 2008 11:58:41 +0000 (11:58 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2037 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/admin_controller.rb
app/views/admin/index.rhtml
app/views/admin/info.rhtml
app/views/admin/plugins.rhtml [new file with mode: 0644]
test/functional/admin_controller_test.rb

index 777c31d70e81d225e44cc9cbf1c73dd9e41b63fd..90ec59098e293c31f97e4a68ff653bfd0d0636c2 100644 (file)
@@ -49,6 +49,10 @@ class AdminController < ApplicationController
     render :action => "projects", :layout => false if request.xhr?
   end
   
+  def plugins
+    @plugins = Redmine::Plugin.registered_plugins
+  end
+  
   # Loads the default configuration
   # (roles, trackers, statuses, workflow, enumerations)
   def default_configuration
@@ -84,6 +88,5 @@ class AdminController < ApplicationController
       :file_repository_writable => File.writable?(Attachment.storage_path),
       :rmagick_available => Object.const_defined?(:Magick)
     }
-    @plugins = Redmine::Plugin.registered_plugins
   end  
 end
index e2d1607307811c648d8d6db90fce64fae9d734f5..323641744068f772ef29d5bec31e2650371bfc36 100644 (file)
     :class => ["icon22", "icon22-#{item.name}"].join(' ') %>
 <% end -%>
 
+<p class="icon22 icon22-plugin">
+<%= link_to l(:label_plugins), :controller => 'admin', :action => 'plugins' %>
+</p>
+
 <p class="icon22 icon22-info">
 <%= link_to l(:label_information_plural), :controller => 'admin', :action => 'info' %>
 </p>
index 05c27f5acfea5af6baaf0eaf6e3e2e87cc39d1e4..141746888657f06e8a9f22cdd076347740ea038f 100644 (file)
@@ -8,20 +8,4 @@
 <tr class="odd"><td><%= l(:text_rmagick_available) %></td><td><%= image_tag (@flags[:rmagick_available] ? 'true.png' : 'false.png'), :style => "vertical-align:bottom;" %></td></tr>
 </table>
 
-<% if @plugins.any? %>
-&nbsp;
-<h3 class="icon22 icon22-plugin"><%= l(:label_plugins) %></h3>
-<table class="list">
-    <% @plugins.keys.sort {|x,y| x.to_s <=> y.to_s}.each do |plugin| %>
-        <tr class="<%= cycle('odd', 'even') %>">
-        <td><%=h @plugins[plugin].name %></td>
-        <td><%=h @plugins[plugin].description %></td>
-        <td><%=h @plugins[plugin].author %></td>
-        <td><%=h @plugins[plugin].version %></td>
-        <td><%= link_to(l(:button_configure), :controller => 'settings', :action => 'plugin', :id => plugin.to_s) if @plugins[plugin].configurable? %></td>
-        </tr>
-    <% end %>
-</table>
-<% end %>
-
 <% html_title(l(:label_information_plural)) -%>
diff --git a/app/views/admin/plugins.rhtml b/app/views/admin/plugins.rhtml
new file mode 100644 (file)
index 0000000..5a208fe
--- /dev/null
@@ -0,0 +1,17 @@
+<h2><%= l(:label_plugins) %></h2>
+
+<% if @plugins.any? %>
+<table class="list">
+    <% @plugins.keys.sort {|x,y| x.to_s <=> y.to_s}.each do |plugin| %>
+        <tr class="<%= cycle('odd', 'even') %>">
+        <td><%=h @plugins[plugin].name %></td>
+        <td><%=h @plugins[plugin].description %></td>
+        <td><%=h @plugins[plugin].author %></td>
+        <td><%=h @plugins[plugin].version %></td>
+        <td><%= link_to(l(:button_configure), :controller => 'settings', :action => 'plugin', :id => plugin.to_s) if @plugins[plugin].configurable? %></td>
+        </tr>
+    <% end %>
+</table>
+<% else %>
+<p class="nodata"><%= l(:label_no_data) %></p>
+<% end %>
index 7c26260828bb4bc7cbda2e840b3088e5e1cbb2b5..9cb2d07f0d710f52de20842737f6374817686d19 100644 (file)
@@ -78,6 +78,12 @@ class AdminControllerTest < Test::Unit::TestCase
     user = User.find(1)
     assert_equal [user.mail], mail.bcc
   end
+  
+  def test_plugins
+    get :plugins
+    assert_response :success
+    assert_template 'plugins'
+  end
 
   def test_info
     get :info
@@ -85,6 +91,8 @@ class AdminControllerTest < Test::Unit::TestCase
     assert_template 'info'
   end
   
+  private
+  
   def delete_configuration_data
     Role.delete_all('builtin = 0')
     Tracker.delete_all