To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / plugins / redmine_bibliography / init.rb @ 1594:69aee698921b

History | View | Annotate | Download (2.15 KB)

1
require 'redmine'
2

    
3
require 'bibtex'
4
require 'citeproc'
5
require 'citeproc/ruby'
6
require 'csl/styles'
7

    
8
# Patches to the Redmine core.
9
ActionDispatch::Callbacks.to_prepare do
10
  require_dependency 'project'
11
  require_dependency 'user'
12
  require_dependency 'mailer'
13

    
14
  unless Project.included_modules.include? Bibliography::ProjectPublicationsPatch
15
    Project.send(:include, Bibliography::ProjectPublicationsPatch)
16
  end
17

    
18
  unless User.included_modules.include? Bibliography::UserAuthorPatch
19
    User.send(:include, Bibliography::UserAuthorPatch)
20
  end
21

    
22
  unless Mailer.included_modules.include? Bibliography::MailerPatch
23
    Mailer.send(:include, Bibliography::MailerPatch)
24
  end
25

    
26
  unless ProjectsHelper.included_modules.include?(Bibliography::ProjectsHelperPatch)
27
    ProjectsHelper.send(:include, Bibliography::ProjectsHelperPatch)
28
  end
29

    
30
  unless MyHelper.included_modules.include?(Bibliography::MyHelperPatch)
31
    MyHelper.send(:include, Bibliography::MyHelperPatch)
32
  end
33
end
34

    
35

    
36
# Plugin Info
37
Redmine::Plugin.register :redmine_bibliography do
38
  name 'Redmine Bibliography plugin'
39
  author 'Chris Cannam, Luis Figueira'
40
  description 'This is a bibliography management plugin for Redmine'
41
  version '0.0.1'
42
  url 'http://example.com/path/to/plugin'
43
  author_url 'http://example.com/about'
44

    
45
  settings :default => { 'menu' => 'Publications' }, :partial => 'settings/bibliography'
46

    
47
  project_module :redmine_bibliography do
48
    permission :view_publication, {:publications => :show}, :public => :true
49
    permission :publications, { :publications => :index }, :public => true
50
    permission :edit_publication, {:publications => [:edit, :update]}
51
    permission :add_publication, {:publications => [:new, :create]}
52
    permission :delete_publication, {:publications => :destroy}
53

    
54

    
55
  end
56

    
57
  # extending the Project Menu
58
  menu :project_menu, :publications, { :controller => 'publications', :action => 'index', :path => nil }, :after => :activity, :param => :project_id, :caption => Proc.new { Setting.plugin_redmine_bibliography['menu'] },
59
   :if => Proc.new { !Setting.plugin_redmine_bibliography['menu'].blank? }
60

    
61
  activity_provider :publication, :class_name => 'Publication', :default => true
62

    
63
end
64

    
65

    
66