Sha256: e53d1ea04828bc235e6c6a0714d295bf700664dbea4018d9adb98a514b533982

Contents?: true

Size: 773 Bytes

Versions: 42

Compression:

Stored size: 773 Bytes

Contents

class RenameTemplateInvocationPermission < ActiveRecord::Migration[4.2]
  PERMISSION_NAMES = %w(execute_template_invocation create_template_invocations).freeze

  def up
    switch_filtering_permission!(*PERMISSION_NAMES)
  end

  def down
    switch_filtering_permission!(*PERMISSION_NAMES.reverse)
  end

  private

  def switch_filtering_permission!(old, new)
    old_permission = Permission.find_by(:name => old)
    return if old_permission.nil?
    new_permission = Permission.find_or_create_by(:name => new,
                                                  :resource_type => 'TemplateInvocation')
    old_permission.filterings.each do |filtering|
      filtering.permission_id = new_permission.id
      filtering.save!
    end
    old_permission.destroy!
  end
end

Version data entries

42 entries across 42 versions & 1 rubygems

Version Path
foreman_remote_execution-2.0.10 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-2.0.9 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-2.0.8 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-3.0.3 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-3.0.2 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-2.0.7 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-3.0.1 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-3.0.0 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-2.0.6 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-2.0.5 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-2.0.4 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-2.0.3 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-2.0.2 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-2.0.1 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-2.0.0 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-1.8.4 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-1.8.3 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-1.8.2 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-1.8.1 db/migrate/20180110104432_rename_template_invocation_permission.rb
foreman_remote_execution-1.8.0 db/migrate/20180110104432_rename_template_invocation_permission.rb