katello 3.4.0.rc1 → 3.4.0.rc2

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 (19) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/katello/products_controller.rb +1 -1
  3. data/app/lib/actions/katello/content_view/promote.rb +2 -0
  4. data/app/lib/actions/katello/product/destroy.rb +6 -1
  5. data/app/lib/actions/katello/repository_set/scan_cdn.rb +8 -2
  6. data/app/lib/actions/pulp/repository/sync.rb +1 -1
  7. data/app/models/katello/candlepin/content.rb +1 -1
  8. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +1 -1
  9. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/content-view-deletion.html +1 -1
  10. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-activation-keys.html +75 -79
  11. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-confirm.html +26 -28
  12. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-content-hosts.html +16 -17
  13. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-environments.html +13 -13
  14. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-versions.controller.js +1 -1
  15. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details.html +2 -2
  16. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/repository-sets/repository-sets-enabled.filter.js +1 -1
  17. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscription-type.html +1 -1
  18. data/lib/katello/version.rb +1 -1
  19. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 897fa651304dc5619b708e385760771d00b77b2c
4
- data.tar.gz: eecdade43f76979c8d3a610745f9d924e02ffd15
3
+ metadata.gz: d3f9bb83c71845a3ecc9adb445e0204dd621f628
4
+ data.tar.gz: a6d9abc07ba6af4f223702bcb98eb8c920fe3397
5
5
  SHA512:
6
- metadata.gz: b2d7b411f35b2c9881233219db63ab76d7aba65612a84f175582d1f4b3f0e8db13218f0f3b60ada315e1d6a9294386c2d55e203ed69633906ad63ffad5cbb48c
7
- data.tar.gz: ac61028dcca1a4af146cbc628d7d00003fe48b9798e795168342691741f63a91f8e10e46b6086805f81e55ad02d86c80edaac78b9aaf0db0ec765b4e31884cdb
6
+ metadata.gz: dc4d63a500dd8a93f8c2a9f0684cb4d10b30434e0bf4baa9da071282a2601687f0996d88064826e580692419977ce6d0918820449b530ee8c44848b28079f829
7
+ data.tar.gz: fcb2534fbe4cdcb8c5f1b691b23aed6c56d427c90a4e5aa917865329f3e4eac4cc3e4c0356576ea68fd2d60c164a8ead9bdf0fa4fb45b7b460321aa645ebf0f0
@@ -82,7 +82,7 @@ module Katello
82
82
  def available_synced_repos(repos, content_id)
83
83
  @product.repositories.in_default_view.where(:content_id => content_id).find_each do |product_repo|
84
84
  found = repos.detect do |repo|
85
- product_repo.pulp_id == repo[:pulp_id]
85
+ product_repo.id == repo[:repository_id]
86
86
  end
87
87
  unless found
88
88
  repos << {
@@ -10,6 +10,8 @@ module Actions
10
10
 
11
11
  fail ::Katello::HttpErrors::BadRequest, _("Cannot promote environment out of sequence. Use force to bypass restriction.") if !is_force && !version.promotable?(environments)
12
12
 
13
+ # Pass the environments as input in order to make them accessible to UI alerts
14
+ plan_self(environments: environments.map(&:name))
13
15
  environments.each do |environment|
14
16
  plan_action(ContentView::PromoteToEnvironment, version, environment, description,
15
17
  :force_yum_metadata_regeneration => options[:force_yum_metadata_regeneration])
@@ -17,6 +17,11 @@ module Actions
17
17
 
18
18
  action_subject(product)
19
19
 
20
+ # Candlepin::Product::ContentRemove is called with Katello::Repository::Destroy, so we only want to run ContentRemove
21
+ # on repos that are not being destroyed with Katello::Repository::Destroy.
22
+ content_ids = product.repositories.in_default_view.map(&:content_id)
23
+ remaining_product_content = product.productContent.select { |content| !content_ids.include? content.content.id }
24
+
20
25
  sequence do
21
26
  unless organization_destroy
22
27
  concurrence do
@@ -34,7 +39,7 @@ module Actions
34
39
 
35
40
  unless organization_destroy
36
41
  concurrence do
37
- product.productContent.each do |pc|
42
+ remaining_product_content.each do |pc|
38
43
  plan_action(Candlepin::Product::ContentRemove,
39
44
  owner: product.organization.label,
40
45
  product_id: product.cp_id,
@@ -54,14 +54,17 @@ module Actions
54
54
  mapper.registries = registries
55
55
  mapper.registry_repo = registry
56
56
  repo = mapper.find_repository
57
+ unique_id = repo.try(:pulp_id) || SecureRandom.uuid
57
58
 
58
59
  {
59
60
  substitutions: {},
60
61
  path: mapper.feed_url,
61
62
  repo_name: mapper.name,
63
+ pulp_id: unique_id,
62
64
  registry_name: registry["name"],
63
65
  enabled: !repo.nil?,
64
- promoted: (!repo.nil? && repo.promoted?)
66
+ promoted: (!repo.nil? && repo.promoted?),
67
+ repository_id: repo.try(:id)
65
68
  }
66
69
  end
67
70
  end
@@ -69,12 +72,15 @@ module Actions
69
72
  def prepare_result(substitutions, _path)
70
73
  mapper = repository_mapper(substitutions)
71
74
  repo = mapper.find_repository
75
+ unique_id = repo.try(:pulp_id) || SecureRandom.uuid
72
76
  { substitutions: substitutions,
73
77
  path: mapper.path,
74
78
  repo_name: mapper.name,
79
+ pulp_id: unique_id,
75
80
  name: mapper.content.name,
76
81
  enabled: !repo.nil?,
77
- promoted: (!repo.nil? && repo.promoted?)
82
+ promoted: (!repo.nil? && repo.promoted?),
83
+ repository_id: repo.try(:id)
78
84
  }
79
85
  end
80
86
 
@@ -30,7 +30,7 @@ module Actions
30
30
  sync_options[:feed] = input[:source_url] if input[:source_url]
31
31
  sync_options[:validate] = !(SETTINGS[:katello][:pulp][:skip_checksum_validation])
32
32
 
33
- sync_options.merge(input[:options]) if input[:options]
33
+ sync_options.merge!(input[:options]) if input[:options]
34
34
 
35
35
  output[:pulp_tasks] = pulp_tasks =
36
36
  [pulp_resources.repository.sync(input[:pulp_id], override_config: sync_options)]
@@ -41,7 +41,7 @@ module Katello
41
41
  def initialize(product, content, substitutions)
42
42
  @product = product
43
43
  @content = content
44
- @substitutions = substitutions
44
+ @substitutions = substitutions.try(:with_indifferent_access)
45
45
  end
46
46
 
47
47
  def find_repository
@@ -36,7 +36,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostsBulkErrataModalC
36
36
  $scope.erratum = Erratum.get({id: errataId, 'organization_id': CurrentOrganization});
37
37
  }
38
38
 
39
- nutupane = new Nutupane(HostBulkAction, {}, 'installableErrata');
39
+ nutupane = new Nutupane(HostBulkAction, hostIds, 'installableErrata');
40
40
  $scope.controllerName = 'katello_errata';
41
41
  nutupane.masterOnly = true;
42
42
 
@@ -34,7 +34,7 @@
34
34
  </table>
35
35
  </div>
36
36
 
37
- <div class="details" ng-show="conflictingVersions.length === 0">
37
+ <div ng-show="conflictingVersions.length === 0">
38
38
  <p translate>
39
39
  Are you sure you want to remove Content View "{{ contentView.name }}"?
40
40
  </p>
@@ -1,95 +1,91 @@
1
1
  <span page-title ng-model="version">{{ "Remove Version" | translate }} {{ version.version }}</span>
2
2
 
3
- <section class="details details-full">
4
- <h3 translate>Activation Keys using Version {{ version.version }}</h3>
3
+ <section>
4
+ <h3 translate>Activation Keys using Version {{ version.version }}</h3>
5
5
 
6
- <p translate>
7
- The Activation Keys listed below are currently using this Content View Version. Before deleting the Version you must move these Activation Keys to a Lifecycle Environment where this Version is not in use.
8
- </p>
6
+ <p translate>
7
+ The Activation Keys listed below are currently using this Content View Version. Before deleting the Version you must move these Activation Keys to a Lifecycle Environment where this Version is not in use.
8
+ </p>
9
9
 
10
- <p translate>
11
- If you would prefer to move portions of these Activation Keys to different Content Views or Lifecycle Environments click <a href="{{ activationKeyLink() }}">here</a> to manage them individually.
12
- </p>
10
+ <p translate>
11
+ If you would prefer to move portions of these Activation Keys to different Content Views or Lifecycle Environments click <a href="{{ activationKeyLink() }}">here</a> to manage them individually.
12
+ </p>
13
13
 
14
14
 
15
- <p translate>
16
- <span translate>
17
- If you would prefer to move portions of these Activation Keys to different content views or Lifecycle Environments click
18
- </span>
19
- <a ui-sref="activation-keys" translate >here</a>
20
- <span translate>to manage them individually.</span>
21
- </p>
15
+ <p translate>
16
+ <span translate>
17
+ If you would prefer to move portions of these Activation Keys to different content views or Lifecycle Environments click
18
+ </span>
19
+ <a ui-sref="activation-keys" translate >here</a>
20
+ <span translate>to manage them individually.</span>
21
+ </p>
22
22
 
23
- <div class="details">
23
+ <p translate>
24
+ Please select a Lifecycle Environment and Content View to move the affected Activation Keys to:
25
+ </p>
24
26
 
25
- <p translate>
26
- Please select a Lifecycle Environment and Content View to move the affected Activation Keys to:
27
- </p>
27
+ <div path-selector="environments"
28
+ ng-model="selectedEnvironment"
29
+ mode="singleSelect"></div>
28
30
 
29
- <div path-selector="environments"
30
- ng-model="selectedEnvironment"
31
- mode="singleSelect"></div>
32
-
33
- <div>
34
- <span translate>Content View:</span>
35
- <select ng-show="!fetchingViews && selectedEnvironment && contentViewsForEnvironment.length > 0"
36
- ng-options="cv.id as cv.name for cv in contentViewsForEnvironment"
37
- ng-model="selectedContentViewId"></select>
38
- <i ng-show="fetchingViews" class="fa fa-spinner fa-spin"></i>
39
- <span translate ng-hide="selectedEnvironment">
40
- Please select a Lifecycle Environment.
41
- </span>
42
- <span translate ng-show="!fetchingViews && selectedEnvironment && contentViewsForEnvironment.length === 0">
43
- No Content Views available, please select another environment.
44
- </span>
45
- </div>
46
-
47
- <div class="fr">
48
- <a ui-sref="content-view.versions({contentViewId: contentView.id})" >
49
- <button type="button" class="btn btn-default" translate>
50
- Cancel
51
- </button>
52
- </a>
53
- <button type="button" class="btn btn-default" ng-click="transitionBack()" translate>
54
- Back
55
- </button>
56
- <button type="button" class="btn btn-primary" ng-click="processSelection()" ng-disabled="selectedContentViewId === undefined" translate>
57
- Next
58
- </button>
59
- </div>
31
+ <div>
32
+ <span translate>Content View:</span>
33
+ <select ng-show="!fetchingViews && selectedEnvironment && contentViewsForEnvironment.length > 0"
34
+ ng-options="cv.id as cv.name for cv in contentViewsForEnvironment"
35
+ ng-model="selectedContentViewId"></select>
36
+ <i ng-show="fetchingViews" class="fa fa-spinner fa-spin"></i>
37
+ <span translate ng-hide="selectedEnvironment">
38
+ Please select a Lifecycle Environment.
39
+ </span>
40
+ <span translate ng-show="!fetchingViews && selectedEnvironment && contentViewsForEnvironment.length === 0">
41
+ No Content Views available, please select another environment.
42
+ </span>
60
43
  </div>
61
44
 
62
- <br/><br/>
63
- <a ng-click="toggleKeys()">
64
- <p ng-show="!showKeys" translate>Show affected Activation Keys</p>
65
- <p ng-show="showKeys" translate>Hide affected Activation Keys</p>
66
- </a>
45
+ <a ng-click="toggleKeys()">
46
+ <p ng-show="!showKeys" translate>Show affected Activation Keys</p>
47
+ <p ng-show="showKeys" translate>Hide affected Activation Keys</p>
48
+ </a>
67
49
 
68
- <div ng-show="showKeys">
69
- <div data-extend-template="layouts/partials/table.html">
70
- <h5 translate>Affected Activation Keys</h5>
50
+ <div ng-show="showKeys">
51
+ <div data-extend-template="layouts/partials/table.html">
52
+ <h5 translate>Affected Activation Keys</h5>
71
53
 
72
- <div data-block="selection-summary"></div>
54
+ <div data-block="selection-summary"></div>
73
55
 
74
- <table data-block="table" class="table table-striped table-bordered">
75
- <thead>
76
- <tr bst-table-head>
77
- <th bst-table-column="name"><span translate>Name</span></th>
78
- <th bst-table-column="environment.name"><span translate>Lifecycle Environments</span></th>
79
- </tr>
80
- </thead>
56
+ <table data-block="table" class="table table-striped table-bordered">
57
+ <thead>
58
+ <tr bst-table-head>
59
+ <th bst-table-column="name"><span translate>Name</span></th>
60
+ <th bst-table-column="environment.name"><span translate>Lifecycle Environments</span></th>
61
+ </tr>
62
+ </thead>
81
63
 
82
- <tbody>
83
- <tr bst-table-row ng-repeat="key in table.rows">
84
- <td bst-table-cell>
85
- {{ key.name }}
86
- </td>
87
- <td bst-table-cell>
88
- {{ key.environment.name }}
89
- </td>
90
- </tr>
91
- </tbody>
92
- </table>
93
- </div>
64
+ <tbody>
65
+ <tr bst-table-row ng-repeat="key in table.rows">
66
+ <td bst-table-cell>
67
+ {{ key.name }}
68
+ </td>
69
+ <td bst-table-cell>
70
+ {{ key.environment.name }}
71
+ </td>
72
+ </tr>
73
+ </tbody>
74
+ </table>
94
75
  </div>
95
- </section>
76
+ </div>
77
+
78
+ <div class="pull-right">
79
+ <a ui-sref="content-view.versions({contentViewId: contentView.id})" >
80
+ <button type="button" class="btn btn-default" translate>
81
+ Cancel
82
+ </button>
83
+ </a>
84
+ <button type="button" class="btn btn-default" ng-click="transitionBack()" translate>
85
+ Back
86
+ </button>
87
+ <button type="button" class="btn btn-primary" ng-click="processSelection()" ng-disabled="selectedContentViewId === undefined" translate>
88
+ Next
89
+ </button>
90
+ </div>
91
+ </section>
@@ -1,22 +1,21 @@
1
1
  <span page-title ng-model="version">{{ "Remove Version Confirmation" | translate }} {{ version.version }}</span>
2
2
 
3
- <section class="details details-full">
3
+ <section>
4
4
  <h3 translate>Confirm Version Removal: Version {{ version.version }}</h3>
5
5
 
6
- <div class="details">
7
-
8
- <div ng-hide="deleteOptions.environments.length === 0">
6
+ <div class="row">
7
+ <div class="col-sm-12" ng-hide="deleteOptions.environments.length === 0">
9
8
  <h5 translate>Environments</h5>
10
9
  <i class="fa fa-warning"></i>
11
10
  <span translate>This version will be removed from:</span>
12
- <ul class="bullet">
11
+ <ul>
13
12
  <li ng-repeat="env in deleteOptions.environments" ng-if="env.permissions.readable">{{ env.name }}</li>
14
13
  </ul>
15
14
  </div>
15
+ </div>
16
16
 
17
- <br/>
18
-
19
- <div>
17
+ <div class="row">
18
+ <div class="col-sm-12">
20
19
  <h5 translate>Archived Copy</h5>
21
20
  <p ng-hide="deleteOptions.deleteArchive" translate>
22
21
  The archive of this Version will not be deleted. This Version will still be available to be promoted to a Lifecycle Environment.
@@ -28,10 +27,10 @@
28
27
  </span>
29
28
  </p>
30
29
  </div>
30
+ </div>
31
31
 
32
- <br/>
33
-
34
- <div>
32
+ <div class="row">
33
+ <div class="col-sm-12">
35
34
  <h5 translate>Content Hosts</h5>
36
35
  <p ng-show="totalHostCount() > 0">
37
36
  <i class="fa fa-warning"></i>
@@ -43,10 +42,10 @@
43
42
  No Content Hosts are affected.
44
43
  </p>
45
44
  </div>
45
+ </div>
46
46
 
47
- <br/>
48
-
49
- <div>
47
+ <div class="row">
48
+ <div class="col-sm-12">
50
49
  <h5 translate>Activation Keys</h5>
51
50
  <p ng-show="totalActivationKeyCount() > 0">
52
51
  <i class="fa fa-warning"></i>
@@ -58,21 +57,20 @@
58
57
  No activation keys are affected.
59
58
  </p>
60
59
  </div>
60
+ </div>
61
61
 
62
- <div class="fr">
63
- <a ui-sref="content-view.versions({contentViewId: contentView.id})" >
64
- <button type="button" class="btn btn-default" ng-disabled="deleting" translate>
65
- Cancel
66
- </button>
67
- </a>
68
- <button type="button" class="btn btn-default" ng-click="transitionBack()" ng-disabled="deleting" translate>
69
- Back
70
- </button>
71
- <button type="button" class="btn btn-primary" ng-click="performDeletion()" ng-disabled="deleting">
72
- <i class="fa fa-spinner fa-spin" ng-show="deleting"></i>
73
- <span translate>Confirm Remove</span>
62
+ <div class="pull-right">
63
+ <a ui-sref="content-view.versions({contentViewId: contentView.id})" >
64
+ <button type="button" class="btn btn-default" ng-disabled="deleting" translate>
65
+ Cancel
74
66
  </button>
75
- </div>
76
-
67
+ </a>
68
+ <button type="button" class="btn btn-default" ng-click="transitionBack()" ng-disabled="deleting" translate>
69
+ Back
70
+ </button>
71
+ <button type="button" class="btn btn-primary" ng-click="performDeletion()" ng-disabled="deleting">
72
+ <i class="fa fa-spinner fa-spin" ng-show="deleting"></i>
73
+ <span translate>Confirm Remove</span>
74
+ </button>
77
75
  </div>
78
76
  </section>
@@ -1,6 +1,6 @@
1
1
  <span page-title ng-model="version">{{ "Remove Version" | translate }} {{ version.version }}</span>
2
2
 
3
- <section class="details details-full">
3
+ <section>
4
4
  <h3 translate>Content Hosts using Version {{ version.version }}</h3>
5
5
 
6
6
  <p translate>
@@ -11,7 +11,7 @@
11
11
  If you would prefer to move portions of these Content Hosts to different content views or environments click <a href="{{ contentHostsLink() }}">here</a> to manage these Content Hosts in bulk.
12
12
  </p>
13
13
 
14
- <div class="details">
14
+ <div>
15
15
 
16
16
  <p translate>
17
17
  Please select a Lifecycle Environment and Content View to move these Content Hosts to:
@@ -34,23 +34,8 @@
34
34
  No Content Views available, please select another environment.
35
35
  </span>
36
36
  </div>
37
-
38
- <div class="fr">
39
- <a ui-sref="content-view.versions({contentViewId: contentView.id})" >
40
- <button type="button" class="btn btn-default" translate>
41
- Cancel
42
- </button>
43
- </a>
44
- <button type="button" class="btn btn-default" ng-click="transitionBack()" translate>
45
- Back
46
- </button>
47
- <button type="button" class="btn btn-primary" ng-click="processSelection()" ng-disabled="selectedContentViewId === undefined" translate>
48
- Next
49
- </button>
50
- </div>
51
37
  </div>
52
38
 
53
- <br/><br/>
54
39
  <a ng-click="toggleHosts()">
55
40
  <p ng-show="!showHosts" translate>Show affected Content Hosts</p>
56
41
  <p ng-show="showHosts" translate>Hide affected Content Hosts</p>
@@ -82,4 +67,18 @@
82
67
  </table>
83
68
  </div>
84
69
  </div>
70
+
71
+ <div class="pull-right">
72
+ <a ui-sref="content-view.versions({contentViewId: contentView.id})" >
73
+ <button type="button" class="btn btn-default" translate>
74
+ Cancel
75
+ </button>
76
+ </a>
77
+ <button type="button" class="btn btn-default" ng-click="transitionBack()" translate>
78
+ Back
79
+ </button>
80
+ <button type="button" class="btn btn-primary" ng-click="processSelection()" ng-disabled="selectedContentViewId === undefined" translate>
81
+ Next
82
+ </button>
83
+ </div>
85
84
  </section>
@@ -1,10 +1,10 @@
1
1
  <span page-title ng-model="version">{{ "Remove Version" | translate }} {{ version.version }}</span>
2
2
 
3
- <section class="details details-full">
3
+ <section>
4
4
 
5
5
  <h3 translate>Delete Version {{ version.version }}</h3>
6
6
 
7
- <div class="details details-full">
7
+ <div>
8
8
  <div bst-alert="warning" ng-hide="allSelectable()">
9
9
  <span translate> This Version cannot be deleted from some of the Lifecycle Environments due to one of the reasons below.</span>
10
10
  <ul>
@@ -46,18 +46,19 @@
46
46
 
47
47
  </table>
48
48
 
49
- <br/>
50
- <div class="details">
51
- <span translate> Completely remove version? </span>
52
- <span>
53
- <input type="checkbox" ng-model="deleteOptions.deleteArchive" ng-disabled="!canDeleteArchive()"/>
54
- </span>
55
- <div bst-alert="info">
56
- <span translate>Selecting this option will result in the Version being completely deleted and no longer being available for promotion. The version must be removed from all Lifecycle Environments in order to select this option.</span>
49
+ <div>
50
+ <div class="checkbox">
51
+ <div bst-alert="warning" ng-show="deleteOptions.deleteArchive">
52
+ <span translate>Selecting this option will result in the Version being completely deleted and no longer being available for promotion. The version must be removed from all Lifecycle Environments in order to select this option.</span>
53
+ </div>
54
+
55
+ <label>
56
+ <input type="checkbox" ng-model="deleteOptions.deleteArchive" ng-disabled="!canDeleteArchive()"/>
57
+ <span translate>Completely remove version?</span>
58
+ </label>
57
59
  </div>
58
60
 
59
- <br/>
60
- <div class="fr">
61
+ <div class="pull-right">
61
62
  <a ui-sref="content-view.versions({contentViewId: contentView.id})" >
62
63
  <button type="button" class="btn btn-default" translate>
63
64
  Cancel
@@ -69,5 +70,4 @@
69
70
  </button>
70
71
  </div>
71
72
  </div>
72
-
73
73
  </section>
@@ -63,7 +63,7 @@ angular.module('Bastion.content-views').controller('ContentViewVersionsControlle
63
63
  return translate("Successfully promoted %cv version %ver to %env")
64
64
  .replace('%cv', version['content_view'].name)
65
65
  .replace('%ver', version.version)
66
- .replace('%env', task.input['environment_name']);
66
+ .replace('%env', task.input.environments.join(", "));
67
67
  }
68
68
 
69
69
  function deletionCompleteMessage(version, task) {
@@ -14,8 +14,8 @@
14
14
 
15
15
  <nav data-block="item-actions">
16
16
  <div class="btn-group" uib-dropdown keyboard-nav bst-feature-flag="custom_products">
17
- <button type="button" class="btn btn-default" ng-disabled="denied('publish_content_views', contentView)" ui-sref="content-view.publish">
18
- <span translate>Publish New Version</span>
17
+ <button type="button" class="btn btn-default" uib-dropdown-toggle>
18
+ <span translate>Select Action</span>
19
19
  </button>
20
20
 
21
21
  <button type="button" class="btn btn-default" uib-dropdown-toggle>
@@ -30,5 +30,5 @@
30
30
  }
31
31
 
32
32
  angular.module('Bastion.repository-sets').filter('repositorySetsEnabled', repositorySetsEnabled);
33
- repositorySetsEnabled().$inject = ['translate'];
33
+ repositorySetsEnabled.$inject = ['translate'];
34
34
  })();
@@ -12,7 +12,7 @@
12
12
  </div>
13
13
  <div ng-if="subscription.virt_only === true && subscription.host">
14
14
  <span translate> Guests of </span>
15
- <a href='/content_hosts/{{ subscription.host.id }}' translate>
15
+ <a ui-sref="content-hosts.details.info({hostId: subscription.host.id })">
16
16
  {{ subscription.host.name }}
17
17
  </a>
18
18
  </div>
@@ -1,3 +1,3 @@
1
1
  module Katello
2
- VERSION = "3.4.0.rc1".freeze
2
+ VERSION = "3.4.0.rc2".freeze
3
3
  end
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.4.0.rc1
4
+ version: 3.4.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - N/A
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-07 00:00:00.000000000 Z
11
+ date: 2017-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -2056,7 +2056,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2056
2056
  version: 1.3.1
2057
2057
  requirements: []
2058
2058
  rubyforge_project:
2059
- rubygems_version: 2.4.8
2059
+ rubygems_version: 2.4.6
2060
2060
  signing_key:
2061
2061
  specification_version: 4
2062
2062
  summary: ''