Patch #32196 » 0001-Add-permission-to-import-time-entries.patch
| app/models/time_entry_import.rb | ||
|---|---|---|
| 23 | 23 |
end |
| 24 | 24 | |
| 25 | 25 |
def self.authorized?(user) |
| 26 |
user.allowed_to?(:log_time, nil, :global => true)
|
|
| 26 |
user.allowed_to?(:import_time_entries, nil, :global => true)
|
|
| 27 | 27 |
end |
| 28 | 28 | |
| 29 | 29 |
# Returns the objects that were imported |
| app/views/timelog/index.html.erb | ||
|---|---|---|
| 6 | 6 |
{:controller => 'projects', :action => 'settings', :id => @project, :tab => 'activities'},
|
| 7 | 7 |
:class => 'icon icon-settings' if User.current.allowed_to?(:manage_project_activities, @project) %> |
| 8 | 8 |
<%= actions_dropdown do %> |
| 9 |
<% if User.current.allowed_to?(:log_time, @project, :global => true) %>
|
|
| 9 |
<% if User.current.allowed_to?(:import_time_entries, @project, :global => true) %>
|
|
| 10 | 10 |
<%= link_to l(:button_import), new_time_entries_import_path %> |
| 11 | 11 |
<% end %> |
| 12 | 12 |
<% end %> |
| lib/redmine.rb | ||
|---|---|---|
| 132 | 132 |
map.permission :edit_own_time_entries, {:timelog => [:edit, :update, :destroy,:bulk_edit, :bulk_update]}, :require => :loggedin
|
| 133 | 133 |
map.permission :manage_project_activities, {:projects => :settings, :project_enumerations => [:update, :destroy]}, :require => :member
|
| 134 | 134 |
map.permission :log_time_for_other_users, :require => :member |
| 135 |
map.permission :import_time_entries, {}
|
|
| 135 | 136 |
end |
| 136 | 137 | |
| 137 | 138 |
map.project_module :news do |map| |
| test/fixtures/roles.yml | ||
|---|---|---|
| 1 |
---
|
|
| 2 |
roles_001:
|
|
| 1 |
--- |
|
| 2 |
roles_001: |
|
| 3 | 3 |
name: Manager |
| 4 | 4 |
id: 1 |
| 5 | 5 |
builtin: 0 |
| 6 | 6 |
issues_visibility: all |
| 7 | 7 |
users_visibility: all |
| 8 | 8 |
permissions: | |
| 9 |
---
|
|
| 9 |
--- |
|
| 10 | 10 |
- :add_project |
| 11 | 11 |
- :edit_project |
| 12 | 12 |
- :close_project |
| ... | ... | |
| 36 | 36 |
- :view_time_entries |
| 37 | 37 |
- :edit_time_entries |
| 38 | 38 |
- :delete_time_entries |
| 39 |
- :import_time_entries |
|
| 39 | 40 |
- :view_news |
| 40 | 41 |
- :manage_news |
| 41 | 42 |
- :comment_news |
| ... | ... | |
| 67 | 68 |
- :import_issues |
| 68 | 69 | |
| 69 | 70 |
position: 1 |
| 70 |
roles_002:
|
|
| 71 |
roles_002: |
|
| 71 | 72 |
name: Developer |
| 72 | 73 |
id: 2 |
| 73 | 74 |
builtin: 0 |
| 74 | 75 |
issues_visibility: default |
| 75 | 76 |
users_visibility: all |
| 76 | 77 |
permissions: | |
| 77 |
---
|
|
| 78 |
--- |
|
| 78 | 79 |
- :edit_project |
| 79 | 80 |
- :manage_members |
| 80 | 81 |
- :manage_versions |
| ... | ... | |
| 117 | 118 |
- :view_changesets |
| 118 | 119 | |
| 119 | 120 |
position: 2 |
| 120 |
roles_003:
|
|
| 121 |
roles_003: |
|
| 121 | 122 |
name: Reporter |
| 122 | 123 |
id: 3 |
| 123 | 124 |
builtin: 0 |
| 124 | 125 |
issues_visibility: default |
| 125 | 126 |
users_visibility: all |
| 126 | 127 |
permissions: | |
| 127 |
---
|
|
| 128 |
--- |
|
| 128 | 129 |
- :edit_project |
| 129 | 130 |
- :manage_members |
| 130 | 131 |
- :manage_versions |
| ... | ... | |
| 160 | 161 |
- :view_changesets |
| 161 | 162 | |
| 162 | 163 |
position: 3 |
| 163 |
roles_004:
|
|
| 164 |
roles_004: |
|
| 164 | 165 |
name: Non member |
| 165 | 166 |
id: 4 |
| 166 | 167 |
builtin: 1 |
| 167 | 168 |
issues_visibility: default |
| 168 | 169 |
users_visibility: all |
| 169 | 170 |
permissions: | |
| 170 |
---
|
|
| 171 |
--- |
|
| 171 | 172 |
- :view_issues |
| 172 | 173 |
- :add_issues |
| 173 | 174 |
- :edit_issues |
| ... | ... | |
| 192 | 193 |
- :view_changesets |
| 193 | 194 | |
| 194 | 195 |
position: 1 |
| 195 |
roles_005:
|
|
| 196 |
roles_005: |
|
| 196 | 197 |
name: Anonymous |
| 197 | 198 |
id: 5 |
| 198 | 199 |
builtin: 2 |
| 199 | 200 |
issues_visibility: default |
| 200 | 201 |
users_visibility: all |
| 201 | 202 |
permissions: | |
| 202 |
---
|
|
| 203 |
--- |
|
| 203 | 204 |
- :view_issues |
| 204 | 205 |
- :add_issue_notes |
| 205 | 206 |
- :view_gantt |
| ... | ... | |
| 215 | 216 |
- :view_changesets |
| 216 | 217 | |
| 217 | 218 |
position: 1 |
| 218 | ||