katello 3.3.0.rc1.1 → 3.3.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/v2/content_view_filter_rules_controller.rb +2 -2
- data/app/controllers/katello/api/v2/content_view_filters_controller.rb +8 -1
- data/app/controllers/katello/api/v2/content_views_controller.rb +30 -7
- data/app/controllers/katello/api/v2/host_contents_controller.rb +1 -0
- data/app/controllers/katello/products_controller.rb +9 -10
- data/app/controllers/katello/providers_controller.rb +3 -2
- data/app/helpers/katello/hosts_and_hostgroups_helper.rb +48 -24
- data/app/lib/actions/katello/repository/clear.rb +2 -1
- data/app/lib/actions/katello/repository/clone_docker_content.rb +13 -7
- data/app/lib/actions/katello/repository/clone_to_environment.rb +1 -1
- data/app/lib/actions/katello/repository/clone_to_version.rb +1 -1
- data/app/lib/katello/util/docker_manifest_clause_generator.rb +44 -0
- data/app/lib/katello/util/package_filter.rb +24 -5
- data/app/models/katello/concerns/content_facet_host_extensions.rb +3 -1
- data/app/models/katello/concerns/host_managed_extensions.rb +0 -7
- data/app/models/katello/concerns/smart_proxy_extensions.rb +1 -1
- data/app/models/katello/content_view_docker_filter.rb +37 -0
- data/app/models/katello/content_view_docker_filter_rule.rb +23 -0
- data/app/models/katello/content_view_filter.rb +17 -4
- data/app/models/katello/content_view_puppet_environment.rb +6 -0
- data/app/models/katello/content_view_puppet_module.rb +5 -0
- data/app/models/katello/docker_manifest.rb +1 -1
- data/app/models/katello/glue/pulp/repo.rb +1 -1
- data/app/models/katello/host/content_facet.rb +2 -0
- data/app/views/dashboard/_content_views_widget.html.erb +1 -1
- data/app/views/dashboard/_subscription_status_widget.html.erb +1 -1
- data/app/views/dashboard/_subscription_widget.html.erb +1 -1
- data/app/views/foreman/job_templates/install_errata.erb +1 -1
- data/app/views/foreman/unattended/kickstart-katello-atomic.erb +10 -1
- data/app/views/foreman/unattended/kickstart-katello.erb +1 -1
- data/app/views/katello/api/v2/content_facet/base.json.rabl +5 -0
- data/app/views/katello/api/v2/content_facet/show.json.rabl +1 -1
- data/app/views/katello/api/v2/content_view_filters/base.json.rabl +5 -0
- data/app/views/katello/api/v2/docker_tags/show.json.rabl +1 -1
- data/app/views/katello/api/v2/gpg_keys/show.json.rabl +2 -4
- data/app/views/katello/providers/redhat/_repos.html.erb +4 -0
- data/app/views/overrides/activation_keys/_host_environment_select.html.erb +12 -10
- data/db/migrate/20160924213020_change_katello_widget_names.rb +21 -0
- data/db/migrate/20161102194100_create_content_view_docker_filter_rules.rb +13 -0
- data/db/migrate/20161214151548_move_content_source_id_to_content_facets.rb +38 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-details.html +11 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-view.factory.js +9 -10
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.controller.js +1 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.routes.js +349 -221
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-deletion.controller.js +5 -14
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-activation-keys.controller.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-confirm.controller.js +8 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-content-hosts.controller.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion.controller.js +5 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/content-view-deletion.html +12 -17
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-activation-keys.html +3 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-confirm.html +1 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-content-hosts.html +67 -71
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-environments.html +1 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-composite-available-content-views.controller.js +3 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-composite-content-views-list.controller.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite-available-content-views.html +19 -15
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite-content-views-list.html +65 -63
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite.html +4 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-docker-repositories.controller.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-file-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-ostree-repositories.controller.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-details.controller.js +8 -124
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-docker-repositories-list.controller.js +29 -20
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-file-repositories-list.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-ostree-repositories-list.controller.js +29 -20
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-promotion.controller.js +6 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-publish.controller.js +4 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-repositories-list.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-repositories.service.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-versions.controller.js +133 -25
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-errata-filter.controller.js +6 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-package-group-filter.controller.js +8 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/date-type-errata-filter.controller.js +6 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/edit-filter.controller.js +4 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/errata-filter-list.controller.js +6 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/errata-filter.controller.js +0 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-repositories.controller.js +11 -10
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filters.controller.js +11 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/new-filter.controller.js +7 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/package-filter.controller.js +8 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/package-group-list-filter.controller.js +6 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/date-type-errata-filter.html +1 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/edit-filter.html +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/errata-filter-details.html +16 -21
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/errata-filter.html +10 -10
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filter-details.html +5 -45
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filter-repositories.html +98 -104
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filters.html +12 -21
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/new-filter.html +53 -62
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-filter-details.html +187 -179
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-filter.html +26 -35
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-group-filter-details.html +10 -13
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-group-filter.html +8 -11
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/histories/content-view-history.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/histories/views/content-view-history.html +9 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-names.controller.js +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-versions.controller.js +15 -21
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-modules.controller.js +8 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-module-names.html +28 -41
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-module-versions.html +31 -28
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-modules.html +6 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-copy.html +18 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details-tasks.html +1 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details.html +133 -160
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-docker-repositories.html +40 -64
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-file-repositories.html +78 -110
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-info.html +29 -36
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-ostree-repositories.html +78 -110
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-promotion.html +1 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-publish.html +32 -36
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-repositories.html +93 -123
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-versions.html +71 -75
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/new/content-view-new.controller.js +2 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/new/views/content-view-new.html +16 -20
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version-content.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-components.html +3 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-docker.html +2 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-errata.html +39 -44
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-file.html +2 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-ostree-branches.html +2 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-package-groups.html +8 -13
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-packages.html +2 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-puppet-modules.html +2 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-yum.html +2 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version.html +60 -75
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/views/content-views.html +50 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/docker-tag-details.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-environments.html +9 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-content-views.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/details/views/gpg-key-details.html +3 -13
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-details.html +9 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +9 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-details.html +17 -13
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-modules-details-content-views.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-details.html +8 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/tasks-table.directive.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/tasks-index.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/tasks-table.html +35 -34
- data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/tasks.scss +0 -8
- data/lib/katello/engine.rb +7 -0
- data/lib/katello/plugin.rb +9 -8
- data/lib/katello/tasks/clean_published_repo_directories.rake +52 -0
- data/lib/katello/tasks/reimport.rake +2 -1
- data/lib/katello/tasks/upgrades/2.4/import_puppet_modules.rake +1 -0
- data/lib/katello/tasks/upgrades/3.0/update_subscription_facet_backend_data.rake +1 -1
- data/lib/katello/version.rb +1 -1
- metadata +11 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-breadcrumb.html +0 -18
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/package-group-filter.controller.js +0 -16
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/views/content-views-table-collapsed.html +0 -21
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/views/content-views-table-full.html +0 -46
@@ -7,14 +7,15 @@
|
|
7
7
|
* @requires Filter
|
8
8
|
* @requires Rule
|
9
9
|
* @requires Nutupane
|
10
|
+
* @requires GlobalNotification
|
10
11
|
*
|
11
12
|
* @description
|
12
13
|
* Handles fetching package groups that are available to add to a filter and saving
|
13
14
|
* each selected package group as a filter rule.
|
14
15
|
*/
|
15
16
|
angular.module('Bastion.content-views').controller('AvailablePackageGroupFilterController',
|
16
|
-
['$scope', 'translate', 'PackageGroup', 'Rule', 'Nutupane',
|
17
|
-
function ($scope, translate, PackageGroup, Rule, Nutupane) {
|
17
|
+
['$scope', 'translate', 'PackageGroup', 'Rule', 'Nutupane', 'GlobalNotification',
|
18
|
+
function ($scope, translate, PackageGroup, Rule, Nutupane, GlobalNotification) {
|
18
19
|
var nutupane;
|
19
20
|
|
20
21
|
nutupane = new Nutupane(
|
@@ -32,11 +33,13 @@ angular.module('Bastion.content-views').controller('AvailablePackageGroupFilterC
|
|
32
33
|
function success(rule) {
|
33
34
|
nutupane.removeRow(rule.uuid, 'uuid');
|
34
35
|
$scope.filter.rules.push(rule);
|
35
|
-
|
36
|
+
GlobalNotification.setSuccessMessage(translate('Package Group successfully added.'));
|
36
37
|
}
|
37
38
|
|
38
39
|
function failure(response) {
|
39
|
-
|
40
|
+
angular.forEach(response.data.displayMessage, function (error) {
|
41
|
+
GlobalNotification.setErrorMessage(error);
|
42
|
+
});
|
40
43
|
}
|
41
44
|
|
42
45
|
function saveRule(rule, filter) {
|
@@ -45,7 +48,7 @@ angular.module('Bastion.content-views').controller('AvailablePackageGroupFilterC
|
|
45
48
|
rule.$save(params, success, failure);
|
46
49
|
}
|
47
50
|
|
48
|
-
$scope.
|
51
|
+
$scope.table = nutupane.table;
|
49
52
|
nutupane.masterOnly = true;
|
50
53
|
nutupane.table.closeItem = function () {};
|
51
54
|
|
@@ -5,21 +5,24 @@
|
|
5
5
|
* @requires $scope
|
6
6
|
* @requires translate
|
7
7
|
* @requires Rule
|
8
|
+
* @requires GlobalNotification
|
8
9
|
*
|
9
10
|
* @description
|
10
11
|
* Handles creating an errata filter that allows specification of a start date, end date and/or
|
11
12
|
* set of errata types by which to dynamically filter.
|
12
13
|
*/
|
13
14
|
angular.module('Bastion.content-views').controller('DateTypeErrataFilterController',
|
14
|
-
['$scope', 'translate', 'Rule', function ($scope, translate, Rule) {
|
15
|
+
['$scope', 'translate', 'Rule', 'GlobalNotification', function ($scope, translate, Rule, GlobalNotification) {
|
15
16
|
|
16
17
|
function success() {
|
17
|
-
|
18
|
+
GlobalNotification.setSuccessMessage(translate('Updated errata filter - ' + $scope.filter.name));
|
18
19
|
}
|
19
20
|
|
20
21
|
function failure(response) {
|
21
22
|
$scope.rule.working = false;
|
22
|
-
|
23
|
+
angular.forEach(response.data.displayMessage, function (error) {
|
24
|
+
GlobalNotification.setErrorMessage(error);
|
25
|
+
});
|
23
26
|
}
|
24
27
|
|
25
28
|
$scope.filter.$promise.then(function (filter) {
|
@@ -5,29 +5,27 @@
|
|
5
5
|
* @requires $scope
|
6
6
|
* @requires $q
|
7
7
|
* @requires translate
|
8
|
+
* @requires GlobalNotification
|
8
9
|
*
|
9
10
|
* @description
|
10
11
|
* Provides functionality for editing name and description of content view filters.
|
11
12
|
*/
|
12
13
|
angular.module('Bastion.content-views').controller('FilterEditController',
|
13
|
-
['$scope', '$q', 'translate', function ($scope, $q, translate) {
|
14
|
-
$scope.successMessages = [];
|
15
|
-
$scope.errorMessages = [];
|
16
|
-
|
14
|
+
['$scope', '$q', 'translate', 'GlobalNotification', function ($scope, $q, translate, GlobalNotification) {
|
17
15
|
$scope.save = function (filter) {
|
18
16
|
var deferred = $q.defer();
|
19
17
|
var success;
|
20
18
|
var failure = function (response) {
|
21
19
|
deferred.reject(response);
|
22
20
|
angular.forEach(response.data.errors, function (errorMessage) {
|
23
|
-
|
21
|
+
GlobalNotification.setErrorMessage(translate("An error occurred saving the Filter: ") + errorMessage);
|
24
22
|
});
|
25
23
|
$scope.working = false;
|
26
24
|
};
|
27
25
|
|
28
26
|
success = function (response) {
|
29
27
|
deferred.resolve(response);
|
30
|
-
|
28
|
+
GlobalNotification.setSuccessMessage(translate('Filter Saved'));
|
31
29
|
$scope.working = false;
|
32
30
|
$scope.$emit('filter.updated');
|
33
31
|
};
|
@@ -7,14 +7,15 @@
|
|
7
7
|
* @requires Nutupane
|
8
8
|
* @requires Filter
|
9
9
|
* @requires Rule
|
10
|
+
* @requires GlobalNotification
|
10
11
|
*
|
11
12
|
* @description
|
12
13
|
* Handles displaying a list of errata currently added to the filter and the ability
|
13
14
|
* to remove errata from the filter.
|
14
15
|
*/
|
15
16
|
angular.module('Bastion.content-views').controller('ErrataFilterListController',
|
16
|
-
['$scope', 'translate', 'Nutupane', 'Erratum', 'Rule',
|
17
|
-
function ($scope, translate, Nutupane, Erratum, Rule) {
|
17
|
+
['$scope', 'translate', 'Nutupane', 'Erratum', 'Rule', 'GlobalNotification',
|
18
|
+
function ($scope, translate, Nutupane, Erratum, Rule, GlobalNotification) {
|
18
19
|
var nutupane;
|
19
20
|
|
20
21
|
function findRules(errataIds) {
|
@@ -40,11 +41,11 @@ angular.module('Bastion.content-views').controller('ErrataFilterListController',
|
|
40
41
|
$scope.filter.rules = _.reject($scope.filter.rules, function (filterRule) {
|
41
42
|
return rule.id === filterRule.id;
|
42
43
|
});
|
43
|
-
|
44
|
+
GlobalNotification.setSuccessMessage(translate('Errata successfully removed.'));
|
44
45
|
}
|
45
46
|
|
46
47
|
function failure(response) {
|
47
|
-
|
48
|
+
GlobalNotification.setErrorMessage(response.data.displayMessage);
|
48
49
|
}
|
49
50
|
|
50
51
|
$scope.nutupane = nutupane = new Nutupane(Erratum, {
|
@@ -55,7 +56,7 @@ angular.module('Bastion.content-views').controller('ErrataFilterListController',
|
|
55
56
|
'queryUnpaged'
|
56
57
|
);
|
57
58
|
|
58
|
-
$scope.
|
59
|
+
$scope.table = nutupane.table;
|
59
60
|
|
60
61
|
$scope.removeErrata = function () {
|
61
62
|
var errataIds = nutupane.getAllSelectedResults('errata_id').included.ids,
|
@@ -6,13 +6,14 @@
|
|
6
6
|
* @requires translate
|
7
7
|
* @requires Filter
|
8
8
|
* @requires ContentViewRepositoriesUtl
|
9
|
+
* @requires GlobalNotification
|
9
10
|
*
|
10
11
|
* @description
|
11
12
|
* Provides a way for users to select which repositories the filter applies to.
|
12
13
|
*/
|
13
14
|
angular.module('Bastion.content-views').controller('FilterRepositoriesController',
|
14
|
-
['$scope', 'translate', 'Filter', 'ContentViewRepositoriesUtil',
|
15
|
-
function ($scope, translate, Filter, ContentViewRepositoriesUtil) {
|
15
|
+
['$scope', 'translate', 'Filter', 'ContentViewRepositoriesUtil', 'GlobalNotification',
|
16
|
+
function ($scope, translate, Filter, ContentViewRepositoriesUtil, GlobalNotification) {
|
16
17
|
var refreshTable, success, error;
|
17
18
|
|
18
19
|
ContentViewRepositoriesUtil($scope);
|
@@ -35,31 +36,31 @@ angular.module('Bastion.content-views').controller('FilterRepositoriesController
|
|
35
36
|
});
|
36
37
|
}
|
37
38
|
|
38
|
-
$scope.
|
39
|
+
$scope.table.rows = displayedRepositories;
|
39
40
|
$scope.showRepos = filterRepositories.length !== 0;
|
40
41
|
};
|
41
42
|
|
42
43
|
success = function (filter) {
|
43
44
|
refreshTable(filter);
|
44
|
-
|
45
|
+
GlobalNotification.setSuccessMessage(translate('Affected repositories have been updated.'));
|
45
46
|
};
|
46
47
|
|
47
48
|
error = function (response) {
|
48
|
-
|
49
|
+
angular.forEach(response.errors, function (responseError) {
|
50
|
+
GlobalNotification.setErrorMessage(responseError);
|
51
|
+
});
|
49
52
|
};
|
50
53
|
|
51
|
-
$scope.successMessages = [];
|
52
|
-
$scope.errorMessages = [];
|
53
54
|
$scope.showRepos = false;
|
54
|
-
$scope.
|
55
|
+
$scope.table = {};
|
55
56
|
|
56
57
|
$scope.filter.$promise.then(refreshTable);
|
57
58
|
|
58
59
|
$scope.updateRepositories = function () {
|
59
|
-
var repositoryIds = _.map($scope.
|
60
|
+
var repositoryIds = _.map($scope.table.getSelected(), 'id');
|
60
61
|
|
61
62
|
if (repositoryIds.length === 0) {
|
62
|
-
|
63
|
+
GlobalNotification.setErrorMessage(translate('You must select at least one repository.'));
|
63
64
|
} else {
|
64
65
|
Filter.update({id: $scope.filter.id, 'repository_ids': repositoryIds}, success, error);
|
65
66
|
}
|
@@ -6,12 +6,13 @@
|
|
6
6
|
* @requires translate
|
7
7
|
* @requires Filter
|
8
8
|
* @requires Nutupane
|
9
|
+
* @requires GlobalNotification
|
9
10
|
*
|
10
11
|
* @description
|
11
12
|
* Handles loading all filters for a content view.
|
12
13
|
*/
|
13
14
|
angular.module('Bastion.content-views').controller('FiltersController',
|
14
|
-
['$scope', 'translate', 'Filter', 'Nutupane', function ($scope, translate, Filter, Nutupane) {
|
15
|
+
['$scope', 'translate', 'Filter', 'Nutupane', 'GlobalNotification', function ($scope, translate, Filter, Nutupane, GlobalNotification) {
|
15
16
|
var nutupane;
|
16
17
|
|
17
18
|
function removeFilter(id) {
|
@@ -19,21 +20,22 @@ angular.module('Bastion.content-views').controller('FiltersController',
|
|
19
20
|
|
20
21
|
success = function () {
|
21
22
|
nutupane.removeRow(id);
|
22
|
-
|
23
|
+
GlobalNotification.setSuccessMessage(translate('Filters successfully removed.'));
|
23
24
|
};
|
24
25
|
|
25
26
|
failure = function (response) {
|
26
|
-
|
27
|
+
GlobalNotification.setErrorMessage(response.data.displayMessage);
|
27
28
|
};
|
28
29
|
|
29
30
|
Filter.delete({filterId: id}, success, failure);
|
30
31
|
}
|
31
32
|
|
32
33
|
nutupane = new Nutupane(Filter, {
|
33
|
-
'content_view_id': $scope.$stateParams.contentViewId
|
34
|
+
'content_view_id': $scope.$stateParams.contentViewId,
|
35
|
+
'types[]': ["rpm", "package_group", "erratum"]
|
34
36
|
});
|
35
37
|
|
36
|
-
$scope.
|
38
|
+
$scope.table = nutupane.table;
|
37
39
|
|
38
40
|
$scope.$on('filter.created', function () {
|
39
41
|
nutupane.refresh();
|
@@ -56,16 +58,16 @@ angular.module('Bastion.content-views').controller('FiltersController',
|
|
56
58
|
|
57
59
|
switch (filter.type) {
|
58
60
|
case "erratum":
|
59
|
-
state = "content-
|
61
|
+
state = "content-view.filter.erratum.list({filterId: filter.id})";
|
60
62
|
if (filter.rules[0].types) {
|
61
|
-
state = "content-
|
63
|
+
state = "content-view.filter.erratum.dateType({filterId: filter.id})";
|
62
64
|
}
|
63
65
|
break;
|
64
66
|
case "rpm":
|
65
|
-
state = "content-
|
67
|
+
state = "content-view.filter.rpm({filterId: filter.id})";
|
66
68
|
break;
|
67
69
|
case "package_group":
|
68
|
-
state = "content-
|
70
|
+
state = "content-view.filter.package_group.list({filterId: filter.id})";
|
69
71
|
break;
|
70
72
|
}
|
71
73
|
|
@@ -5,24 +5,25 @@
|
|
5
5
|
* @requires $scope
|
6
6
|
* @requires Filter
|
7
7
|
* @requires Rule
|
8
|
+
* @requires GlobalNotification
|
8
9
|
*
|
9
10
|
* @description
|
10
11
|
*/
|
11
12
|
angular.module('Bastion.content-views').controller('NewFilterController',
|
12
|
-
['$scope', 'Filter', 'Rule', function ($scope, Filter, Rule) {
|
13
|
+
['$scope', 'Filter', 'Rule', 'GlobalNotification', function ($scope, Filter, Rule, GlobalNotification) {
|
13
14
|
var filterType;
|
14
15
|
|
15
16
|
function transitionToDetails(filter) {
|
16
17
|
var state = '';
|
17
18
|
|
18
19
|
if (filterType === 'erratumId') {
|
19
|
-
state = 'content-
|
20
|
+
state = 'content-view.filter.erratum.available';
|
20
21
|
} else if (filterType === 'erratumDateType') {
|
21
|
-
state = 'content-
|
22
|
+
state = 'content-view.filter.erratum.dateType';
|
22
23
|
} else if (filterType === 'rpm') {
|
23
|
-
state = 'content-
|
24
|
+
state = 'content-view.filter.rpm.details';
|
24
25
|
} else if (filterType === 'package_group') {
|
25
|
-
state = 'content-
|
26
|
+
state = 'content-view.filter.package_group.available';
|
26
27
|
}
|
27
28
|
|
28
29
|
$scope.$emit('filter.created');
|
@@ -40,7 +41,7 @@ angular.module('Bastion.content-views').controller('NewFilterController',
|
|
40
41
|
};
|
41
42
|
|
42
43
|
error = function (response) {
|
43
|
-
|
44
|
+
GlobalNotification.setErrorMessage(response.data.displayMessage);
|
44
45
|
};
|
45
46
|
|
46
47
|
rule.$save({filterId: filter.id}, addSuccess, error);
|
@@ -5,11 +5,13 @@
|
|
5
5
|
* @requires $scope
|
6
6
|
* @requires translate
|
7
7
|
* @requires Rule
|
8
|
+
* @requires Package
|
9
|
+
* @requires GlobalNotification
|
8
10
|
*
|
9
11
|
* @description
|
10
12
|
*/
|
11
13
|
angular.module('Bastion.content-views').controller('PackageFilterController',
|
12
|
-
['$scope', 'translate', 'Rule', 'Package', function ($scope, translate, Rule, Package) {
|
14
|
+
['$scope', 'translate', 'Rule', 'Package', 'GlobalNotification', function ($scope, translate, Rule, Package, GlobalNotification) {
|
13
15
|
|
14
16
|
function type(rule) {
|
15
17
|
var typeId;
|
@@ -30,7 +32,7 @@ angular.module('Bastion.content-views').controller('PackageFilterController',
|
|
30
32
|
}
|
31
33
|
|
32
34
|
function failure(response) {
|
33
|
-
|
35
|
+
GlobalNotification.setErrorMessage(response.data.displayMessage);
|
34
36
|
}
|
35
37
|
|
36
38
|
function addType(rules) {
|
@@ -50,7 +52,7 @@ angular.module('Bastion.content-views').controller('PackageFilterController',
|
|
50
52
|
$scope.filter.rules.splice(index, 1);
|
51
53
|
}
|
52
54
|
});
|
53
|
-
|
55
|
+
GlobalNotification.setSuccessMessage(translate('Package successfully removed.'));
|
54
56
|
};
|
55
57
|
|
56
58
|
Rule.delete({filterId: rule['content_view_filter_id'], ruleId: ruleId}, success, failure);
|
@@ -65,12 +67,9 @@ angular.module('Bastion.content-views').controller('PackageFilterController',
|
|
65
67
|
addType([rule]);
|
66
68
|
$scope.filter.rules.push(rule);
|
67
69
|
|
68
|
-
|
70
|
+
GlobalNotification.setSuccessMessage(translate('Package successfully added.'));
|
69
71
|
}
|
70
72
|
|
71
|
-
$scope.successMessages = [];
|
72
|
-
$scope.errorMessages = [];
|
73
|
-
|
74
73
|
$scope.rule = {
|
75
74
|
type: 'all',
|
76
75
|
editMode: false,
|
@@ -79,6 +78,7 @@ angular.module('Bastion.content-views').controller('PackageFilterController',
|
|
79
78
|
|
80
79
|
$scope.filter.$promise.then(function (filter) {
|
81
80
|
addType(filter.rules);
|
81
|
+
$scope.table = {rows: filter.rules};
|
82
82
|
});
|
83
83
|
|
84
84
|
$scope.addRule = function (rule, filter) {
|
@@ -96,7 +96,7 @@ angular.module('Bastion.content-views').controller('PackageFilterController',
|
|
96
96
|
rule.previous = {};
|
97
97
|
rule.editMode = false;
|
98
98
|
rule.working = false;
|
99
|
-
|
99
|
+
GlobalNotification.setSuccessMessage(translate('Package successfully updated.'));
|
100
100
|
};
|
101
101
|
|
102
102
|
error = function () {
|
@@ -7,14 +7,15 @@
|
|
7
7
|
* @requires Filter
|
8
8
|
* @requires Rule
|
9
9
|
* @requires Nutupane
|
10
|
+
* @requires GlobalNotification
|
10
11
|
*
|
11
12
|
* @description
|
12
13
|
* Handles loading package groups that have been added to the filter via filter rules
|
13
14
|
* and provides a method to remove them.
|
14
15
|
*/
|
15
16
|
angular.module('Bastion.content-views').controller('PackageGroupFilterListController',
|
16
|
-
['$scope', 'translate', 'PackageGroup', 'Rule', 'Nutupane',
|
17
|
-
function ($scope, translate, PackageGroup, Rule, Nutupane) {
|
17
|
+
['$scope', 'translate', 'PackageGroup', 'Rule', 'Nutupane', 'GlobalNotification',
|
18
|
+
function ($scope, translate, PackageGroup, Rule, Nutupane, GlobalNotification) {
|
18
19
|
var nutupane;
|
19
20
|
|
20
21
|
function success(rule) {
|
@@ -22,11 +23,11 @@ angular.module('Bastion.content-views').controller('PackageGroupFilterListContro
|
|
22
23
|
$scope.filter.rules = _.reject($scope.filter.rules, function (filterRule) {
|
23
24
|
return rule.id === filterRule.id;
|
24
25
|
});
|
25
|
-
|
26
|
+
GlobalNotification.setSuccessMessage(translate('Package Group successfully removed.'));
|
26
27
|
}
|
27
28
|
|
28
29
|
function failure(response) {
|
29
|
-
|
30
|
+
GlobalNotification.setErrorMessage(response.data.displayMessage);
|
30
31
|
}
|
31
32
|
|
32
33
|
function findRules(packageGroupIds) {
|
@@ -55,7 +56,7 @@ angular.module('Bastion.content-views').controller('PackageGroupFilterListContro
|
|
55
56
|
'queryUnpaged'
|
56
57
|
);
|
57
58
|
|
58
|
-
$scope.
|
59
|
+
$scope.table = nutupane.table;
|
59
60
|
nutupane.table.closeItem = function () {};
|
60
61
|
|
61
62
|
$scope.removePackageGroups = function () {
|
@@ -1,11 +1,9 @@
|
|
1
1
|
<form name="errataForm" class="col-sm-5">
|
2
|
-
<div data-block="messages" bst-alerts success-messages="successMessages" error-messages="errorMessages"></div>
|
3
2
|
<div ng-include="'content-views/details/filters/views/date-type-errata.html'"></div>
|
4
3
|
|
5
4
|
<div bst-form-buttons
|
6
|
-
on-cancel="transitionTo('content-
|
5
|
+
on-cancel="transitionTo('content-view.filters', {contentViewId: contentView.id})"
|
7
6
|
on-save="save(rule, filter)"
|
8
7
|
working="rule.working">
|
9
8
|
</div>
|
10
|
-
|
11
9
|
</form>
|
@@ -1,33 +1,29 @@
|
|
1
|
-
<div ng-if="isState('content-
|
2
|
-
<
|
3
|
-
<
|
4
|
-
|
5
|
-
</form>
|
6
|
-
</div>
|
1
|
+
<div ng-if="isState('content-view.filter.erratum.available')">
|
2
|
+
<form name="errataForm" class="col-sm-5">
|
3
|
+
<div ng-include="'content-views/details/filters/views/date-type-errata.html'"></div>
|
4
|
+
</form>
|
7
5
|
</div>
|
8
6
|
|
9
|
-
<div data-extend-template="layouts/
|
10
|
-
|
11
|
-
|
12
|
-
|
7
|
+
<div data-extend-template="layouts/partials/table.html">
|
8
|
+
<span data-block="no-rows-message" translate>
|
9
|
+
No Errata to display
|
10
|
+
</span>
|
13
11
|
|
14
12
|
<span data-block="no-search-results-message" translate>
|
15
13
|
Your search returned zero Errata.
|
16
14
|
</span>
|
17
15
|
|
18
|
-
<div data-block="actions">
|
19
|
-
<button class="btn btn-primary
|
20
|
-
ng-show="isState('content-
|
21
|
-
ng-disabled="
|
16
|
+
<div data-block="list-actions">
|
17
|
+
<button class="btn btn-primary"
|
18
|
+
ng-show="isState('content-view.filter.erratum.list') && permitted('edit_content_views', contentView)"
|
19
|
+
ng-disabled="table.working || table.numSelected === 0"
|
22
20
|
ng-click="removeErrata(contentView)">
|
23
|
-
<i class="fa fa-trash-o"></i>
|
24
21
|
<span translate>Remove Errata</span>
|
25
22
|
</button>
|
26
|
-
<button class="btn btn-primary
|
27
|
-
ng-show="isState('content-
|
28
|
-
ng-disabled="
|
23
|
+
<button class="btn btn-primary"
|
24
|
+
ng-show="isState('content-view.filter.erratum.available') && permitted('edit_content_views', contentView)"
|
25
|
+
ng-disabled="table.working || table.numSelected === 0"
|
29
26
|
ng-click="addErrata(filter)">
|
30
|
-
<i class="fa fa-plus"></i>
|
31
27
|
<span translate>Add Errata</span>
|
32
28
|
</button>
|
33
29
|
</div>
|
@@ -44,7 +40,7 @@
|
|
44
40
|
</thead>
|
45
41
|
|
46
42
|
<tbody>
|
47
|
-
<tr bst-table-row ng-repeat="errata in
|
43
|
+
<tr bst-table-row ng-repeat="errata in table.rows" row-select="errata">
|
48
44
|
<td bst-table-cell>{{ errata.errata_id }}</td>
|
49
45
|
<td bst-table-cell>
|
50
46
|
{{ errata.type }}
|
@@ -59,5 +55,4 @@
|
|
59
55
|
</tr>
|
60
56
|
</tbody>
|
61
57
|
</table>
|
62
|
-
|
63
58
|
</div>
|