Module: Glue::Candlepin::ActivationKey::InstanceMethods

Defined in:
app/models/katello/glue/candlepin/activation_key.rb

Instance Method Summary collapse

Instance Method Details

#content_overridesObject



70
71
72
# File 'app/models/katello/glue/candlepin/activation_key.rb', line 70

def content_overrides
  Resources::Candlepin::ActivationKey.content_overrides(self.cp_id)
end

#get_key_poolsObject



29
30
31
32
33
34
35
36
37
# File 'app/models/katello/glue/candlepin/activation_key.rb', line 29

def get_key_pools
  key_pools = Resources::Candlepin::ActivationKey.get(self.cp_id)[0][:pools]
  pools = []
  key_pools.each do |key_pool|
    key_pool[:pool][:amount] = (key_pool[:quantity] ? key_pool[:quantity] : 0)
    pools << key_pool[:pool]
  end
  pools
end

#get_keysObject



25
26
27
# File 'app/models/katello/glue/candlepin/activation_key.rb', line 25

def get_keys
  Resources::Candlepin::ActivationKey.get
end

#get_poolsObject



21
22
23
# File 'app/models/katello/glue/candlepin/activation_key.rb', line 21

def get_pools
  Resources::Candlepin::ActivationKey.pools(self.organization.label)
end

#import_poolsObject



39
40
41
42
43
44
45
46
47
# File 'app/models/katello/glue/candlepin/activation_key.rb', line 39

def import_pools
  key_pools = self.get_key_pools
  pools = Katello::Pool.where(:cp_id => key_pools.map { |pool| pool['id'] })
  associations = Katello::PoolActivationKey.where(:activation_key_id => self.id)
  associations.map { |assoc| assoc.destroy! if pools.map(&:id).exclude?(assoc.pool_id) }
  pools.each do |pool|
    Katello::PoolActivationKey.where(:pool_id => pool.id, :activation_key_id => self.id).first_or_create
  end
end

#set_content_override(content_label, name, value = nil) ⇒ Object



66
67
68
# File 'app/models/katello/glue/candlepin/activation_key.rb', line 66

def set_content_override(, name, value = nil)
  Resources::Candlepin::ActivationKey.update_content_override(self.cp_id, , name, value)
end

#subscribe(pool_id, quantity = 1) ⇒ Object



49
50
51
52
53
54
55
# File 'app/models/katello/glue/candlepin/activation_key.rb', line 49

def subscribe(pool_id, quantity = 1)
  pool = Katello::Pool.find(pool_id)
  subscription = pool.subscription
  add_custom_product(subscription.product_id) unless subscription.redhat?
  Resources::Candlepin::ActivationKey.add_pools self.cp_id, pool.cp_id, quantity
  self.import_pools
end

#unsubscribe(pool_id) ⇒ Object



57
58
59
60
61
62
63
64
# File 'app/models/katello/glue/candlepin/activation_key.rb', line 57

def unsubscribe(pool_id)
  fail _("Subscription id is nil.") unless pool_id
  pool = Katello::Pool.find(pool_id)
  subscription = pool.subscription
  remove_custom_product(subscription.product_id) unless subscription.redhat?
  Resources::Candlepin::ActivationKey.remove_pools self.cp_id, pool.cp_id
  self.import_pools
end