Sha256: 959089944cc9e42ad8eb2a3fc2568b6e1da7e99e09e81303f5374c7875d7e64a

Contents?: true

Size: 1.43 KB

Versions: 59

Compression:

Stored size: 1.43 KB

Contents

module Actions
  module Katello
    module ActivationKey
      class Update < Actions::EntryAction
        def plan(activation_key, activation_key_params)
          # need to check if candlepin attributes have changed prior to updating attributes
          update_candlepin = update_candlepin?(activation_key, activation_key_params)
          action_subject activation_key
          activation_key.update_attributes!(activation_key_params)
          if update_candlepin
            plan_action(::Actions::Candlepin::ActivationKey::Update,
                        cp_id: activation_key.cp_id,
                        release_version: activation_key.release_version,
                        service_level: activation_key.service_level,
                        auto_attach: activation_key.auto_attach)
          end
        end

        def update_candlepin?(activation_key, activation_key_params)
          cp_changed?(activation_key.auto_attach, activation_key_params[:auto_attach]) ||
          cp_changed?(activation_key.service_level, activation_key_params[:service_level]) ||
          cp_changed?(activation_key.release_version, activation_key_params[:release_version])
        end

        def cp_changed?(activation_key, activation_key_params)
          !activation_key_params.nil? && activation_key.to_s != activation_key_params.to_s
        end

        def rescue_strategy
          Dynflow::Action::Rescue::Skip
        end
      end
    end
  end
end

Version data entries

59 entries across 59 versions & 1 rubygems

Version Path
katello-3.12.3 app/lib/actions/katello/activation_key/update.rb
katello-3.12.2 app/lib/actions/katello/activation_key/update.rb
katello-3.12.1 app/lib/actions/katello/activation_key/update.rb
katello-3.11.2 app/lib/actions/katello/activation_key/update.rb
katello-3.10.2 app/lib/actions/katello/activation_key/update.rb
katello-3.12.0 app/lib/actions/katello/activation_key/update.rb
katello-3.12.0.rc2 app/lib/actions/katello/activation_key/update.rb
katello-3.10.1.1 app/lib/actions/katello/activation_key/update.rb
katello-3.12.0.rc1 app/lib/actions/katello/activation_key/update.rb
katello-3.10.1 app/lib/actions/katello/activation_key/update.rb
katello-3.11.1 app/lib/actions/katello/activation_key/update.rb
katello-3.11.0 app/lib/actions/katello/activation_key/update.rb
katello-3.11.0.rc2 app/lib/actions/katello/activation_key/update.rb
katello-3.11.0.rc1 app/lib/actions/katello/activation_key/update.rb
katello-3.10.0 app/lib/actions/katello/activation_key/update.rb
katello-3.10.0.rc1.1 app/lib/actions/katello/activation_key/update.rb
katello-3.9.1 app/lib/actions/katello/activation_key/update.rb
katello-3.10.0.rc1 app/lib/actions/katello/activation_key/update.rb
katello-3.9.0 app/lib/actions/katello/activation_key/update.rb
katello-3.8.1 app/lib/actions/katello/activation_key/update.rb