katello 3.4.1 → 3.4.2
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/lib/actions/katello/host/destroy.rb +2 -0
- data/app/lib/actions/katello/host/register.rb +16 -14
- data/app/lib/actions/katello/repository/remove_content.rb +1 -1
- data/app/lib/katello/resources/candlepin.rb +2 -2
- data/app/models/katello/concerns/smart_proxy_extensions.rb +1 -1
- data/app/models/katello/glue/candlepin/pool.rb +1 -1
- data/app/models/katello/ping.rb +0 -2
- data/app/models/katello/repository.rb +1 -1
- data/app/models/katello/rhsm_fact_importer.rb +19 -29
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-actions.html +3 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-applicable.html +4 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-copy.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-details.controller.js +26 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-repositories.controller.js +2 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/checksum.service.js +22 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js +8 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +3 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +4 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-details.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/discovery-create.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery-create.html +1 -1
- data/lib/katello/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 87cafa0ce4cb5fa431eb76d8fd7f7eb2b2c23f85
|
4
|
+
data.tar.gz: c62487b569a5bffafeb677c9336db52ba0c17531
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d1561efea66f466fd4632eb6370b6c2d6658f743134e33b2e64efde612b217146465c63f3fae99c34856d477979610238bab6e7871bcc3237b890ee4d962c740
|
7
|
+
data.tar.gz: 3d7b4d701f24976c24aea87e2a437fd9fefc39ada515e694f0eb5758af5efd0cc6f274ac8f73b04f9c3f46a634f646bf78fa4d58c9f297e1f70426918b75ae3b
|
@@ -55,20 +55,22 @@ module Actions
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def finalize
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
58
|
+
User.as_anonymous_admin do
|
59
|
+
host = ::Host.find(input[:host_id])
|
60
|
+
host.content_facet.uuid = input[:uuid]
|
61
|
+
host.subscription_facet.uuid = input[:uuid]
|
62
|
+
|
63
|
+
user = ::User.find(input[:user_id])
|
64
|
+
host.subscription_facet.user = user unless user.nil? || user.hidden?
|
65
|
+
|
66
|
+
host.content_facet.save!
|
67
|
+
host.subscription_facet.update_from_consumer_attributes(host.subscription_facet.candlepin_consumer.
|
68
|
+
consumer_attributes.except(:installedProducts, :guestIds, :facts))
|
69
|
+
host.subscription_facet.save!
|
70
|
+
host.subscription_facet.update_subscription_status
|
71
|
+
host.content_facet.update_errata_status
|
72
|
+
host.refresh_global_status!
|
73
|
+
end
|
72
74
|
end
|
73
75
|
|
74
76
|
def rescue_strategy
|
@@ -538,8 +538,8 @@ module Katello
|
|
538
538
|
self.delete(path(id), self.default_headers).code.to_i
|
539
539
|
end
|
540
540
|
|
541
|
-
def entitlements(pool_id)
|
542
|
-
entitlement_json = self.get("#{path(pool_id)}/entitlements", self.default_headers).body
|
541
|
+
def entitlements(pool_id, included = [])
|
542
|
+
entitlement_json = self.get("#{path(pool_id)}/entitlements?#{included_list(included)}", self.default_headers).body
|
543
543
|
JSON.parse(entitlement_json)
|
544
544
|
end
|
545
545
|
|
@@ -135,7 +135,7 @@ module Katello
|
|
135
135
|
end
|
136
136
|
|
137
137
|
def hosts
|
138
|
-
entitlements = Resources::Candlepin::Pool.entitlements(self.cp_id)
|
138
|
+
entitlements = Resources::Candlepin::Pool.entitlements(self.cp_id, ["consumer.uuid"])
|
139
139
|
uuids = entitlements.map { |ent| ent["consumer"]["uuid"] }
|
140
140
|
::Host.where(:id => Katello::Host::SubscriptionFacet.where(:uuid => uuids).pluck(:host_id))
|
141
141
|
end
|
data/app/models/katello/ping.rb
CHANGED
@@ -12,11 +12,9 @@ module Katello
|
|
12
12
|
#
|
13
13
|
# Calls "status" services in all backend engines.
|
14
14
|
#
|
15
|
-
# This should be called with User.current set if you want to check pulp_auth
|
16
15
|
def ping(services: SERVICES, capsule_id: nil)
|
17
16
|
result = {}
|
18
17
|
services.each { |service| result[service] = {} }
|
19
|
-
result.delete(:pulp_auth) unless User.current
|
20
18
|
|
21
19
|
ping_pulp_without_auth(result[:pulp], capsule_id) if result.include?(:pulp)
|
22
20
|
ping_candlepin_without_auth(result[:candlepin]) if result.include?(:candlepin)
|
@@ -88,7 +88,7 @@ module Katello
|
|
88
88
|
|
89
89
|
validates :product_id, :presence => true
|
90
90
|
validates :pulp_id, :presence => true, :uniqueness => true, :if => proc { |r| r.name.present? }
|
91
|
-
validates :checksum_type, :inclusion => {:in => CHECKSUM_TYPES, :allow_blank => true
|
91
|
+
validates :checksum_type, :inclusion => {:in => CHECKSUM_TYPES}, :allow_blank => true
|
92
92
|
validates :docker_upstream_name, :allow_blank => true, :if => :docker?, :length => { :maximum => 255 }, :format => {
|
93
93
|
:with => /\A([a-z0-9]+[a-z0-9\-\_\.]*)+(\/[a-z0-9]+[a-z0-9\-\_\.]*)?\z/,
|
94
94
|
:message => _("must be a valid docker name")
|
@@ -1,12 +1,27 @@
|
|
1
1
|
module Katello
|
2
|
-
class RhsmFactImporter < ::
|
2
|
+
class RhsmFactImporter < ::StructuredFactImporter
|
3
3
|
def fact_name_class
|
4
4
|
Katello::RhsmFactName
|
5
5
|
end
|
6
6
|
|
7
|
-
def
|
8
|
-
super
|
9
|
-
|
7
|
+
def normalize(facts)
|
8
|
+
facts = super
|
9
|
+
facts = change_separator(facts)
|
10
|
+
add_compose_facts(facts)
|
11
|
+
end
|
12
|
+
|
13
|
+
def add_compose_facts(facts)
|
14
|
+
additional_keys = []
|
15
|
+
facts.keys.each do |fact_name|
|
16
|
+
parts = fact_name.split(RhsmFactName::SEPARATOR)
|
17
|
+
additional_keys += parts[0..-2].reduce([]) { |memo, part| memo << [memo.last, part].compact.join(RhsmFactName::SEPARATOR) }
|
18
|
+
end
|
19
|
+
|
20
|
+
# add the facts hierarchy to facts hash
|
21
|
+
additional_keys.uniq.each do |key|
|
22
|
+
facts[key] = nil
|
23
|
+
end
|
24
|
+
facts
|
10
25
|
end
|
11
26
|
|
12
27
|
def change_separator(facts)
|
@@ -16,30 +31,5 @@ module Katello
|
|
16
31
|
end
|
17
32
|
to_ret
|
18
33
|
end
|
19
|
-
|
20
|
-
def add_new_facts
|
21
|
-
@facts.keys.each { |key| add_fact_name(key) }
|
22
|
-
super
|
23
|
-
end
|
24
|
-
|
25
|
-
def add_fact_name(name, is_parent = false)
|
26
|
-
begin
|
27
|
-
parent_name = find_parent(name)
|
28
|
-
parent_fact_name = add_fact_name(parent_name, true) if parent_name
|
29
|
-
fact_name = RhsmFactName.where(:name => name).first_or_create! do |new_fact|
|
30
|
-
new_fact.parent = parent_fact_name
|
31
|
-
new_fact.compose = is_parent
|
32
|
-
end
|
33
|
-
rescue ActiveRecord::RecordNotUnique, ActiveRecord::RecordInvalid
|
34
|
-
retry
|
35
|
-
end
|
36
|
-
FactValue.create(:fact_name => fact_name, :value => nil, :host => @host) if is_parent
|
37
|
-
fact_name
|
38
|
-
end
|
39
|
-
|
40
|
-
def find_parent(name)
|
41
|
-
split = name.split(Katello::RhsmFactName::SEPARATOR)
|
42
|
-
split[0..split.length - 2].join(Katello::RhsmFactName::SEPARATOR) if split.length > 1
|
43
|
-
end
|
44
34
|
end
|
45
35
|
end
|
@@ -32,7 +32,8 @@
|
|
32
32
|
ng-model="packageAction.term"/>
|
33
33
|
|
34
34
|
<span uib-dropdown class="input-group-btn">
|
35
|
-
<button class="btn btn-
|
35
|
+
<button class="btn btn-primary" type="button"
|
36
|
+
ng-click="performPackageAction(packageAction.actionType, packageAction.term)"
|
36
37
|
ng-hide="denied('edit_hosts', host)"
|
37
38
|
ng-disabled="working || packageAction.term === undefined || packageAction.term.length === 0"
|
38
39
|
translate>
|
@@ -54,7 +55,7 @@
|
|
54
55
|
</div>
|
55
56
|
|
56
57
|
<div class="form-group">
|
57
|
-
<button class="btn btn-
|
58
|
+
<button class="btn btn-default" type="button"
|
58
59
|
translate
|
59
60
|
ng-disabled="working"
|
60
61
|
ng-click="updateAll()">
|
@@ -12,12 +12,13 @@
|
|
12
12
|
Your search returned zero Packages.
|
13
13
|
</span>
|
14
14
|
|
15
|
-
<div data-block="actions" bst-feature-flag="remote_actions">
|
15
|
+
<div data-block="list-actions" bst-feature-flag="remote_actions">
|
16
16
|
<div ng-hide="denied('edit_hosts', host)" class="nutupane-actions fr">
|
17
17
|
<form ng-submit="performDefaultUpdateAction()" role="form">
|
18
18
|
|
19
19
|
<span uib-dropdown class="btn-group">
|
20
|
-
<button class="btn btn-
|
20
|
+
<button class="btn btn-primary" type="button"
|
21
|
+
ng-click="performDefaultUpdateAction()"
|
21
22
|
ng-hide="denied('edit_hosts', host)"
|
22
23
|
ng-disabled="working || table.numSelected === 0"
|
23
24
|
translate>
|
@@ -36,7 +37,7 @@
|
|
36
37
|
</ul>
|
37
38
|
</span>
|
38
39
|
|
39
|
-
<button class="btn btn-
|
40
|
+
<button class="btn btn-default"
|
40
41
|
type="button"
|
41
42
|
translate
|
42
43
|
ng-disabled="working"
|
@@ -16,7 +16,7 @@
|
|
16
16
|
HostCollection.copy({id: $scope.$stateParams.hostCollectionId, 'host_collection': {name: newName}}, function (response) {
|
17
17
|
$scope.transitionTo('host-collection.info', {hostCollectionId: response.id});
|
18
18
|
}, function (response) {
|
19
|
-
$scope.errorMessages.push(response.data.displayMessage);
|
19
|
+
$scope.$parent.errorMessages.push(response.data.displayMessage);
|
20
20
|
});
|
21
21
|
};
|
22
22
|
}
|
@@ -4,14 +4,17 @@
|
|
4
4
|
*
|
5
5
|
* @requires $scope
|
6
6
|
* @requires $state
|
7
|
+
* @requires $uibModal
|
8
|
+
* @requires translate
|
7
9
|
* @requires Product
|
10
|
+
* @requires GlobalNotification
|
8
11
|
* @requires ApiErrorHandler
|
9
12
|
*
|
10
13
|
* @description
|
11
14
|
* Provides the functionality for the product details action pane.
|
12
15
|
*/
|
13
16
|
angular.module('Bastion.products').controller('ProductDetailsController',
|
14
|
-
['$scope', '$state', 'Product', 'ApiErrorHandler', function ($scope, $state, Product, ApiErrorHandler) {
|
17
|
+
['$scope', '$state', '$uibModal', 'translate', 'Product', 'GlobalNotification', 'ApiErrorHandler', function ($scope, $state, $uibModal, translate, Product, GlobalNotification, ApiErrorHandler) {
|
15
18
|
$scope.successMessages = [];
|
16
19
|
$scope.errorMessages = [];
|
17
20
|
$scope.page = {
|
@@ -65,5 +68,27 @@ angular.module('Bastion.products').controller('ProductDetailsController',
|
|
65
68
|
|
66
69
|
return readOnlyReason;
|
67
70
|
};
|
71
|
+
|
72
|
+
$scope.updateProduct = function () {
|
73
|
+
function success() {
|
74
|
+
GlobalNotification.setSuccessMessage(translate('Sync Plan created and assigned to product.'));
|
75
|
+
}
|
76
|
+
|
77
|
+
function error(response) {
|
78
|
+
ApiErrorHandler.handlePUTRequestErrors(response, $scope);
|
79
|
+
}
|
80
|
+
|
81
|
+
$scope.product.$update(success, error);
|
82
|
+
};
|
83
|
+
|
84
|
+
$scope.openSyncPlanModal = function () {
|
85
|
+
$uibModal.open({
|
86
|
+
templateUrl: 'products/new/views/new-sync-plan-modal.html',
|
87
|
+
controller: 'NewSyncPlanModalController'
|
88
|
+
}).result.then(function ($value) {
|
89
|
+
$scope.product['sync_plan_id'] = $value.id;
|
90
|
+
$scope.updateProduct();
|
91
|
+
});
|
92
|
+
};
|
68
93
|
}]
|
69
94
|
);
|
@@ -16,8 +16,8 @@
|
|
16
16
|
* Provides the functionality for manipulating repositories attached to a product.
|
17
17
|
*/
|
18
18
|
angular.module('Bastion.products').controller('ProductRepositoriesController',
|
19
|
-
['$scope', '$state', '$location', 'ApiErrorHandler', 'Product', 'Repository', 'RepositoryBulkAction', 'CurrentOrganization', 'Nutupane',
|
20
|
-
function ($scope, $state, $location, ApiErrorHandler, Product, Repository, RepositoryBulkAction, CurrentOrganization, Nutupane
|
19
|
+
['$scope', '$state', '$location', 'ApiErrorHandler', 'Product', 'Repository', 'RepositoryBulkAction', 'CurrentOrganization', 'Nutupane',
|
20
|
+
function ($scope, $state, $location, ApiErrorHandler, Product, Repository, RepositoryBulkAction, CurrentOrganization, Nutupane) {
|
21
21
|
var repositoriesNutupane = new Nutupane(Repository, {
|
22
22
|
'product_id': $scope.$stateParams.productId,
|
23
23
|
'search': $location.search().search || "",
|
@@ -53,7 +53,6 @@ angular.module('Bastion.products').controller('ProductRepositoriesController',
|
|
53
53
|
|
54
54
|
$scope.removingTasks = [];
|
55
55
|
|
56
|
-
$scope.checksums = [{name: translate('Default'), id: null}, {id: 'sha256', name: 'sha256'}, {id: 'sha1', name: 'sha1'}];
|
57
56
|
$scope.table = repositoriesNutupane.table;
|
58
57
|
|
59
58
|
$scope.syncSelectedRepositories = function () {
|
@@ -0,0 +1,22 @@
|
|
1
|
+
/**
|
2
|
+
* @ngdoc service
|
3
|
+
* @name Bastion.repository.service:checksum
|
4
|
+
*
|
5
|
+
* @requires translate
|
6
|
+
*
|
7
|
+
* @description
|
8
|
+
* Provides a checksum for repositories
|
9
|
+
*/
|
10
|
+
angular.module('Bastion.repositories').service('Checksum',
|
11
|
+
['translate', function (translate) {
|
12
|
+
|
13
|
+
this.checksums = [{name: translate('Default'), id: null}, {id: 'sha256', name: 'sha256'}, {id: 'sha1', name: 'sha1'}];
|
14
|
+
|
15
|
+
this.checksumType = function (checksum) {
|
16
|
+
if (checksum === null) {
|
17
|
+
checksum = translate('Default');
|
18
|
+
}
|
19
|
+
return checksum;
|
20
|
+
};
|
21
|
+
}]
|
22
|
+
);
|
@@ -7,6 +7,7 @@
|
|
7
7
|
* @requires translate
|
8
8
|
* @requires GPGKey
|
9
9
|
* @requires CurrentOrganization
|
10
|
+
* @requires Checksum
|
10
11
|
* @requires DownloadPolicy
|
11
12
|
* @requires OstreeUpstreamSyncPolicy
|
12
13
|
*
|
@@ -14,8 +15,8 @@
|
|
14
15
|
* Provides the functionality for the repository details info page.
|
15
16
|
*/
|
16
17
|
angular.module('Bastion.repositories').controller('RepositoryDetailsInfoController',
|
17
|
-
['$scope', '$q', 'translate', 'GPGKey', 'CurrentOrganization', 'DownloadPolicy', 'OstreeUpstreamSyncPolicy',
|
18
|
-
function ($scope, $q, translate, GPGKey, CurrentOrganization, DownloadPolicy, OstreeUpstreamSyncPolicy) {
|
18
|
+
['$scope', '$q', 'translate', 'GPGKey', 'CurrentOrganization', 'Checksum', 'DownloadPolicy', 'OstreeUpstreamSyncPolicy',
|
19
|
+
function ($scope, $q, translate, GPGKey, CurrentOrganization, Checksum, DownloadPolicy, OstreeUpstreamSyncPolicy) {
|
19
20
|
$scope.successMessages = [];
|
20
21
|
$scope.errorMessages = [];
|
21
22
|
$scope.uploadSuccessMessages = [];
|
@@ -94,15 +95,14 @@ angular.module('Bastion.repositories').controller('RepositoryDetailsInfoControll
|
|
94
95
|
$scope.progress.uploading = false;
|
95
96
|
};
|
96
97
|
|
97
|
-
$scope.
|
98
|
-
if (checksum === null) {
|
99
|
-
checksum = translate('Default');
|
100
|
-
}
|
101
|
-
return checksum;
|
102
|
-
};
|
98
|
+
$scope.checksums = Checksum.checksums;
|
103
99
|
$scope.downloadPolicies = DownloadPolicy.downloadPolicies;
|
104
100
|
$scope.ostreeUpstreamSyncPolicies = OstreeUpstreamSyncPolicy.syncPolicies;
|
105
101
|
|
102
|
+
$scope.checksumTypeDisplay = function (checksum) {
|
103
|
+
return Checksum.checksumType(checksum);
|
104
|
+
};
|
105
|
+
|
106
106
|
$scope.downloadPolicyDisplay = function (downloadPolicy) {
|
107
107
|
return DownloadPolicy.downloadPolicyName(downloadPolicy);
|
108
108
|
};
|
@@ -98,12 +98,12 @@
|
|
98
98
|
var readOnlyReason = null;
|
99
99
|
|
100
100
|
if (repo.$resolved && product.$resolved) {
|
101
|
-
if (
|
102
|
-
readOnlyReason = 'permissions';
|
103
|
-
} else if (repo.promoted) {
|
101
|
+
if (repo.promoted) {
|
104
102
|
readOnlyReason = 'published';
|
105
103
|
} else if (repo['product_type'] === "redhat") {
|
106
104
|
readOnlyReason = 'redhat';
|
105
|
+
} else if ($scope.denied('deletable', repo)) {
|
106
|
+
readOnlyReason = 'permissions';
|
107
107
|
}
|
108
108
|
}
|
109
109
|
return readOnlyReason;
|
@@ -46,12 +46,13 @@
|
|
46
46
|
</span>
|
47
47
|
</li>
|
48
48
|
|
49
|
-
<li class="divider" bst-feature-flag="custom_products"
|
49
|
+
<li class="divider" bst-feature-flag="custom_products"></li>
|
50
50
|
<li role="menuitem" ng-show="canRemove(repository, product)">
|
51
51
|
<a ng-click="openModal()" translate>
|
52
52
|
Remove Repository
|
53
53
|
</a>
|
54
|
-
|
54
|
+
</li>
|
55
|
+
<li>
|
55
56
|
<span class="disabled" ng-hide="canRemove(repository, product)">
|
56
57
|
<span translate>Cannot Remove</span>
|
57
58
|
|
@@ -11,6 +11,7 @@
|
|
11
11
|
* @requires GlobalNotification
|
12
12
|
* @requires ApiErrorHandler
|
13
13
|
* @requires BastionConfig
|
14
|
+
* @requires Checksum
|
14
15
|
* @requires DownloadPolicy
|
15
16
|
* @requires OstreeUpstreamSyncPolicy
|
16
17
|
*
|
@@ -18,8 +19,8 @@
|
|
18
19
|
* Controls the creation of an empty Repository object for use by sub-controllers.
|
19
20
|
*/
|
20
21
|
angular.module('Bastion.repositories').controller('NewRepositoryController',
|
21
|
-
['$scope', 'Repository', 'Product', 'GPGKey', 'FormUtils', 'translate', 'GlobalNotification', 'ApiErrorHandler', 'BastionConfig', 'DownloadPolicy', 'OstreeUpstreamSyncPolicy',
|
22
|
-
function ($scope, Repository, Product, GPGKey, FormUtils, translate, GlobalNotification, ApiErrorHandler, BastionConfig, DownloadPolicy, OstreeUpstreamSyncPolicy) {
|
22
|
+
['$scope', 'Repository', 'Product', 'GPGKey', 'FormUtils', 'translate', 'GlobalNotification', 'ApiErrorHandler', 'BastionConfig', 'Checksum', 'DownloadPolicy', 'OstreeUpstreamSyncPolicy',
|
23
|
+
function ($scope, Repository, Product, GPGKey, FormUtils, translate, GlobalNotification, ApiErrorHandler, BastionConfig, Checksum, DownloadPolicy, OstreeUpstreamSyncPolicy) {
|
23
24
|
|
24
25
|
function success() {
|
25
26
|
GlobalNotification.setSuccessMessage(translate('Repository %s successfully created.').replace('%s', $scope.repository.name));
|
@@ -74,6 +75,7 @@ angular.module('Bastion.repositories').controller('NewRepositoryController',
|
|
74
75
|
$scope.repositoryTypes = data;
|
75
76
|
});
|
76
77
|
|
78
|
+
$scope.checksums = Checksum.checksums;
|
77
79
|
$scope.downloadPolicies = DownloadPolicy.downloadPolicies;
|
78
80
|
$scope.ostreeUpstreamSyncPolicies = OstreeUpstreamSyncPolicy.syncPolicies;
|
79
81
|
|
@@ -37,7 +37,7 @@ angular.module('Bastion.products').controller('DiscoveryCreateController',
|
|
37
37
|
name: repo.name,
|
38
38
|
label: repo.label,
|
39
39
|
'content_type': repo.contentType,
|
40
|
-
url: repo.url,
|
40
|
+
url: repo.url + repo.path,
|
41
41
|
'product_id': $scope.createRepoChoices.existingProductId,
|
42
42
|
unprotected: $scope.createRepoChoices.unprotected,
|
43
43
|
'verify_ssl': $scope.createRepoChoices.verifySsl,
|
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.
|
4
|
+
version: 3.4.2
|
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-06-
|
11
|
+
date: 2017-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -1762,6 +1762,7 @@ files:
|
|
1762
1762
|
- engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-details-info.controller.js
|
1763
1763
|
- engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-details.controller.js
|
1764
1764
|
- engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-repositories.controller.js
|
1765
|
+
- engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/checksum.service.js
|
1765
1766
|
- engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-advanced-sync.controller.js
|
1766
1767
|
- engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js
|
1767
1768
|
- engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.filter.js
|