Feature #5095 » add_to_permissions_from_plugins.patch
lib/redmine/access_control.rb | ||
---|---|---|
103 | 103 |
end |
104 | 104 |
@actions.flatten! |
105 | 105 |
end |
106 |
|
|
106 | ||
107 |
def add_actions(hash) |
|
108 |
hash.each do |controller, actions| |
|
109 |
if actions.is_a? Array |
|
110 |
@actions << actions.collect {|action| "#{controller}/#{action}"} |
|
111 |
else |
|
112 |
@actions << "#{controller}/#{actions}" |
|
113 |
end |
|
114 |
end |
|
115 |
@actions.flatten! |
|
116 |
end |
|
117 | ||
107 | 118 |
def public? |
108 | 119 |
@public |
109 | 120 |
end |
lib/redmine/plugin.rb | ||
---|---|---|
213 | 213 |
Redmine::AccessControl.map {|map| map.permission(name, actions, options)} |
214 | 214 |
end |
215 | 215 |
end |
216 | ||
217 |
def add_permission(name, actions) |
|
218 |
AccessControl.permission(name).add_actions(actions) unless AccessControl.permission(name).nil? |
|
219 |
end |
|
216 | 220 |
|
217 | 221 |
# Defines a project module, that can be enabled/disabled for each project. |
218 | 222 |
# Permissions defined inside +block+ will be bind to the module. |