scinote-web/db/migrate/20230620130730_remove_experiment_task_manage_permissions.rb

33 lines
1.3 KiB
Ruby

# frozen_string_literal: true
class RemoveExperimentTaskManagePermissions < ActiveRecord::Migration[6.1]
TASKS_MANAGE_PERMISSION = %w(experiment_tasks_manage).freeze
TASKS_CREATE_PERMISSION = %w(experiment_tasks_create).freeze
def change
reversible do |dir|
dir.up do
owner_role = UserRole.find_predefined_owner_role
normal_user_role = UserRole.find_predefined_normal_user_role
owner_role.permissions = (owner_role.permissions - TASKS_MANAGE_PERMISSION) | TASKS_CREATE_PERMISSION
owner_role.save(validate: false)
normal_user_role.permissions = (normal_user_role.permissions - TASKS_MANAGE_PERMISSION) |
TASKS_CREATE_PERMISSION
normal_user_role.save(validate: false)
end
dir.down do
owner_role = UserRole.find_predefined_owner_role
normal_user_role = UserRole.find_predefined_normal_user_role
owner_role.permissions = (owner_role.permissions | TASKS_MANAGE_PERMISSION) - TASKS_CREATE_PERMISSION
owner_role.save(validate: false)
normal_user_role.permissions = (normal_user_role.permissions | TASKS_MANAGE_PERMISSION) -
TASKS_CREATE_PERMISSION
normal_user_role.save(validate: false)
end
end
end
end