Mercurial > hg > soundsoftware-site
diff plugins/redmine_bibliography/init.rb @ 1520:a1bdbf8a87d5 redmine-2.5-integration
Merge from branch "redmine-2.4-integration"
author | Chris Cannam |
---|---|
date | Tue, 09 Sep 2014 10:02:18 +0100 |
parents | e0167f4e1d8a |
children | fa3d9c22497c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/redmine_bibliography/init.rb Tue Sep 09 10:02:18 2014 +0100 @@ -0,0 +1,64 @@ +require 'redmine' + +require 'bibtex' +require 'citeproc' + +# Patches to the Redmine core. +ActionDispatch::Callbacks.to_prepare do + require_dependency 'project' + require_dependency 'user' + require_dependency 'mailer' + + unless Project.included_modules.include? Bibliography::ProjectPublicationsPatch + Project.send(:include, Bibliography::ProjectPublicationsPatch) + end + + unless User.included_modules.include? Bibliography::UserAuthorPatch + User.send(:include, Bibliography::UserAuthorPatch) + end + + unless Mailer.included_modules.include? Bibliography::MailerPatch + Mailer.send(:include, Bibliography::MailerPatch) + end + + unless ProjectsHelper.included_modules.include?(Bibliography::ProjectsHelperPatch) + ProjectsHelper.send(:include, Bibliography::ProjectsHelperPatch) + end + + unless MyHelper.included_modules.include?(Bibliography::MyHelperPatch) + MyHelper.send(:include, Bibliography::MyHelperPatch) + end +end + + +# Plugin Info +Redmine::Plugin.register :redmine_bibliography do + name 'Redmine Bibliography plugin' + author 'Chris Cannam, Luis Figueira' + description 'This is a bibliography management plugin for Redmine' + version '0.0.1' + url 'http://example.com/path/to/plugin' + author_url 'http://example.com/about' + + settings :default => { 'menu' => 'Publications' }, :partial => 'settings/bibliography' + + project_module :redmine_bibliography do + permission :view_publication, {:publications => :show}, :public => :true + permission :publications, { :publications => :index }, :public => true + permission :edit_publication, {:publications => [:edit, :update]} + permission :add_publication, {:publications => [:new, :create]} + permission :delete_publication, {:publications => :destroy} + + + end + + # extending the Project Menu + menu :project_menu, :publications, { :controller => 'publications', :action => 'index', :path => nil }, :after => :activity, :param => :project_id, :caption => Proc.new { Setting.plugin_redmine_bibliography['menu'] }, + :if => Proc.new { !Setting.plugin_redmine_bibliography['menu'].blank? } + + activity_provider :publication, :class_name => 'Publication', :default => true + +end + + +