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
+
+
+