]> source.dussan.org Git - redmine.git/commitdiff
Activity provider example in sample plugin.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 27 Jul 2008 19:10:56 +0000 (19:10 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 27 Jul 2008 19:10:56 +0000 (19:10 +0000)
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1703 e93f8b46-1217-0410-a6f0-8f06a7374b81

extra/sample_plugin/app/models/meeting.rb [new file with mode: 0644]
extra/sample_plugin/db/migrate/001_create_meetings.rb [new file with mode: 0644]
extra/sample_plugin/db/migrate/001_create_some_models.rb [deleted file]
extra/sample_plugin/init.rb
extra/sample_plugin/lang/en.yml
extra/sample_plugin/lang/fr.yml

diff --git a/extra/sample_plugin/app/models/meeting.rb b/extra/sample_plugin/app/models/meeting.rb
new file mode 100644 (file)
index 0000000..89ecd52
--- /dev/null
@@ -0,0 +1,6 @@
+class Meeting < ActiveRecord::Base
+  belongs_to :project
+  
+  acts_as_activity_provider :timestamp => 'scheduled_on',
+                            :find_options => { :include => :project }
+end
diff --git a/extra/sample_plugin/db/migrate/001_create_meetings.rb b/extra/sample_plugin/db/migrate/001_create_meetings.rb
new file mode 100644 (file)
index 0000000..fec9c8b
--- /dev/null
@@ -0,0 +1,15 @@
+# Sample plugin migration
+# Use rake db:migrate_plugins to migrate installed plugins
+class CreateMeetings < ActiveRecord::Migration
+  def self.up
+    create_table :meetings do |t|
+      t.column :project_id, :integer, :null => false
+      t.column :description, :string
+      t.column :scheduled_on, :datetime
+    end
+  end
+
+  def self.down
+    drop_table :meetings
+  end
+end
diff --git a/extra/sample_plugin/db/migrate/001_create_some_models.rb b/extra/sample_plugin/db/migrate/001_create_some_models.rb
deleted file mode 100644 (file)
index 39d58a6..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# Sample plugin migration
-# Use rake db:migrate_plugins to migrate installed plugins
-class CreateSomeModels < ActiveRecord::Migration
-  def self.up
-    create_table :example_plugin_model, :force => true do |t|
-      t.column "example_attribute", :integer
-    end
-  end
-
-  def self.down
-    drop_table :example_plugin_model
-  end
-end
index 7389aaa6fbc06fc2907617b73fff9309a70e6321..5c543338c14e020d390fb3c0fbf79c4dc4f61314 100644 (file)
@@ -18,8 +18,13 @@ Redmine::Plugin.register :sample_plugin do
     # This permission has to be explicitly given
     # It will be listed on the permissions screen
     permission :example_say_goodbye, {:example => [:say_goodbye]}
+    # This permission can be given to project members only
+    permission :view_meetings, {:meetings => [:index, :show]}, :require => :member
   end
 
   # A new item is added to the project menu
   menu :project_menu, :sample_plugin, { :controller => 'example', :action => 'say_hello' }, :caption => 'Sample'
+  
+  # Meetings are added to the activity view
+  activity_provider :meetings
 end
index bf62bc344feefd95c814283d65bda801a4915c4b..c4005a764e5f031f4edb2189c9fe2b3898a6e399 100644 (file)
@@ -1,4 +1,5 @@
 # Sample plugin
 label_plugin_example: Sample Plugin
+label_meeting_plural: Meetings
 text_say_hello: Plugin say 'Hello'
 text_say_goodbye: Plugin say 'Good bye'
index 2c0829c328fa573cb9774928bd5bc800132d36e4..135050a5a96a8ee4bf472fdb4b09dff2647a528b 100644 (file)
@@ -1,4 +1,5 @@
 # Sample plugin
 label_plugin_example: Plugin exemple
+label_meeting_plural: Meetings
 text_say_hello: Plugin dit 'Bonjour'
 text_say_goodbye: Plugin dit 'Au revoir'