-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathinit.rb
More file actions
122 lines (106 loc) · 4.06 KB
/
init.rb
File metadata and controls
122 lines (106 loc) · 4.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
##
# RedmineTaskjuggler (c) Christopher Mann et al. 2009 - 2014
# Licence GPL v3.0 Affero
# https://github.com/chris2fr/redmine_taskjuggler/
# File : init.rb
# Code for integrating redmine_taskjuggler into Redmine
# encoding:utf-8:noai:expandtab:ts=2:sw=2
require 'redmine'
##
# Patches to the Redmine core.
ActionDispatch::Callbacks.to_prepare do
require 'initializers/issue'
require 'initializers/project'
require 'initializers/user'
require 'initializers/time_entry'
end
##
# Dependency helpers or hooks I suppose
require_dependency 'helpers/view_account_left_bottom'
require_dependency 'helpers/view_issues_bulk_edit_details_bottom'
require_dependency 'helpers/view_issues_form_details_bottom'
require_dependency 'helpers/view_issues_show_description_bottom'
require_dependency 'helpers/view_projects_form'
require_dependency 'helpers/view_projects_show_left'
require_dependency 'helpers/view_time_entries_bulk_edit_details_bottom'
require_dependency 'helpers/view_timelog_edit_form_bottom'
require_dependency 'helpers/view_users_form'
##
# Dependency application logic components from outside.
require_dependency 'redmine_taskjuggler/application'
require_dependency 'redmine_workload/application'
##
# Register the plugin with the conventional call
Redmine::Plugin.register :redmine_taskjuggler do
name 'Redmine Taskjuggler plugin'
author 'Christopher Mann <christopher@mann.fr>'
description 'This plug exports project status into TaskJuggler and imports the dates too !'
version '0.1.master'
url 'https://github.com/chris2fr/redmine_taskjuggler'
author_url 'http://mann.fr'
##
# Add an application-wide settings hash for plugin global settings
settings :default => { 'tjp_path' => "",
'empty' => true},
:partial => 'settings/redmine_taskjuggler_settings'
##
# Add redmine_taskjuggler as a module
project_module :redmine_taskjuggler do
# SYNTAX: permission :name_of_permission, { :controller_name => [:action1, :action2] }
permission :redmine_taskjuggler_projects_view, {
:redmine_taskjuggler_projects => :show
}
permission :redmine_taskjuggler_projects_tjp_save, {
:redmine_taskjuggler_projects => :tjp_save
}
permission :redmine_taskjuggler_projects_tjp, {
:redmine_taskjuggler_projects => :tjp
}
permission :redmine_taskjuggler_projects_update, {
:redmine_taskjuggler_projects => [:csv, :update]
}
end
###
## Add a globol permission
permission :redmine_taskjuggler_workloads_edit, {
:redmine_taskjuggler_workloads => [:new, :create, :edit, :update]
}
permission :redmine_taskjuggler_workloads_show, {
:redmine_taskjuggler_workloads => [:index, :show]
}
#permission :redmine_taskjuggler_projects, {
# :redmine_taskjuggler_projects => [:show, :index, :tjp, :csv]
#},
#:public => true
# This permission has to be explicitly given
# It will be listed on the permissions screen
# permission :redmine_taskjuggler_admin, {:redmine_taskjuggler => [:admin]}
# This permission can be given to project members only
# permission :redmine_taskjuggler_member, {:redmine_taskjuggler => [:import, :export]}, :require => :member
##
# Add a menu in the project
menu :project_menu, :redmine_taskjuggler_projects, {
:controller => 'redmine_taskjuggler_projects',
:action => 'show'#,
#:id => @project.id,
#:set_filter => 1
},
:caption => :taskjuggler,
:after => :activity
##
# Add a menu in the Administration part of the application
# TODO: find an image icon for the menu in the administration part of the application
menu :admin_menu, :redmine_taskjuggler_teams, {
:controller => 'redmine_taskjuggler_teams',
:action => 'index'
},
:caption => 'teams'
##
# Add a menu on the top-right for the user to see his or her workload
menu :account_menu, :redmine_taskjuggler_workloads, {
:controller => 'redmine_taskjuggler_workloads',
:action => 'index'
},
:caption => :workload_label
# menu :application_menu, :redmine_taskjuggler, { :controller => 'redmine_taskjuggler_projects', :action => 'index' }, :caption => :tj_project
end