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.
- checksums.yaml +4 -4
- data/app/controllers/katello/products_controller.rb +1 -1
- data/app/lib/actions/katello/content_view/promote.rb +2 -0
- data/app/lib/actions/katello/product/destroy.rb +6 -1
- data/app/lib/actions/katello/repository_set/scan_cdn.rb +8 -2
- data/app/lib/actions/pulp/repository/sync.rb +1 -1
- data/app/models/katello/candlepin/content.rb +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/content-view-deletion.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-activation-keys.html +75 -79
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-confirm.html +26 -28
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-content-hosts.html +16 -17
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-environments.html +13 -13
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-versions.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/repository-sets/repository-sets-enabled.filter.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscription-type.html +1 -1
- data/lib/katello/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d3f9bb83c71845a3ecc9adb445e0204dd621f628
|
4
|
+
data.tar.gz: a6d9abc07ba6af4f223702bcb98eb8c920fe3397
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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
|
-
|
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)]
|
@@ -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,
|
39
|
+
nutupane = new Nutupane(HostBulkAction, hostIds, 'installableErrata');
|
40
40
|
$scope.controllerName = 'katello_errata';
|
41
41
|
nutupane.masterOnly = true;
|
42
42
|
|
@@ -1,95 +1,91 @@
|
|
1
1
|
<span page-title ng-model="version">{{ "Remove Version" | translate }} {{ version.version }}</span>
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
<section>
|
4
|
+
<h3 translate>Activation Keys using Version {{ version.version }}</h3>
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
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
|
-
|
11
|
-
|
12
|
-
|
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
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
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
|
-
|
23
|
+
<p translate>
|
24
|
+
Please select a Lifecycle Environment and Content View to move the affected Activation Keys to:
|
25
|
+
</p>
|
24
26
|
|
25
|
-
|
26
|
-
|
27
|
-
|
27
|
+
<div path-selector="environments"
|
28
|
+
ng-model="selectedEnvironment"
|
29
|
+
mode="singleSelect"></div>
|
28
30
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
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
|
-
|
63
|
-
<
|
64
|
-
|
65
|
-
|
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
|
-
|
69
|
-
|
70
|
-
|
50
|
+
<div ng-show="showKeys">
|
51
|
+
<div data-extend-template="layouts/partials/table.html">
|
52
|
+
<h5 translate>Affected Activation Keys</h5>
|
71
53
|
|
72
|
-
|
54
|
+
<div data-block="selection-summary"></div>
|
73
55
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
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
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
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
|
-
</
|
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
|
3
|
+
<section>
|
4
4
|
<h3 translate>Confirm Version Removal: Version {{ version.version }}</h3>
|
5
5
|
|
6
|
-
<div class="
|
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
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
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
|
-
</
|
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
|
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
|
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
|
3
|
+
<section>
|
4
4
|
|
5
5
|
<h3 translate>Delete Version {{ version.version }}</h3>
|
6
6
|
|
7
|
-
<div
|
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
|
-
<
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
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
|
-
<
|
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
|
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"
|
18
|
-
<span translate>
|
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>
|
@@ -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
|
15
|
+
<a ui-sref="content-hosts.details.info({hostId: subscription.host.id })">
|
16
16
|
{{ subscription.host.name }}
|
17
17
|
</a>
|
18
18
|
</div>
|
data/lib/katello/version.rb
CHANGED
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.
|
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-
|
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.
|
2059
|
+
rubygems_version: 2.4.6
|
2060
2060
|
signing_key:
|
2061
2061
|
specification_version: 4
|
2062
2062
|
summary: ''
|