]> source.dussan.org Git - redmine.git/commitdiff
Adds plugin id attribute.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 16 Nov 2008 15:22:48 +0000 (15:22 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 16 Nov 2008 15:22:48 +0000 (15:22 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2038 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/admin_controller.rb
app/views/admin/plugins.rhtml
lib/redmine/plugin.rb

index 90ec59098e293c31f97e4a68ff653bfd0d0636c2..119e2b92250678ccf912b347b82a71b45f05840f 100644 (file)
@@ -50,7 +50,7 @@ class AdminController < ApplicationController
   end
   
   def plugins
-    @plugins = Redmine::Plugin.registered_plugins
+    @plugins = Redmine::Plugin.registered_plugins.values.sort
   end
   
   # Loads the default configuration
index 5a208fe0233e86122ce62cb380f33f0f44528a1b..9cabd42ae56a47fd171d4eb061709c26e4d176e4 100644 (file)
@@ -2,13 +2,13 @@
 
 <% if @plugins.any? %>
 <table class="list">
-    <% @plugins.keys.sort {|x,y| x.to_s <=> y.to_s}.each do |plugin| %>
+    <% @plugins.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>
+        <td><%=h plugin.name %></td>
+        <td><%=h plugin.description %></td>
+        <td><%=h plugin.author %></td>
+        <td><%=h plugin.version %></td>
+        <td><%= link_to(l(:button_configure), :controller => 'settings', :action => 'plugin', :id => plugin.id) if plugin.configurable? %></td>
         </tr>
     <% end %>
 </table>
index 87a6ce4d3db7c139880c2995afac9e8b6a005ab5..17953ef8cef49e0d0cfe7acebc3914714ea00df1 100644 (file)
@@ -56,12 +56,21 @@ module Redmine #:nodoc:
       end
     end
     def_field :name, :description, :author, :version, :settings
-  
+    attr_reader :id
+    
     # Plugin constructor
-    def self.register(name, &block)
-      p = new
+    def self.register(id, &block)
+      p = new(id)
       p.instance_eval(&block)
-      Plugin.registered_plugins[name] = p
+      Plugin.registered_plugins[id] = p
+    end
+    
+    def initialize(id)
+      @id = id.to_sym
+    end
+    
+    def <=>(plugin)
+      self.id.to_s <=> plugin.id.to_s
     end
 
     # Adds an item to the given +menu+.