summaryrefslogtreecommitdiffstats
path: root/db/migrate/20150208105930_replace_move_issues_permission.rb
diff options
context:
space:
mode:
Diffstat (limited to 'db/migrate/20150208105930_replace_move_issues_permission.rb')
-rw-r--r--db/migrate/20150208105930_replace_move_issues_permission.rb18
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