--- /dev/null
+class Meeting < ActiveRecord::Base
+ belongs_to :project
+
+ acts_as_activity_provider :timestamp => 'scheduled_on',
+ :find_options => { :include => :project }
+end
--- /dev/null
+# 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
+++ /dev/null
-# 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
# 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
# Sample plugin
label_plugin_example: Sample Plugin
+label_meeting_plural: Meetings
text_say_hello: Plugin say 'Hello'
text_say_goodbye: Plugin say 'Good bye'
# Sample plugin
label_plugin_example: Plugin exemple
+label_meeting_plural: Meetings
text_say_hello: Plugin dit 'Bonjour'
text_say_goodbye: Plugin dit 'Au revoir'