Chris@909: # Redmine sample plugin Chris@909: require 'redmine' Chris@909: Chris@909: RAILS_DEFAULT_LOGGER.info 'Starting Example plugin for RedMine' Chris@909: Chris@909: Redmine::Plugin.register :sample_plugin do Chris@909: name 'Example plugin' Chris@909: author 'Author name' Chris@909: description 'This is a sample plugin for Redmine' Chris@909: version '0.0.1' Chris@909: settings :default => {'sample_setting' => 'value', 'foo'=>'bar'}, :partial => 'settings/sample_plugin_settings' Chris@909: Chris@909: # This plugin adds a project module Chris@909: # It can be enabled/disabled at project level (Project settings -> Modules) Chris@909: project_module :example_module do Chris@909: # A public action Chris@909: permission :example_say_hello, {:example => [:say_hello]}, :public => true Chris@909: # This permission has to be explicitly given Chris@909: # It will be listed on the permissions screen Chris@909: permission :example_say_goodbye, {:example => [:say_goodbye]} Chris@909: # This permission can be given to project members only Chris@909: permission :view_meetings, {:meetings => [:index, :show]}, :require => :member Chris@909: end Chris@909: Chris@909: # A new item is added to the project menu Chris@909: menu :project_menu, :sample_plugin, { :controller => 'example', :action => 'say_hello' }, :caption => 'Sample' Chris@909: Chris@909: # Meetings are added to the activity view Chris@909: activity_provider :meetings Chris@909: end