2017-07-23 13:26:04 +02:00
|
|
|
class ReplaceMoveIssuesPermission < ActiveRecord::Migration[4.2]
|
2015-02-08 11:20:53 +01:00
|
|
|
def self.up
|
|
|
|
Role.all.each do |role|
|
|
|
|
if role.has_permission?(:edit_issues) && !role.has_permission?(:move_issues)
|
2019-10-23 06:39:38 +02:00
|
|
|
# inserts one line per tracker and status
|
2015-02-08 16:25:11 +01:00
|
|
|
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})" +
|
2015-02-08 11:20:53 +01:00
|
|
|
" 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
|