diff options
Diffstat (limited to 'db/migrate/20150208105930_replace_move_issues_permission.rb')
-rw-r--r-- | db/migrate/20150208105930_replace_move_issues_permission.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/db/migrate/20150208105930_replace_move_issues_permission.rb b/db/migrate/20150208105930_replace_move_issues_permission.rb new file mode 100644 index 000000000..79ed506bc --- /dev/null +++ b/db/migrate/20150208105930_replace_move_issues_permission.rb @@ -0,0 +1,18 @@ +class ReplaceMoveIssuesPermission < ActiveRecord::Migration + def self.up + Role.all.each do |role| + if role.has_permission?(:edit_issues) && !role.has_permission?(:move_issues) + # inserts one ligne per trakcer and status + WorkflowPermission.connection.insert_sql( + "INSERT INTO #{WorkflowPermission.table_name} (tracker_id, old_status_id, role_id, type, field_name, rule)" + + " SELECT t.id, s.id, #{role.id}, 'WorkflowPermission', 'project_id', 'readonly'" + + " FROM #{Tracker.table_name} t, #{IssueStatus.table_name} s" + ) + end + end + end + + def self.down + raise IrreversibleMigration + end +end |