redmine/db/migrate/20150208105930_replace_move_issues_permission.rb

20 lines
780 B
Ruby
Raw Normal View History

class ReplaceMoveIssuesPermission < ActiveRecord::Migration[4.2]
def self.up
Role.all.each do |role|
if role.has_permission?(:edit_issues) && !role.has_permission?(:move_issues)
# inserts one line per tracker and status
rule = WorkflowPermission.connection.quote_column_name('rule') # rule is a reserved keyword in SQLServer
WorkflowPermission.connection.execute(
"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