You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

20150208105930_replace_move_issues_permission.rb 780B

12345678910111213141516171819
  1. class ReplaceMoveIssuesPermission < ActiveRecord::Migration[4.2]
  2. def self.up
  3. Role.all.each do |role|
  4. if role.has_permission?(:edit_issues) && !role.has_permission?(:move_issues)
  5. # inserts one line per tracker and status
  6. rule = WorkflowPermission.connection.quote_column_name('rule') # rule is a reserved keyword in SQLServer
  7. WorkflowPermission.connection.execute(
  8. "INSERT INTO #{WorkflowPermission.table_name} (tracker_id, old_status_id, role_id, type, field_name, #{rule})" +
  9. " SELECT t.id, s.id, #{role.id}, 'WorkflowPermission', 'project_id', 'readonly'" +
  10. " FROM #{Tracker.table_name} t, #{IssueStatus.table_name} s"
  11. )
  12. end
  13. end
  14. end
  15. def self.down
  16. raise IrreversibleMigration
  17. end
  18. end