luis@298
|
1 require 'redmine'
|
luis@454
|
2 require 'dispatcher'
|
luis@454
|
3
|
luis@455
|
4 RAILS_DEFAULT_LOGGER.info 'Starting Bibliography Plugin for RedMine'
|
luis@454
|
5
|
luis@454
|
6 # Patches to the Redmine core.
|
luis@454
|
7 Dispatcher.to_prepare :redmine_model_dependencies do
|
luis@454
|
8 require_dependency 'project'
|
luis@466
|
9 require_dependency 'user'
|
luis@454
|
10
|
luis@454
|
11 unless Project.included_modules.include? Bibliography::ProjectPublicationsPatch
|
luis@454
|
12 Project.send(:include, Bibliography::ProjectPublicationsPatch)
|
luis@454
|
13 end
|
luis@466
|
14
|
luis@483
|
15 unless User.included_modules.include? Bibliography::UserAuthorPatch
|
luis@483
|
16 User.send(:include, Bibliography::UserAuthorPatch)
|
luis@466
|
17 end
|
luis@466
|
18
|
luis@454
|
19 end
|
luis@298
|
20
|
luis@455
|
21
|
luis@455
|
22 # Plugin Info
|
luis@298
|
23 Redmine::Plugin.register :redmine_bibliography do
|
luis@298
|
24 name 'Redmine Bibliography plugin'
|
luis@298
|
25 author 'Chris Cannam, Luis Figueira'
|
luis@455
|
26 description 'This is a bibliography management plugin for Redmine'
|
luis@298
|
27 version '0.0.1'
|
luis@298
|
28 url 'http://example.com/path/to/plugin'
|
luis@298
|
29 author_url 'http://example.com/about'
|
luis@376
|
30
|
luis@455
|
31 settings :default => { 'menu' => 'Bibliography' }, :partial => 'settings/bibliography'
|
luis@454
|
32
|
luis@455
|
33 project_module :redmine_bibliography do
|
luis@614
|
34 permission :publications, { :publications => :index }
|
luis@614
|
35 permission :edit_publication, {:redmine_bibliography => [:edit, :update]}
|
luis@550
|
36 permission :add_publication, {:redmine_bibliography => [:new, :create]}
|
luis@455
|
37 end
|
luis@454
|
38
|
luis@455
|
39 # extending the Project Menu
|
luis@456
|
40 menu :project_menu, :publications, { :controller => 'publications', :action => 'index', :path => nil }, :after => :activity, :param => :project_id, :caption => Proc.new { Setting.plugin_redmine_bibliography['menu'] },
|
luis@455
|
41 :if => Proc.new { !Setting.plugin_redmine_bibliography['menu'].blank? }
|
luis@455
|
42
|
luis@614
|
43 end
|