katello 3.0.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of katello might be problematic. Click here for more details.

Files changed (25) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/katello/_katello_vars.scss +37 -37
  3. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +3 -2
  4. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +1 -0
  5. data/app/lib/actions/katello/content_view/promote.rb +1 -1
  6. data/app/lib/actions/katello/content_view/publish.rb +1 -1
  7. data/app/lib/actions/katello/host/register.rb +5 -3
  8. data/app/lib/actions/katello/host/update.rb +1 -0
  9. data/app/models/katello/concerns/host_managed_extensions.rb +1 -1
  10. data/app/models/katello/glue/pulp/repo.rb +4 -4
  11. data/app/models/katello/host/subscription_facet.rb +20 -2
  12. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/views/activation-keys-table-collapsed.html +1 -1
  13. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion_katello.js +2 -0
  14. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +1 -1
  15. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages.html +1 -1
  16. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-errata-filter.controller.js +19 -19
  17. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/views/content-views-table-collapsed.html +1 -1
  18. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/views/host-collections-table-collapsed.html +1 -1
  19. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/views/packages-table-collapsed.html +1 -1
  20. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products-table-collapsed.html +1 -1
  21. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscriptions-table-collapsed.html +1 -1
  22. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/views/sync-plans-table-collapsed.html +1 -1
  23. data/lib/katello/version.rb +1 -1
  24. data/vendor/assets/stylesheets/katello/jquery-ui-1.8.11.custom.css +17 -17
  25. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 50ee4bb4ee7bca71af7c79c1a52cc26adab5e6cd
4
- data.tar.gz: 5c41510b896e3e3e5c2109126dc850d789c6b43e
3
+ metadata.gz: 8e6baaee12047d7f51cd5aa22e459cea411aa0bb
4
+ data.tar.gz: 0bbb1ba25154c5aa74c0ee4321b61a3d075c74e0
5
5
  SHA512:
6
- metadata.gz: 8a6facf5f73221e202cd7dad30bb5b81b9b64bc6ba223696abee7815b258ad2d42592f81a3f021ad47d981e32ae24e309b12f2559456dc1f165faa99aa8e396a
7
- data.tar.gz: 7fd62ba9c47195a89655b2bcd542de757c8472aa07a9db0a7604e9af54d3818992a9e9fa7964de2bceed2e9ce5d34483a055b0df050d48467b378fe1af8c614d
6
+ metadata.gz: f422c50425a46b7289e2c639a0e594e9e618ee894630eb9c76bef90e0eb49e0ad0efa2a08c3b5929c98a9723c5a17336456918e53dad909de251fe187bce5749
7
+ data.tar.gz: e790f13972a9c05578189375093f3854ed5158518869da5bc78fa70bfed6cb6ec7afc2efa96548b1dab84aaada62c5faa1aaa5c5fba1bcdb840ecec3a2eaa309
@@ -1,40 +1,40 @@
1
- $katello_logo_img: url("katello-logo.png");
2
- $headpin_logo_img: url("headpin-logo.png");
3
- $body_background_img: url("outer-background.png") repeat-x 0 -7px #FFF;
4
- $center_background_img: url("center-background.png") no-repeat center top transparent;
5
- $third_level_background_img: url("3rd-level-bg.png") no-repeat bottom center transparent;
6
- $subnav_shadow_img: url("subnav-shadow.png") repeat-x 0 bottom transparent;
7
- $footer_shade_img: url("footer-shade.png") repeat-x 0 0 transparent;
8
- $order_desc_img: url("icons/order-desc.png") no-repeat center right;
9
- $order_asc_img: url("icons/order-asc.png") no-repeat center right;
10
- $ui_totop_img: url("icons/ui.totop.png") no-repeat left top;
11
- $ui_totop_hover_img: url("icons/ui.totop.png") no-repeat left -32px;
12
- $ninesixty_img: url("960.png") repeat-y top center;
13
- $input_background_img: url("input-bg.png") repeat-x 0 0 #f0f0f0;
14
- $info_icon: url("icons/info.png") no-repeat scroll 98% 6px transparent;
15
- $info_hover_icon: url("icons/info.png") no-repeat scroll 98% 6px transparent;
16
- $edit_hover_icon: url("icons/edit-hover.png") no-repeat scroll 98% 6px #F2F2F2;
17
- $home_icon_black: url("icons/breadcrumb-icons.png") -16px -16px no-repeat;
18
- $home_icon_green: url("icons/breadcrumb-icons.png") -16px 0px no-repeat;
19
- $locked_icon: url("icons/locked.png") 0 0 no-repeat;
20
- $dotdotdot_icon: url("icons/dotdotdot.png") no-repeat right bottom transparent;
21
- $close_icon: url("icons/close.png") no-repeat scroll right center transparent;
22
- $search_icon_black: url("icons/breadcrumb-icons.png") 0px -16px no-repeat;
23
- $icon_search_grey: url("icons/icon_search.png") no-repeat 0 0;
24
- $grabber_icon: url("icons/grabber.png") 1px 50% no-repeat;
25
- $status_icon_green: url("icons/status.png") no-repeat 0 0;
26
- $status_icon_yellow: url("icons/status.png") no-repeat 0 -10px;
27
- $status_icon_red: url("icons/status.png") no-repeat 0 -25px;
28
- $status_exclamation_icon: url("icons/statusicons.png") no-repeat 0 0;
29
- $status_confirm_icon: url("icons/statusicons.png") no-repeat -16px 0;
30
- $status_alert_icon: url("icons/statusicons.png") no-repeat -32px 0;
31
- $status_icons_green: url("icons/status_icons_sprite.png") no-repeat 0 0;
32
- $status_icons_green_small: url("icons/status_icons_sprite.png") no-repeat 1px -26px;
33
- $status_icons_yellow: url("icons/status_icons_sprite.png") no-repeat -53px 0;
34
- $status_icons_yellow_small: url("icons/status_icons_sprite.png") no-repeat -30px -25px;
35
- $status_icons_red: url("icons/status_icons_sprite.png") no-repeat -25px 0;
36
- $status_icons_red_small: url("icons/status_icons_sprite.png") no-repeat -15px -25px;
37
- $icon_menu_arrow: url("icons/icon_menu_arrow.gif") no-repeat 0 0;
1
+ $katello_logo_img: image-url("katello/katello-logo.png");
2
+ $headpin_logo_img: image-url("katello/headpin-logo.png");
3
+ $body_background_img: image-url("katello/outer-background.png") repeat-x 0 -7px #FFF;
4
+ $center_background_img: image-url("katello/center-background.png") no-repeat center top transparent;
5
+ $third_level_background_img: image-url("katello/3rd-level-bg.png") no-repeat bottom center transparent;
6
+ $subnav_shadow_img: image-url("katello/subnav-shadow.png") repeat-x 0 bottom transparent;
7
+ $footer_shade_img: image-url("katello/footer-shade.png") repeat-x 0 0 transparent;
8
+ $order_desc_img: image-url("katello/icons/order-desc.png") no-repeat center right;
9
+ $order_asc_img: image-url("katello/icons/order-asc.png") no-repeat center right;
10
+ $ui_totop_img: image-url("katello/icons/ui.totop.png") no-repeat left top;
11
+ $ui_totop_hover_img: image-url("katello/icons/ui.totop.png") no-repeat left -32px;
12
+ $ninesixty_img: image-url("katello/960.png") repeat-y top center;
13
+ $input_background_img: image-url("katello/input-bg.png") repeat-x 0 0 #f0f0f0;
14
+ $info_icon: image-url("katello/icons/info.png") no-repeat scroll 98% 6px transparent;
15
+ $info_hover_icon: image-url("katello/icons/info.png") no-repeat scroll 98% 6px transparent;
16
+ $edit_hover_icon: image-url("katello/icons/edit-hover.png") no-repeat scroll 98% 6px #F2F2F2;
17
+ $home_icon_black: image-url("katello/icons/breadcrumb-icons.png") -16px -16px no-repeat;
18
+ $home_icon_green: image-url("katello/icons/breadcrumb-icons.png") -16px 0px no-repeat;
19
+ $locked_icon: image-url("katello/icons/locked.png") 0 0 no-repeat;
20
+ $dotdotdot_icon: image-url("katello/icons/dotdotdot.png") no-repeat right bottom transparent;
21
+ $close_icon: image-url("katello/icons/close.png") no-repeat scroll right center transparent;
22
+ $search_icon_black: image-url("katello/icons/breadcrumb-icons.png") 0px -16px no-repeat;
23
+ $icon_search_grey: image-url("katello/icons/icon_search.png") no-repeat 0 0;
24
+ $grabber_icon: image-url("katello/icons/grabber.png") 1px 50% no-repeat;
25
+ $status_icon_green: image-url("katello/icons/status.png") no-repeat 0 0;
26
+ $status_icon_yellow: image-url("katello/icons/status.png") no-repeat 0 -10px;
27
+ $status_icon_red: image-url("katello/icons/status.png") no-repeat 0 -25px;
28
+ $status_exclamation_icon: image-url("katello/icons/statusicons.png") no-repeat 0 0;
29
+ $status_confirm_icon: image-url("katello/icons/statusicons.png") no-repeat -16px 0;
30
+ $status_alert_icon: image-url("katello/icons/statusicons.png") no-repeat -32px 0;
31
+ $status_icons_green: image-url("katello/icons/status_icons_sprite.png") no-repeat 0 0;
32
+ $status_icons_green_small: image-url("katello/icons/status_icons_sprite.png") no-repeat 1px -26px;
33
+ $status_icons_yellow: image-url("katello/icons/status_icons_sprite.png") no-repeat -53px 0;
34
+ $status_icons_yellow_small: image-url("katello/icons/status_icons_sprite.png") no-repeat -30px -25px;
35
+ $status_icons_red: image-url("katello/icons/status_icons_sprite.png") no-repeat -25px 0;
36
+ $status_icons_red_small: image-url("katello/icons/status_icons_sprite.png") no-repeat -15px -25px;
37
+ $icon_menu_arrow: image-url("katello/icons/icon_menu_arrow.gif") no-repeat 0 0;
38
38
 
39
39
  @mixin action-icon($icon) {
40
40
  background: $icon;
@@ -151,8 +151,9 @@ module Katello
151
151
  #param :id, String, :desc => N_("UUID of the consumer")
152
152
  #desc 'Schedules the consumer identity certificate regeneration'
153
153
  def regenerate_identity_certificates
154
- Candlepin::Consumer.new(params[:uuid]).regenerate_identity_certificates
155
- render :json => Resources::Candlepin::Consumer.get(@host.uuid)
154
+ uuid = @host.subscription_facet.uuid
155
+ Candlepin::Consumer.new(uuid).regenerate_identity_certificates
156
+ render :json => Resources::Candlepin::Consumer.get(uuid)
156
157
  end
157
158
 
158
159
  api :PUT, "/systems/:id/enabled_repos", N_("Update the information about enabled repositories")
@@ -65,6 +65,7 @@ module Katello
65
65
  host = Katello::Host::SubscriptionFacet.find_or_create_host(name, @content_view_environment.environment.organization, rhsm_params)
66
66
  sync_task(::Actions::Katello::Host::Register, host, System.new, rhsm_params, @content_view_environment)
67
67
  host.reload
68
+ ::Katello::Host::SubscriptionFacet.update_facts(host, rhsm_params[:facts]) unless rhsm_params[:facts].blank?
68
69
 
69
70
  respond_for_show(:resource => host, :template => '../../../api/v2/hosts/show')
70
71
  end
@@ -26,7 +26,7 @@ module Actions
26
26
  :puppet_modules_present => version.puppet_module_count > 0)
27
27
 
28
28
  repos_to_delete(version, environment).each do |repo|
29
- plan_action(Repository::Destroy, repo, :planned_destroy => true)
29
+ plan_action(Repository::Destroy, repo, :skip_environment_update => true, :planned_destroy => true)
30
30
  end
31
31
  end
32
32
 
@@ -32,7 +32,7 @@ module Actions
32
32
  end
33
33
 
34
34
  repos_to_delete(content_view).each do |repo|
35
- plan_action(Repository::Destroy, repo, :planned_destroy => true)
35
+ plan_action(Repository::Destroy, repo, :skip_environment_update => true, :planned_destroy => true)
36
36
  end
37
37
  end
38
38
 
@@ -11,7 +11,6 @@ module Actions
11
11
  plan_action(Katello::Host::Unregister, host)
12
12
  host.reload
13
13
  end
14
- ::Katello::Host::SubscriptionFacet.update_facts(host, consumer_params[:facts]) unless consumer_params[:facts].blank?
15
14
 
16
15
  unless activation_keys.empty?
17
16
  content_view_environment ||= lookup_content_view_environment(activation_keys)
@@ -29,6 +28,8 @@ module Actions
29
28
  host.subscription_facet = plan_subscription_facet(host, activation_keys, consumer_params)
30
29
  host.save!
31
30
 
31
+ ::Katello::Host::SubscriptionFacet.update_facts(host, consumer_params[:facts]) unless consumer_params[:facts].blank?
32
+
32
33
  action_subject host
33
34
 
34
35
  cp_create = plan_action(Candlepin::Consumer::Create, cp_environment_id: content_view_environment.cp_id,
@@ -53,7 +54,8 @@ module Actions
53
54
  host.content_facet.uuid = input[:uuid]
54
55
  host.subscription_facet.uuid = input[:uuid]
55
56
  host.content_facet.save!
56
- host.subscription_facet.update_from_consumer_attributes(host.subscription_facet.candlepin_consumer.consumer_attributes)
57
+ host.subscription_facet.update_from_consumer_attributes(host.subscription_facet.candlepin_consumer.
58
+ consumer_attributes.except(:installedProducts, :guestIds, :facts))
57
59
  host.subscription_facet.save!
58
60
  connect_to_smart_proxy(host)
59
61
 
@@ -120,7 +122,7 @@ module Actions
120
122
  def plan_subscription_facet(host, activation_keys, consumer_params)
121
123
  subscription_facet = host.subscription_facet || ::Katello::Host::SubscriptionFacet.new(:host => host)
122
124
  subscription_facet.last_checkin = DateTime.now
123
- subscription_facet.update_from_consumer_attributes(consumer_params)
125
+ subscription_facet.update_from_consumer_attributes(consumer_params.except(:installedProducts, :guestIds, :facts))
124
126
  subscription_facet.save!
125
127
  subscription_facet.activation_keys = activation_keys
126
128
  subscription_facet
@@ -17,6 +17,7 @@ module Actions
17
17
  else
18
18
  consumer_params = host.subscription_facet.consumer_attributes
19
19
  end
20
+ ::Katello::Host::SubscriptionFacet.update_facts(host, consumer_params[:facts]) unless consumer_params[:facts].blank?
20
21
  host.subscription_facet.save!
21
22
  plan_action(::Actions::Candlepin::Consumer::Update, host.subscription_facet.uuid, consumer_params)
22
23
  end
@@ -81,7 +81,7 @@ module Katello
81
81
  def set_hostgroup_defaults_with_katello_attributes
82
82
  if hostgroup.present?
83
83
  if content_facet.present?
84
- self.content_facet.kickstart_repository_id = hostgroup.inherited_kickstart_repository_id
84
+ self.content_facet.kickstart_repository_id ||= hostgroup.inherited_kickstart_repository_id
85
85
  end
86
86
  assign_hostgroup_attributes(%w(content_source_id content_view_id lifecycle_environment_id))
87
87
  end
@@ -833,13 +833,13 @@ module Katello
833
833
  if docker?
834
834
  "#{pulp_uri.host.downcase}:5000/#{pulp_id}"
835
835
  elsif file?
836
- "#{scheme}://#{pulp_uri.host.downcase}/pulp/isos/#{pulp_id}"
836
+ "#{scheme}://#{pulp_uri.host.downcase}/pulp/isos/#{pulp_id}/"
837
837
  elsif puppet?
838
- "#{scheme}://#{pulp_uri.host.downcase}/pulp/puppet/#{pulp_id}"
838
+ "#{scheme}://#{pulp_uri.host.downcase}/pulp/puppet/#{pulp_id}/"
839
839
  elsif ostree?
840
- "#{scheme}://#{pulp_uri.host.downcase}/pulp/ostree/web/#{pulp_id}"
840
+ "#{scheme}://#{pulp_uri.host.downcase}/pulp/ostree/web/#{pulp_id}/"
841
841
  else
842
- "#{scheme}://#{pulp_uri.host.downcase}/pulp/repos/#{relative_path}"
842
+ "#{scheme}://#{pulp_uri.host.downcase}/pulp/repos/#{relative_path}/"
843
843
  end
844
844
  end
845
845
 
@@ -11,7 +11,9 @@ module Katello
11
11
 
12
12
  DEFAULT_TYPE = Glue::Candlepin::Consumer::SYSTEM
13
13
 
14
- attr_accessible :release_version, :autoheal, :service_level, :host
14
+ attr_accessible :release_version, :autoheal, :service_level, :host,
15
+ :installed_products, :facts, :hypervisor_guest_uuids
16
+ attr_accessor :installed_products, :facts, :hypervisor_guest_uuids
15
17
 
16
18
  def update_from_consumer_attributes(consumer_params)
17
19
  import_database_attributes(consumer_params)
@@ -34,12 +36,26 @@ module Katello
34
36
  end
35
37
 
36
38
  def consumer_attributes
37
- {
39
+ attrs = {
38
40
  :autoheal => autoheal,
39
41
  :serviceLevel => service_level,
40
42
  :releaseVer => release_version,
41
43
  :environment => {:id => self.candlepin_environment_id}
42
44
  }
45
+ attrs[:facts] = facts if facts
46
+ attrs[:guestIds] = hypervisor_guest_uuids if hypervisor_guest_uuids
47
+ if installed_products
48
+ attrs[:installedProducts] = installed_products.collect do |installed_product|
49
+ product = {
50
+ :productName => installed_product[:product_name],
51
+ :productId => installed_product[:product_id]
52
+ }
53
+ product[:arch] = installed_product[:arch] if installed_product[:arch]
54
+ product[:version] = installed_product[:version] if installed_product[:version]
55
+ product
56
+ end
57
+ end
58
+ attrs
43
59
  end
44
60
 
45
61
  def candlepin_environment_id
@@ -104,6 +120,8 @@ module Katello
104
120
  end
105
121
 
106
122
  def backend_update_needed?
123
+ return true if self.installed_products || self.hypervisor_guest_uuids
124
+
107
125
  %w(release_version service_level autoheal).each do |method|
108
126
  return true if self.send("#{method}_changed?")
109
127
  end
@@ -1,7 +1,7 @@
1
1
  <table bst-table="table" class="table table-striped table-full" ng-class="{'table-mask': table.working}">
2
2
  <thead>
3
3
  <tr bst-table-head>
4
- <th bst-table-column sortable><span translate>Name</span></th>
4
+ <th bst-table-column="name" sortable><span translate>Name</span></th>
5
5
  </tr>
6
6
  </thead>
7
7
 
@@ -76,5 +76,7 @@
76
76
  //= require "bastion_katello/settings/settings.module.js"
77
77
  //= require_tree "./settings"
78
78
 
79
+ //= require "bastion_katello/i18n/translations.js"
80
+
79
81
  //= require "bastion_katello/bastion-katello-bootstrap.js"
80
82
  //= require "bastion_katello/katello-features.run.js"
@@ -17,7 +17,7 @@
17
17
  </div>
18
18
 
19
19
  <div bst-feature-flag="remote_actions">
20
- <p bst-alert="info" ng-hide="contentHost.katello_agent_installed">
20
+ <p bst-alert="info" ng-hide="host.content_facet_attributes.katello_agent_installed">
21
21
  <span translate>
22
22
  The katello-agent package is required to manage errata on this Host.
23
23
  Please install the katello-agent package to manage errata on
@@ -2,7 +2,7 @@
2
2
 
3
3
  <section ng-hide="denied('edit_hosts', host)" bst-feature-flag="remote_actions">
4
4
  <h4 translate>Package Actions</h4>
5
- <p bst-alert="info" ng-hide="contentHost.katello_agent_installed">
5
+ <p bst-alert="info" ng-hide="host.content_facet_attributes.katello_agent_installed">
6
6
  <span translate>
7
7
  The katello-agent package is required to manage packages on this Host.
8
8
  Please install the katello-agent package to manage packages on
@@ -35,25 +35,6 @@ angular.module('Bastion.content-views').controller('AvailableErrataFilterControl
35
35
  return rules.$save(params, success, failure);
36
36
  }
37
37
 
38
- $scope.nutupane = nutupane = new Nutupane(Erratum, {
39
- filterId: $scope.$stateParams.filterId,
40
- 'sort_order': 'DESC',
41
- 'sort_by': 'issued',
42
- 'available_for': 'content_view_filter'
43
- },
44
- 'queryUnpaged'
45
- );
46
- nutupane.masterOnly = true;
47
- nutupane.enableSelectAllResults();
48
-
49
- filterByDate = function (date, type) {
50
- date = date.toISOString().split('T')[0];
51
- nutupane.addParam(type, date);
52
- nutupane.refresh();
53
- };
54
-
55
- $scope.detailsTable = nutupane.table;
56
-
57
38
  $scope.addErrata = function (filter) {
58
39
  var errataIds,
59
40
  rules,
@@ -101,5 +82,24 @@ angular.module('Bastion.content-views').controller('AvailableErrataFilterControl
101
82
  }
102
83
  });
103
84
 
85
+ $scope.nutupane = nutupane = new Nutupane(Erratum, {
86
+ filterId: $scope.$stateParams.filterId,
87
+ 'sort_order': 'DESC',
88
+ 'sort_by': 'issued',
89
+ 'available_for': 'content_view_filter'
90
+ },
91
+ 'queryUnpaged'
92
+ );
93
+ nutupane.masterOnly = true;
94
+
95
+ filterByDate = function (date, type) {
96
+ date = date.toISOString().split('T')[0];
97
+ nutupane.addParam(type, date);
98
+ nutupane.refresh();
99
+ };
100
+
101
+ $scope.updateTypes($scope.types);
102
+ $scope.detailsTable = nutupane.table;
103
+
104
104
  }]
105
105
  );
@@ -2,7 +2,7 @@
2
2
 
3
3
  <thead>
4
4
  <tr bst-table-head>
5
- <th bst-table-column sortable><span translate>Name</span></th>
5
+ <th bst-table-column="name" sortable><span translate>Name</span></th>
6
6
  </tr>
7
7
  </thead>
8
8
 
@@ -1,7 +1,7 @@
1
1
  <table bst-table="table" class="table table-striped table-full" ng-class="{'table-mask': table.working}">
2
2
  <thead>
3
3
  <tr bst-table-head>
4
- <th bst-table-column sortable><span translate>Name</span></th>
4
+ <th bst-table-column="name" sortable><span translate>Name</span></th>
5
5
  </tr>
6
6
  </thead>
7
7
 
@@ -1,7 +1,7 @@
1
1
  <table class="table table-striped table-full" ng-class="{'table-mask': table.working}">
2
2
  <thead>
3
3
  <tr bst-table-head>
4
- <th bst-table-column="nvra" sortable>{{ "RPM" | translate }}</th>
4
+ <th bst-table-column="name" sortable>{{ "RPM" | translate }}</th>
5
5
  </tr>
6
6
  </thead>
7
7
 
@@ -1,7 +1,7 @@
1
1
  <table class="table table-striped" ng-class="{'table-mask': productTable.working}">
2
2
  <thead>
3
3
  <tr bst-table-head row-select>
4
- <th bst-table-column sortable><span translate>Name</span></th>
4
+ <th bst-table-column="name" sortable><span translate>Name</span></th>
5
5
  </tr>
6
6
  </thead>
7
7
 
@@ -1,7 +1,7 @@
1
1
  <table class="table table-striped table-full" ng-class="{'table-mask': table.working}">
2
2
  <thead>
3
3
  <tr bst-table-head>
4
- <th bst-table-column sortable><span translate>Consumed</span></th>
4
+ <th bst-table-column="consumed" sortable><span translate>Consumed</span></th>
5
5
  </tr>
6
6
  </thead>
7
7
 
@@ -1,7 +1,7 @@
1
1
  <table class="table table-striped" ng-class="{'table-mask': syncPlanTable.working}">
2
2
  <thead>
3
3
  <tr bst-table-head>
4
- <th bst-table-column sortable><span translate>Name</span></th>
4
+ <th bst-table-column="name" sortable><span translate>Name</span></th>
5
5
  </tr>
6
6
  </thead>
7
7
 
@@ -1,3 +1,3 @@
1
1
  module Katello
2
- VERSION = "3.0.0"
2
+ VERSION = "3.0.1"
3
3
  end
@@ -59,26 +59,26 @@
59
59
  .ui-widget { font-family: Liberation Sans; font-size: 1.1em; }
60
60
  .ui-widget .ui-widget { font-size: 1em; }
61
61
  .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Liberation Sans; font-size: 1em; }
62
- .ui-widget-content { border: 1px solid #b5b5b5; background: #ffffff url(ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
62
+ .ui-widget-content { border: 1px solid #b5b5b5; background: #ffffff image-url("katello/ui-bg_flat_75_ffffff_40x100.png") 50% 50% repeat-x; color: #222222; }
63
63
  .ui-widget-content a { color: #222222; }
64
- .ui-widget-header { border: 1px solid #aaaaaa; background: #e0e0e0 url(ui-bg_highlight-soft_80_e0e0e0_1x100.png) 50% 50% repeat-x; color: #000; font-weight: bold; }
64
+ .ui-widget-header { border: 1px solid #aaaaaa; background: #e0e0e0 image-url("katello/ui-bg_highlight-soft_80_e0e0e0_1x100.png") 50% 50% repeat-x; color: #000; font-weight: bold; }
65
65
  .ui-widget-header a { color: #000; }
66
66
 
67
67
  /* Interaction states
68
68
  ----------------------------------*/
69
- .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #e3e3e3; background: #e6e6e6 url(ui-bg_highlight-hard_75_e6e6e6_1x100.png) 50% 50% repeat-x; font-weight: normal; color: #888888; }
69
+ .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #e3e3e3; background: #e6e6e6 image-url("katello/ui-bg_highlight-hard_75_e6e6e6_1x100.png") 50% 50% repeat-x; font-weight: normal; color: #888888; }
70
70
  .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #888888; text-decoration: none; }
71
- .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #b5b5b5; background: #dadada url(ui-bg_highlight-hard_75_dadada_1x100.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
71
+ .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #b5b5b5; background: #dadada image-url("katello/ui-bg_highlight-hard_75_dadada_1x100.png") 50% 50% repeat-x; font-weight: normal; color: #212121; }
72
72
  .ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
73
- .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #b5b5b5; background: #ffffff url(ui-bg_inset-hard_65_ffffff_1x100.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
73
+ .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #b5b5b5; background: #ffffff image-url("katello/ui-bg_inset-hard_65_ffffff_1x100.png") 50% 50% repeat-x; font-weight: normal; color: #212121; }
74
74
  .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
75
75
  .ui-widget :active { outline: none; }
76
76
 
77
77
  /* Interaction Cues
78
78
  ----------------------------------*/
79
- .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #b5b5b5; background: #ffffff url(ui-bg_highlight-hard_95_ffffff_1x100.png) 50% top repeat-x; color: #000000; }
79
+ .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #b5b5b5; background: #ffffff image-url("katello/ui-bg_highlight-hard_95_ffffff_1x100.png") 50% top repeat-x; color: #000000; }
80
80
  .ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #000000; }
81
- .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(ui-bg_inset-soft_95_fef1ec_1x100.png) 50% bottom repeat-x; color: #cd0a0a; }
81
+ .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec image-url("katello/ui-bg_inset-soft_95_fef1ec_1x100.png") 50% bottom repeat-x; color: #cd0a0a; }
82
82
  .ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
83
83
  .ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
84
84
  .ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
@@ -89,14 +89,14 @@
89
89
  ----------------------------------*/
90
90
 
91
91
  /* states and images */
92
- .ui-icon { width: 16px; height: 16px; background-image: url(ui-icons_8f8f8f_256x240.png); }
93
- .ui-widget-content .ui-icon {background-image: url(ui-icons_8f8f8f_256x240.png); }
94
- .ui-widget-header .ui-icon {background-image: url(ui-icons_8f8f8f_256x240.png); }
95
- .ui-state-default .ui-icon { background-image: url(ui-icons_8f8f8f_256x240.png); }
96
- .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(ui-icons_8f8f8f_256x240.png); }
97
- .ui-state-active .ui-icon {background-image: url(ui-icons_8f8f8f_256x240.png); }
98
- .ui-state-highlight .ui-icon {background-image: url(ui-icons_97baed_256x240.png); }
99
- .ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(ui-icons_cd0a0a_256x240.png); }
92
+ .ui-icon { width: 16px; height: 16px; background-image: image-url("katello/ui-icons_8f8f8f_256x240.png"); }
93
+ .ui-widget-content .ui-icon {background-image: image-url("katello/ui-icons_8f8f8f_256x240.png"); }
94
+ .ui-widget-header .ui-icon {background-image: image-url("katello/ui-icons_8f8f8f_256x240.png"); }
95
+ .ui-state-default .ui-icon { background-image: image-url("katello/ui-icons_8f8f8f_256x240.png"); }
96
+ .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: image-url("katello/ui-icons_8f8f8f_256x240.png"); }
97
+ .ui-state-active .ui-icon {background-image: image-url("katello/ui-icons_8f8f8f_256x240.png"); }
98
+ .ui-state-highlight .ui-icon {background-image: image-url("katello/ui-icons_97baed_256x240.png"); }
99
+ .ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: image-url("katello/ui-icons_cd0a0a_256x240.png"); }
100
100
 
101
101
  /* positioning */
102
102
  .ui-icon-carat-1-n { background-position: 0 0; }
@@ -291,8 +291,8 @@
291
291
  .ui-corner-all { -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; }
292
292
 
293
293
  /* Overlays */
294
- .ui-widget-overlay { background: #aaaaaa url(ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
295
- .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
294
+ .ui-widget-overlay { background: #aaaaaa image-url("katello/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
295
+ .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa image-url("katello/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
296
296
  * jQuery UI Resizable 1.8.11
297
297
  *
298
298
  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: katello
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - N/A
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-13 00:00:00.000000000 Z
11
+ date: 2016-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails