katello 4.2.0.rc1 → 4.2.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/api/rhsm/candlepin_dynflow_proxy_controller.rb +20 -2
- data/app/controllers/katello/api/v2/content_uploads_controller.rb +2 -1
- data/app/controllers/katello/api/v2/repositories_controller.rb +1 -0
- data/app/lib/actions/katello/content_view_version/create_repos.rb +1 -1
- data/app/lib/actions/katello/host/upload_package_profile.rb +7 -21
- data/app/lib/actions/katello/host/upload_profiles.rb +6 -52
- data/app/lib/actions/katello/orphan_cleanup/remove_orphans.rb +2 -0
- data/app/lib/actions/katello/repository/clone_to_environment.rb +1 -1
- data/app/lib/actions/katello/repository/create.rb +8 -4
- data/app/lib/actions/katello/repository/create_root.rb +1 -1
- data/app/lib/actions/katello/repository/import_upload.rb +6 -1
- data/app/lib/actions/katello/repository/upload_files.rb +6 -8
- data/app/lib/actions/katello/repository_set/enable_repository.rb +1 -1
- data/app/lib/actions/pulp3/orchestration/repository/create.rb +2 -2
- data/app/lib/actions/pulp3/orchestration/repository/import_upload.rb +25 -4
- data/app/lib/actions/pulp3/orchestration/repository/upload_content.rb +17 -5
- data/app/lib/actions/pulp3/repository/commit_upload.rb +25 -2
- data/app/lib/actions/pulp3/repository/create.rb +4 -3
- data/app/lib/actions/pulp3/repository/refresh_distribution.rb +5 -2
- data/app/lib/actions/pulp3/repository/save_artifact.rb +8 -1
- data/app/lib/actions/pulp3/repository/update_remote.rb +7 -4
- data/app/lib/actions/pulp3/repository/upload_file.rb +29 -3
- data/app/models/katello/concerns/host_managed_extensions.rb +14 -1
- data/app/models/katello/content_view.rb +1 -1
- data/app/models/katello/content_view_repository.rb +3 -2
- data/app/models/katello/content_view_version.rb +5 -3
- data/app/models/katello/erratum.rb +2 -2
- data/app/models/katello/host/content_facet.rb +7 -2
- data/app/models/katello/repository.rb +1 -1
- data/app/models/katello/root_repository.rb +10 -6
- data/app/models/setting/content.rb +3 -1
- data/app/services/katello/applicability/applicable_content_helper.rb +2 -1
- data/app/services/katello/host/package_profile_uploader.rb +41 -0
- data/app/services/katello/host/profiles_uploader.rb +74 -0
- data/app/services/katello/pulp3/api/core.rb +4 -0
- data/app/services/katello/pulp3/repository/ansible_collection.rb +5 -9
- data/app/services/katello/pulp3/repository/yum.rb +17 -4
- data/app/services/katello/pulp3/repository.rb +42 -8
- data/app/services/katello/pulp3/repository_mirror.rb +1 -1
- data/app/views/katello/api/v2/repositories/show.json.rabl +1 -0
- data/app/views/smart_proxies/plugins/_pulpcore.html.erb +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/apply-errata.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +1 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js +7 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +6 -0
- data/lib/katello/tasks/repository.rake +4 -3
- data/lib/katello/version.rb +1 -1
- data/locale/bn/katello.po +1 -1
- data/locale/bn/katello.po.time_stamp +0 -0
- data/locale/cs/katello.po +1 -1
- data/locale/cs/katello.po.time_stamp +0 -0
- data/locale/de/katello.po +1 -1
- data/locale/de/katello.po.time_stamp +0 -0
- data/locale/en/katello.po +1 -1
- data/locale/en/katello.po.time_stamp +0 -0
- data/locale/es/katello.po +1 -1
- data/locale/es/katello.po.time_stamp +0 -0
- data/locale/fr/katello.po +1 -1
- data/locale/fr/katello.po.time_stamp +0 -0
- data/locale/gu/katello.po +1 -1
- data/locale/gu/katello.po.time_stamp +0 -0
- data/locale/hi/katello.po +1 -1
- data/locale/hi/katello.po.time_stamp +0 -0
- data/locale/it/katello.po +1 -1
- data/locale/it/katello.po.time_stamp +0 -0
- data/locale/ja/katello.po +1 -1
- data/locale/ja/katello.po.time_stamp +0 -0
- data/locale/katello.pot +1 -1
- data/locale/kn/katello.po +1 -1
- data/locale/kn/katello.po.time_stamp +0 -0
- data/locale/ko/katello.po +1 -1
- data/locale/ko/katello.po.time_stamp +0 -0
- data/locale/mr/katello.po +1 -1
- data/locale/mr/katello.po.time_stamp +0 -0
- data/locale/or/katello.po +1 -1
- data/locale/or/katello.po.time_stamp +0 -0
- data/locale/pa/katello.po +1 -1
- data/locale/pa/katello.po.time_stamp +0 -0
- data/locale/pt/katello.po +1 -1
- data/locale/pt/katello.po.time_stamp +0 -0
- data/locale/pt_BR/katello.po +1 -1
- data/locale/pt_BR/katello.po.time_stamp +0 -0
- data/locale/ru/katello.po +1 -1
- data/locale/ru/katello.po.time_stamp +0 -0
- data/locale/ta/katello.po +1 -1
- data/locale/ta/katello.po.time_stamp +0 -0
- data/locale/te/katello.po +1 -1
- data/locale/te/katello.po.time_stamp +0 -0
- data/locale/zh_CN/katello.po +1 -1
- data/locale/zh_CN/katello.po.time_stamp +0 -0
- data/locale/zh_TW/katello.po +1 -1
- data/locale/zh_TW/katello.po.time_stamp +0 -0
- data/webpack/components/AddedStatusLabel.js +5 -0
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +1 -1
- data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +1 -1
- metadata +26 -2
@@ -319,6 +319,11 @@ module Katello
|
|
319
319
|
dest_repo_map[:content_unit_hrefs] = content_unit_hrefs.uniq.sort
|
320
320
|
end
|
321
321
|
|
322
|
+
errata_to_include = errata_to_include_from_map(repo_id_map)
|
323
|
+
repo_id_map.each do |_, dest_repo_map|
|
324
|
+
dest_repo_map[:content_unit_hrefs] |= errata_to_include.flat_map { |erratum| erratum.repository_errata.pluck(:erratum_pulp3_href) }
|
325
|
+
end
|
326
|
+
|
322
327
|
dependency_solving = options[:solve_dependencies] || false
|
323
328
|
|
324
329
|
multi_copy_units(repo_id_map, dependency_solving)
|
@@ -353,13 +358,19 @@ module Katello
|
|
353
358
|
blacklist_ids += modular_packages(source_repository, exclusion_modular_filters) unless exclusion_modular_filters.empty?
|
354
359
|
content_unit_hrefs = whitelist_ids - blacklist_ids
|
355
360
|
if content_unit_hrefs.any?
|
356
|
-
content_unit_hrefs += additional_content_hrefs(source_repository, content_unit_hrefs)
|
361
|
+
content_unit_hrefs += additional_content_hrefs(source_repository, content_unit_hrefs, true)
|
357
362
|
end
|
358
363
|
content_unit_hrefs += source_repository.srpms.pluck(:pulp_id)
|
359
364
|
dependency_solving = options[:solve_dependencies] || false
|
360
365
|
copy_units(source_repository, content_unit_hrefs.uniq, dependency_solving)
|
361
366
|
end
|
362
367
|
|
368
|
+
def errata_to_include_from_map(repo_id_map)
|
369
|
+
all_errata = ::Katello::Erratum.in_repositories(repo_id_map.keys.flatten.uniq)
|
370
|
+
all_content_units = repo_id_map.values.pluck(:content_unit_hrefs).flatten.uniq
|
371
|
+
filter_errata_by_pulp_href(all_errata, all_content_units)
|
372
|
+
end
|
373
|
+
|
363
374
|
def modular_packages(source_repository, filters)
|
364
375
|
list_ids = []
|
365
376
|
filters.each do |filter|
|
@@ -368,12 +379,14 @@ module Katello
|
|
368
379
|
list_ids
|
369
380
|
end
|
370
381
|
|
371
|
-
def additional_content_hrefs(source_repository, content_unit_hrefs)
|
382
|
+
def additional_content_hrefs(source_repository, content_unit_hrefs, copy_errata = false)
|
372
383
|
repo_service = source_repository.backend_service(SmartProxy.pulp_primary)
|
373
384
|
options = { :repository_version => source_repository.version_href }
|
374
385
|
|
375
|
-
|
376
|
-
|
386
|
+
if copy_errata
|
387
|
+
errata_to_include = filter_errata_by_pulp_href(source_repository.errata, content_unit_hrefs)
|
388
|
+
content_unit_hrefs += errata_to_include.collect { |erratum| erratum.repository_errata.pluck(:erratum_pulp3_href) }.flatten
|
389
|
+
end
|
377
390
|
|
378
391
|
package_groups_to_include = filter_package_groups_by_pulp_href(source_repository.package_groups, content_unit_hrefs)
|
379
392
|
content_unit_hrefs += package_groups_to_include.pluck(:pulp_id)
|
@@ -75,8 +75,39 @@ module Katello
|
|
75
75
|
|
76
76
|
def create_remote
|
77
77
|
remote_file_data = api.class.remote_class.new(remote_options)
|
78
|
-
|
79
|
-
|
78
|
+
reformat_api_exception do
|
79
|
+
response = api.remotes_api.create(remote_file_data)
|
80
|
+
repo.update!(:remote_href => response.pulp_href)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
# When updating a repository, we need to update the remote, but this is
|
85
|
+
# an async task. If some validation occurs, we won't know about it until
|
86
|
+
# the task runs. Errors during a repository update task are very difficult to
|
87
|
+
# handle once the task is in its run phase, so this creates a test remote
|
88
|
+
# with a random name in order to validate the remote's configuration
|
89
|
+
def create_test_remote
|
90
|
+
test_remote_options = remote_options
|
91
|
+
test_remote_options[:name] = test_remote_name
|
92
|
+
remote_file_data = api.class.remote_class.new(test_remote_options)
|
93
|
+
|
94
|
+
reformat_api_exception do
|
95
|
+
response = api.remotes_api.create(remote_file_data)
|
96
|
+
#delete is async, but if its not properly deleted, orphan cleanup will take care of it later
|
97
|
+
delete_remote(response.pulp_href)
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
def test_remote_name
|
102
|
+
"test_remote_#{SecureRandom.uuid}"
|
103
|
+
end
|
104
|
+
|
105
|
+
def reformat_api_exception
|
106
|
+
yield
|
107
|
+
rescue api.class.client_module::ApiError => exception
|
108
|
+
body = JSON.parse(exception.response_body) rescue body
|
109
|
+
body = body.values.join(',') if body.respond_to?(:values)
|
110
|
+
raise ::Katello::Errors::Pulp3Error, body
|
80
111
|
end
|
81
112
|
|
82
113
|
def update_remote
|
@@ -166,13 +197,16 @@ module Katello
|
|
166
197
|
computed_options.except(:name, :client_key)
|
167
198
|
end
|
168
199
|
|
169
|
-
def create
|
170
|
-
|
200
|
+
def create(force = false)
|
201
|
+
if force || !repository_reference
|
171
202
|
response = api.repositories_api.create(create_options)
|
172
|
-
RepositoryReference.
|
173
|
-
|
174
|
-
|
175
|
-
|
203
|
+
RepositoryReference.where(
|
204
|
+
root_repository_id: repo.root_id,
|
205
|
+
content_view_id: repo.content_view.id).destroy_all
|
206
|
+
RepositoryReference.where(
|
207
|
+
root_repository_id: repo.root_id,
|
208
|
+
content_view_id: repo.content_view.id,
|
209
|
+
repository_href: response.pulp_href).create!
|
176
210
|
response
|
177
211
|
end
|
178
212
|
end
|
@@ -57,6 +57,7 @@ attributes :ostree_branch_names => :ostree_branches
|
|
57
57
|
attributes :relative_path
|
58
58
|
attributes :promoted? => :promoted
|
59
59
|
attributes :content_view_version_id, :library_instance_id
|
60
|
+
attributes :last_contents_changed
|
60
61
|
|
61
62
|
if @resource.is_a?(Katello::Repository)
|
62
63
|
if @resource.distribution_version || @resource.distribution_arch || @resource.distribution_family || @resource.distribution_variant
|
@@ -37,7 +37,7 @@ angular.module('Bastion.errata').controller('ApplyErrataController',
|
|
37
37
|
$scope.errataActionFormValues = {
|
38
38
|
authenticityToken: $window.AUTH_TOKEN.replace(/"/g, ''),
|
39
39
|
errata: IncrementalUpdate.getErrataIds().join(','),
|
40
|
-
|
40
|
+
bulkHostIds: angular.toJson({ included: { ids: IncrementalUpdate.getBulkContentHosts().included.ids }}),
|
41
41
|
customize: false
|
42
42
|
};
|
43
43
|
|
@@ -18,7 +18,7 @@
|
|
18
18
|
<form id="errataActionForm" method="post" action="/katello/remote_execution">
|
19
19
|
<input type="hidden" name="remote_action" value="errata_install"/>
|
20
20
|
<input type="hidden" name="name" ng-value="errataActionFormValues.errata"/>
|
21
|
-
<input type="hidden" name="
|
21
|
+
<input type="hidden" name="bulk_host_ids" ng-value="errataActionFormValues.bulkHostIds"/>
|
22
22
|
<input type="hidden" name="customize" ng-value="errataActionFormValues.customize"/>
|
23
23
|
<input type="hidden" name="authenticity_token" ng-value="errataActionFormValues.authenticityToken"/>
|
24
24
|
<input type="hidden" name="install_all" ng-value="table.allResultsSelected" />
|
@@ -132,4 +132,3 @@
|
|
132
132
|
</button>
|
133
133
|
</form>
|
134
134
|
</section>
|
135
|
-
|
@@ -90,6 +90,7 @@ angular.module('Bastion.repositories').controller('RepositoryDetailsInfoControll
|
|
90
90
|
|
91
91
|
$scope.save = function (repository, saveUpstreamAuth) {
|
92
92
|
var deferred = $q.defer();
|
93
|
+
var fields = ['upstream_password', 'upstream_username', 'ansible_collection_auth_token', 'ansible_collection_auth_url', 'ansible_collection_requirements'];
|
93
94
|
if (repository.content_type === 'yum' && typeof repository.ignore_srpms !== 'undefined') {
|
94
95
|
if (repository['ignore_srpms']) {
|
95
96
|
repository['ignorable_content'] = ["srpm"];
|
@@ -111,6 +112,12 @@ angular.module('Bastion.repositories').controller('RepositoryDetailsInfoControll
|
|
111
112
|
repository["docker_tags_whitelist"] = [];
|
112
113
|
}
|
113
114
|
/* eslint-disable camelcase */
|
115
|
+
|
116
|
+
angular.forEach(fields, function(field) {
|
117
|
+
if (repository[field] === '') {
|
118
|
+
repository[field] = null;
|
119
|
+
}
|
120
|
+
});
|
114
121
|
repository.os_versions = $scope.osVersionsParam();
|
115
122
|
repository.$update(function (response) {
|
116
123
|
deferred.resolve(response);
|
@@ -96,7 +96,7 @@
|
|
96
96
|
<input id="requirementFile" type="file" name="file_path" onclick="this.value = null" onchange="angular.element(this).scope().handleFiles(this)"/>
|
97
97
|
<p bst-alert='info' ng-show="repository.content_type == 'ansible_collection'">
|
98
98
|
<span translate>
|
99
|
-
You can upload a requirements.yml file above to auto-fill contents <b>OR</b> paste contents of <a ng-href="https://docs.ansible.com/ansible/
|
99
|
+
You can upload a requirements.yml file above to auto-fill contents <b>OR</b> paste contents of <a ng-href="https://docs.ansible.com/ansible/latest/galaxy/user_guide.html#install-multiple-collections-with-a-requirements-file" target="_blank"> Requirements.yml </a>below.
|
100
100
|
</span>
|
101
101
|
</p>
|
102
102
|
</dd>
|
@@ -477,7 +477,7 @@
|
|
477
477
|
<div class="divider" ng-if="repository.content_type === 'ostree'"/>
|
478
478
|
</section>
|
479
479
|
|
480
|
-
<section class="well" ng-if="permitted('edit_products', product) && !product.redhat && repository.content_type !== 'docker' && repository.content_type !== 'ostree'">
|
480
|
+
<section class="well" ng-if="permitted('edit_products', product) && !product.redhat && repository.content_type !== 'docker' && repository.content_type !== 'ostree' && repository.content_type !== 'ansible_collection'">
|
481
481
|
<h5 translate ng-show="repository.content_type === 'yum'">Upload Package</h5>
|
482
482
|
<h5 translate ng-show="repository.content_type === 'file'">Upload File</h5>
|
483
483
|
|
@@ -118,6 +118,7 @@ angular.module('Bastion.repositories').controller('NewRepositoryController',
|
|
118
118
|
});
|
119
119
|
|
120
120
|
$scope.save = function (repository) {
|
121
|
+
var fields = ['upstream_password', 'upstream_username', 'ansible_collection_auth_token', 'ansible_collection_auth_url', 'ansible_collection_requirements'];
|
121
122
|
if (repository.content_type === 'ostree') {
|
122
123
|
repository.unprotected = false;
|
123
124
|
}
|
@@ -135,6 +136,11 @@ angular.module('Bastion.repositories').controller('NewRepositoryController',
|
|
135
136
|
if (repository.arch === 'No restriction') {
|
136
137
|
repository.arch = null;
|
137
138
|
}
|
139
|
+
angular.forEach(fields, function(field) {
|
140
|
+
if (repository[field] === '') {
|
141
|
+
repository[field] = null;
|
142
|
+
}
|
143
|
+
});
|
138
144
|
repository.$save(success, error);
|
139
145
|
};
|
140
146
|
|
@@ -114,20 +114,21 @@ namespace :katello do
|
|
114
114
|
def repo_exists?(repo)
|
115
115
|
if SmartProxy.pulp_primary!.pulp3_support?(repo)
|
116
116
|
backend_service = repo.backend_service(SmartProxy.pulp_primary!)
|
117
|
+
return false unless backend_service&.repository_reference&.repository_href
|
117
118
|
backend_service.api.repositories_api.read(backend_service.repository_reference.repository_href)
|
118
119
|
else
|
119
120
|
Katello.pulp_server.extensions.repository.retrieve(repo.pulp_id)
|
120
121
|
end
|
121
122
|
true
|
122
|
-
rescue
|
123
|
-
false
|
123
|
+
rescue StandardError => e
|
124
|
+
return false if e.code == 404
|
124
125
|
end
|
125
126
|
|
126
127
|
def handle_missing_repo(repo)
|
127
128
|
puts "Repository #{repo.id} Missing"
|
128
129
|
if repo.content_view.default?
|
129
130
|
puts "Recreating #{repo.id}"
|
130
|
-
ForemanTasks.sync_task(::Actions::Katello::Repository::Create, repo) if commit?
|
131
|
+
ForemanTasks.sync_task(::Actions::Katello::Repository::Create, repo, force_repo_create: true) if commit?
|
131
132
|
else
|
132
133
|
puts "Deleting #{repo.id}"
|
133
134
|
ForemanTasks.sync_task(::Actions::Katello::Repository::Destroy, repo) if commit?
|
data/lib/katello/version.rb
CHANGED
data/locale/bn/katello.po
CHANGED
@@ -363,7 +363,7 @@ msgstr ""
|
|
363
363
|
msgid "A backend service [ %s ] is unreachable"
|
364
364
|
msgstr ""
|
365
365
|
|
366
|
-
msgid "A content view can be added by using the \"
|
366
|
+
msgid "A content view can be added by using the \"Create content view\" button above."
|
367
367
|
msgstr ""
|
368
368
|
|
369
369
|
#, fuzzy
|
File without changes
|
data/locale/cs/katello.po
CHANGED
@@ -320,7 +320,7 @@ msgstr ""
|
|
320
320
|
msgid "A backend service [ %s ] is unreachable"
|
321
321
|
msgstr ""
|
322
322
|
|
323
|
-
msgid "A content view can be added by using the \"
|
323
|
+
msgid "A content view can be added by using the \"Create content view\" button above."
|
324
324
|
msgstr ""
|
325
325
|
|
326
326
|
#, fuzzy
|
File without changes
|
data/locale/de/katello.po
CHANGED
@@ -303,7 +303,7 @@ msgstr ""
|
|
303
303
|
msgid "A backend service [ %s ] is unreachable"
|
304
304
|
msgstr "Ein Back-End-Dienst [ %s ] kann nicht erreicht werden"
|
305
305
|
|
306
|
-
msgid "A content view can be added by using the \"
|
306
|
+
msgid "A content view can be added by using the \"Create content view\" button above."
|
307
307
|
msgstr ""
|
308
308
|
|
309
309
|
msgid "A content_type must be provided."
|
File without changes
|
data/locale/en/katello.po
CHANGED
@@ -296,7 +296,7 @@ msgstr ""
|
|
296
296
|
msgid "A backend service [ %s ] is unreachable"
|
297
297
|
msgstr ""
|
298
298
|
|
299
|
-
msgid "A content view can be added by using the \"
|
299
|
+
msgid "A content view can be added by using the \"Create content view\" button above."
|
300
300
|
msgstr ""
|
301
301
|
|
302
302
|
msgid "A content_type must be provided."
|
File without changes
|
data/locale/es/katello.po
CHANGED
@@ -305,7 +305,7 @@ msgstr ""
|
|
305
305
|
msgid "A backend service [ %s ] is unreachable"
|
306
306
|
msgstr "No se puede acceder a un servicio de segundo plano [ %s ]"
|
307
307
|
|
308
|
-
msgid "A content view can be added by using the \"
|
308
|
+
msgid "A content view can be added by using the \"Create content view\" button above."
|
309
309
|
msgstr ""
|
310
310
|
|
311
311
|
msgid "A content_type must be provided."
|
File without changes
|
data/locale/fr/katello.po
CHANGED
@@ -306,7 +306,7 @@ msgstr ""
|
|
306
306
|
msgid "A backend service [ %s ] is unreachable"
|
307
307
|
msgstr "Un service d'arrière-plan [ %s ] est injoignable"
|
308
308
|
|
309
|
-
msgid "A content view can be added by using the \"
|
309
|
+
msgid "A content view can be added by using the \"Create content view\" button above."
|
310
310
|
msgstr ""
|
311
311
|
|
312
312
|
msgid "A content_type must be provided."
|
File without changes
|
data/locale/gu/katello.po
CHANGED
@@ -364,7 +364,7 @@ msgstr ""
|
|
364
364
|
msgid "A backend service [ %s ] is unreachable"
|
365
365
|
msgstr ""
|
366
366
|
|
367
|
-
msgid "A content view can be added by using the \"
|
367
|
+
msgid "A content view can be added by using the \"Create content view\" button above."
|
368
368
|
msgstr ""
|
369
369
|
|
370
370
|
#, fuzzy
|
File without changes
|
data/locale/hi/katello.po
CHANGED
@@ -362,7 +362,7 @@ msgstr ""
|
|
362
362
|
msgid "A backend service [ %s ] is unreachable"
|
363
363
|
msgstr ""
|
364
364
|
|
365
|
-
msgid "A content view can be added by using the \"
|
365
|
+
msgid "A content view can be added by using the \"Create content view\" button above."
|
366
366
|
msgstr ""
|
367
367
|
|
368
368
|
#, fuzzy
|
File without changes
|
data/locale/it/katello.po
CHANGED
@@ -304,7 +304,7 @@ msgstr ""
|
|
304
304
|
msgid "A backend service [ %s ] is unreachable"
|
305
305
|
msgstr "Impossibile raggiungere un servizio backend [ %s ]"
|
306
306
|
|
307
|
-
msgid "A content view can be added by using the \"
|
307
|
+
msgid "A content view can be added by using the \"Create content view\" button above."
|
308
308
|
msgstr ""
|
309
309
|
|
310
310
|
msgid "A content_type must be provided."
|
File without changes
|
data/locale/ja/katello.po
CHANGED
@@ -312,7 +312,7 @@ msgstr ""
|
|
312
312
|
msgid "A backend service [ %s ] is unreachable"
|
313
313
|
msgstr "バックエンドサービス [ %s ] には到達不能です"
|
314
314
|
|
315
|
-
msgid "A content view can be added by using the \"
|
315
|
+
msgid "A content view can be added by using the \"Create content view\" button above."
|
316
316
|
msgstr ""
|
317
317
|
|
318
318
|
msgid "A content_type must be provided."
|
File without changes
|
data/locale/katello.pot
CHANGED
@@ -9016,7 +9016,7 @@ msgid "You currently don't have any Content Views."
|
|
9016
9016
|
msgstr ""
|
9017
9017
|
|
9018
9018
|
#: ../webpack/scenes/ContentViews/Table/ContentViewsTable.js:141
|
9019
|
-
msgid "A content view can be added by using the \"
|
9019
|
+
msgid "A content view can be added by using the \"Create content view\" button above."
|
9020
9020
|
msgstr ""
|
9021
9021
|
|
9022
9022
|
#: ../webpack/scenes/ContentViews/Table/tableDataGenerator.js:15
|
data/locale/kn/katello.po
CHANGED
@@ -364,7 +364,7 @@ msgstr ""
|
|
364
364
|
msgid "A backend service [ %s ] is unreachable"
|
365
365
|
msgstr ""
|
366
366
|
|
367
|
-
msgid "A content view can be added by using the \"
|
367
|
+
msgid "A content view can be added by using the \"Create content view\" button above."
|
368
368
|
msgstr ""
|
369
369
|
|
370
370
|
#, fuzzy
|
File without changes
|
data/locale/ko/katello.po
CHANGED
@@ -302,7 +302,7 @@ msgstr ""
|
|
302
302
|
msgid "A backend service [ %s ] is unreachable"
|
303
303
|
msgstr "백엔드 서비스 [ %s ]를 사용할 수 없음 "
|
304
304
|
|
305
|
-
msgid "A content view can be added by using the \"
|
305
|
+
msgid "A content view can be added by using the \"Create content view\" button above."
|
306
306
|
msgstr ""
|
307
307
|
|
308
308
|
msgid "A content_type must be provided."
|
File without changes
|
data/locale/mr/katello.po
CHANGED
@@ -361,7 +361,7 @@ msgstr ""
|
|
361
361
|
msgid "A backend service [ %s ] is unreachable"
|
362
362
|
msgstr ""
|
363
363
|
|
364
|
-
msgid "A content view can be added by using the \"
|
364
|
+
msgid "A content view can be added by using the \"Create content view\" button above."
|
365
365
|
msgstr ""
|
366
366
|
|
367
367
|
#, fuzzy
|
File without changes
|
data/locale/or/katello.po
CHANGED
@@ -363,7 +363,7 @@ msgstr ""
|
|
363
363
|
msgid "A backend service [ %s ] is unreachable"
|
364
364
|
msgstr ""
|
365
365
|
|
366
|
-
msgid "A content view can be added by using the \"
|
366
|
+
msgid "A content view can be added by using the \"Create content view\" button above."
|
367
367
|
msgstr ""
|
368
368
|
|
369
369
|
#, fuzzy
|