Patch #12721 ยป menu-manager-optimize.patch
| lib/redmine/menu_manager.rb | ||
|---|---|---|
| 190 | 190 | |
| 191 | 191 |
# Checks if a user is allowed to access the menu item by: |
| 192 | 192 |
# |
| 193 |
# * Checking the conditions of the item |
|
| 194 | 193 |
# * Checking the url target (project only) |
| 194 |
# * Checking the conditions of the item |
|
| 195 | 195 |
def allowed_node?(node, user, project) |
| 196 |
if project && user && !user.allowed_to?(node.url, project) |
|
| 197 |
return false |
|
| 198 |
end |
|
| 196 | 199 |
if node.condition && !node.condition.call(project) |
| 197 | 200 |
# Condition that doesn't pass |
| 198 | 201 |
return false |
| 199 | 202 |
end |
| 200 | ||
| 201 |
if project |
|
| 202 |
return user && user.allowed_to?(node.url, project) |
|
| 203 |
else |
|
| 204 |
# outside a project, all menu items allowed |
|
| 205 |
return true |
|
| 206 |
end |
|
| 203 |
return true |
|
| 207 | 204 |
end |
| 208 | 205 |
end |
| 209 | 206 | |