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.

Files changed (155) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/katello/api/v2/content_view_filter_rules_controller.rb +2 -2
  3. data/app/controllers/katello/api/v2/content_view_filters_controller.rb +8 -1
  4. data/app/controllers/katello/api/v2/content_views_controller.rb +30 -7
  5. data/app/controllers/katello/api/v2/host_contents_controller.rb +1 -0
  6. data/app/controllers/katello/products_controller.rb +9 -10
  7. data/app/controllers/katello/providers_controller.rb +3 -2
  8. data/app/helpers/katello/hosts_and_hostgroups_helper.rb +48 -24
  9. data/app/lib/actions/katello/repository/clear.rb +2 -1
  10. data/app/lib/actions/katello/repository/clone_docker_content.rb +13 -7
  11. data/app/lib/actions/katello/repository/clone_to_environment.rb +1 -1
  12. data/app/lib/actions/katello/repository/clone_to_version.rb +1 -1
  13. data/app/lib/katello/util/docker_manifest_clause_generator.rb +44 -0
  14. data/app/lib/katello/util/package_filter.rb +24 -5
  15. data/app/models/katello/concerns/content_facet_host_extensions.rb +3 -1
  16. data/app/models/katello/concerns/host_managed_extensions.rb +0 -7
  17. data/app/models/katello/concerns/smart_proxy_extensions.rb +1 -1
  18. data/app/models/katello/content_view_docker_filter.rb +37 -0
  19. data/app/models/katello/content_view_docker_filter_rule.rb +23 -0
  20. data/app/models/katello/content_view_filter.rb +17 -4
  21. data/app/models/katello/content_view_puppet_environment.rb +6 -0
  22. data/app/models/katello/content_view_puppet_module.rb +5 -0
  23. data/app/models/katello/docker_manifest.rb +1 -1
  24. data/app/models/katello/glue/pulp/repo.rb +1 -1
  25. data/app/models/katello/host/content_facet.rb +2 -0
  26. data/app/views/dashboard/_content_views_widget.html.erb +1 -1
  27. data/app/views/dashboard/_subscription_status_widget.html.erb +1 -1
  28. data/app/views/dashboard/_subscription_widget.html.erb +1 -1
  29. data/app/views/foreman/job_templates/install_errata.erb +1 -1
  30. data/app/views/foreman/unattended/kickstart-katello-atomic.erb +10 -1
  31. data/app/views/foreman/unattended/kickstart-katello.erb +1 -1
  32. data/app/views/katello/api/v2/content_facet/base.json.rabl +5 -0
  33. data/app/views/katello/api/v2/content_facet/show.json.rabl +1 -1
  34. data/app/views/katello/api/v2/content_view_filters/base.json.rabl +5 -0
  35. data/app/views/katello/api/v2/docker_tags/show.json.rabl +1 -1
  36. data/app/views/katello/api/v2/gpg_keys/show.json.rabl +2 -4
  37. data/app/views/katello/providers/redhat/_repos.html.erb +4 -0
  38. data/app/views/overrides/activation_keys/_host_environment_select.html.erb +12 -10
  39. data/db/migrate/20160924213020_change_katello_widget_names.rb +21 -0
  40. data/db/migrate/20161102194100_create_content_view_docker_filter_rules.rb +13 -0
  41. data/db/migrate/20161214151548_move_content_source_id_to_content_facets.rb +38 -0
  42. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-details.html +11 -6
  43. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-view.factory.js +9 -10
  44. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.controller.js +1 -5
  45. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.routes.js +349 -221
  46. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-deletion.controller.js +5 -14
  47. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-activation-keys.controller.js +2 -2
  48. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-confirm.controller.js +8 -5
  49. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-content-hosts.controller.js +2 -2
  50. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion.controller.js +5 -5
  51. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/content-view-deletion.html +12 -17
  52. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-activation-keys.html +3 -5
  53. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-confirm.html +1 -3
  54. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-content-hosts.html +67 -71
  55. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-environments.html +1 -3
  56. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-composite-available-content-views.controller.js +3 -2
  57. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-composite-content-views-list.controller.js +2 -1
  58. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite-available-content-views.html +19 -15
  59. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite-content-views-list.html +65 -63
  60. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite.html +4 -4
  61. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-docker-repositories.controller.js +2 -2
  62. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-file-repositories.controller.js +1 -1
  63. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-ostree-repositories.controller.js +2 -2
  64. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-repositories.controller.js +1 -1
  65. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-details.controller.js +8 -124
  66. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-docker-repositories-list.controller.js +29 -20
  67. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-file-repositories-list.controller.js +1 -1
  68. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-ostree-repositories-list.controller.js +29 -20
  69. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-promotion.controller.js +6 -5
  70. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-publish.controller.js +4 -3
  71. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-repositories-list.controller.js +1 -1
  72. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-repositories.service.js +1 -1
  73. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-versions.controller.js +133 -25
  74. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-errata-filter.controller.js +6 -5
  75. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-package-group-filter.controller.js +8 -5
  76. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/date-type-errata-filter.controller.js +6 -3
  77. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/edit-filter.controller.js +4 -6
  78. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/errata-filter-list.controller.js +6 -5
  79. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/errata-filter.controller.js +0 -4
  80. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-repositories.controller.js +11 -10
  81. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filters.controller.js +11 -9
  82. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/new-filter.controller.js +7 -6
  83. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/package-filter.controller.js +8 -8
  84. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/package-group-list-filter.controller.js +6 -5
  85. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/date-type-errata-filter.html +1 -3
  86. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/edit-filter.html +0 -1
  87. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/errata-filter-details.html +16 -21
  88. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/errata-filter.html +10 -10
  89. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filter-details.html +5 -45
  90. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filter-repositories.html +98 -104
  91. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filters.html +12 -21
  92. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/new-filter.html +53 -62
  93. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-filter-details.html +187 -179
  94. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-filter.html +26 -35
  95. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-group-filter-details.html +10 -13
  96. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-group-filter.html +8 -11
  97. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/histories/content-view-history.controller.js +1 -1
  98. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/histories/views/content-view-history.html +9 -7
  99. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-names.controller.js +3 -3
  100. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-versions.controller.js +15 -21
  101. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-modules.controller.js +8 -9
  102. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-module-names.html +28 -41
  103. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-module-versions.html +31 -28
  104. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-modules.html +6 -9
  105. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-copy.html +18 -0
  106. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details-tasks.html +1 -3
  107. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details.html +133 -160
  108. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-docker-repositories.html +40 -64
  109. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-file-repositories.html +78 -110
  110. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-info.html +29 -36
  111. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-ostree-repositories.html +78 -110
  112. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-promotion.html +1 -7
  113. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-publish.html +32 -36
  114. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-repositories.html +93 -123
  115. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-versions.html +71 -75
  116. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/new/content-view-new.controller.js +2 -3
  117. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/new/views/content-view-new.html +16 -20
  118. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version-content.controller.js +1 -1
  119. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-components.html +3 -9
  120. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-docker.html +2 -7
  121. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-errata.html +39 -44
  122. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-file.html +2 -7
  123. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-ostree-branches.html +2 -6
  124. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-package-groups.html +8 -13
  125. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-packages.html +2 -7
  126. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-puppet-modules.html +2 -7
  127. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-yum.html +2 -7
  128. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version.html +60 -75
  129. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/views/content-views.html +50 -5
  130. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/docker-tag-details.controller.js +1 -1
  131. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-environments.html +9 -1
  132. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-content-views.html +1 -1
  133. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +2 -2
  134. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/details/views/gpg-key-details.html +3 -13
  135. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-details.html +9 -4
  136. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +9 -3
  137. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-details.html +17 -13
  138. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-modules-details-content-views.html +1 -1
  139. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-details.html +8 -3
  140. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/tasks-table.directive.js +2 -2
  141. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/tasks-index.html +1 -1
  142. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/tasks-table.html +35 -34
  143. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/tasks.scss +0 -8
  144. data/lib/katello/engine.rb +7 -0
  145. data/lib/katello/plugin.rb +9 -8
  146. data/lib/katello/tasks/clean_published_repo_directories.rake +52 -0
  147. data/lib/katello/tasks/reimport.rake +2 -1
  148. data/lib/katello/tasks/upgrades/2.4/import_puppet_modules.rake +1 -0
  149. data/lib/katello/tasks/upgrades/3.0/update_subscription_facet_backend_data.rake +1 -1
  150. data/lib/katello/version.rb +1 -1
  151. metadata +11 -7
  152. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-breadcrumb.html +0 -18
  153. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/package-group-filter.controller.js +0 -16
  154. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/views/content-views-table-collapsed.html +0 -21
  155. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/views/content-views-table-full.html +0 -46
@@ -4,39 +4,29 @@
4
4
  *
5
5
  * @requires $scope
6
6
  * @requires ContentView
7
+ * @requires GlobalNotification
7
8
  *
8
9
  * @description
9
10
  * Provides the functionality for deleting Content Views
10
11
  */
11
12
  angular.module('Bastion.content-views').controller('ContentViewDeletionController',
12
- ['$scope', 'ContentView', function ($scope, ContentView) {
13
+ ['$scope', 'ContentView', 'GlobalNotification', function ($scope, ContentView, GlobalNotification) {
13
14
 
14
15
  function success() {
15
- $scope.removeRow($scope.contentView.id);
16
- $scope.transitionTo('content-views.index');
16
+ $scope.transitionTo('content-views');
17
17
  $scope.working = false;
18
18
  }
19
19
 
20
20
  function failure(response) {
21
- $scope.$parent.errorMessages = [response.data.displayMessage];
21
+ GlobalNotification.setErrorMessage(response.data.displayMessage);
22
22
  $scope.working = false;
23
23
  }
24
24
 
25
- if (angular.isUndefined($scope.versions)) {
26
- $scope.reloadVersions();
27
- }
28
-
29
25
  $scope.delete = function () {
30
26
  $scope.working = true;
31
27
  ContentView.remove({id: $scope.contentView.id}, success, failure);
32
28
  };
33
29
 
34
- $scope.conflictingVersions = function () {
35
- return _.reject($scope.versions, function (version) {
36
- return version.environments.length === 0;
37
- });
38
- };
39
-
40
30
  $scope.environmentNames = function (version) {
41
31
  return _.map($scope.readableEnvironments(version), 'name');
42
32
  };
@@ -47,5 +37,6 @@ angular.module('Bastion.content-views').controller('ContentViewDeletionControlle
47
37
  });
48
38
  };
49
39
 
40
+ $scope.conflictingVersions = ContentView.conflictingVersions({id: $scope.$stateParams.contentViewId});
50
41
  }]
51
42
  );
@@ -43,8 +43,8 @@ angular.module('Bastion.content-views').controller('ContentViewVersionDeletionAc
43
43
  return term + " AND " + addition;
44
44
  };
45
45
 
46
- $scope.detailsTable = nutupane.table;
47
- $scope.detailsTable.closeItem = function () {};
46
+ $scope.table = nutupane.table;
47
+ $scope.table.closeItem = function () {};
48
48
 
49
49
  $scope.environments = Organization.readableEnvironments({id: CurrentOrganization});
50
50
  $scope.initEnvironmentWatch($scope);
@@ -5,14 +5,15 @@
5
5
  * @requires $scope
6
6
  * @requires ContentView
7
7
  * @requires translate
8
+ * @requires GlobalNotification
8
9
  *
9
10
  * @description
10
11
  * Provides the confirmation and submit code for the content view version deletion
11
12
  * workflow
12
13
  */
13
14
  angular.module('Bastion.content-views').controller('ContentViewVersionDeletionConfirmController',
14
- ['$scope', 'ContentView', 'translate',
15
- function ($scope, ContentView, translate) {
15
+ ['$scope', 'ContentView', 'translate', 'GlobalNotification',
16
+ function ($scope, ContentView, translate, GlobalNotification) {
16
17
 
17
18
  function success() {
18
19
  var message = translate('Successfully initiated removal of %cv version %ver.');
@@ -22,13 +23,15 @@ angular.module('Bastion.content-views').controller('ContentViewVersionDeletionCo
22
23
  }
23
24
 
24
25
  message = message.replace('%cv', $scope.contentView.name).replace('%ver', $scope.version.version);
25
- $scope.successMessages.push(message);
26
- $scope.transitionTo('content-views.details.versions', {contentViewId: $scope.contentView.id});
26
+ GlobalNotification.setSuccessMessage(message);
27
+ $scope.transitionTo('content-view.versions', {contentViewId: $scope.contentView.id});
27
28
  }
28
29
 
29
30
  function error(response) {
30
31
  $scope.deleting = false;
31
- $scope.$parent.$parent.errorMessages = response.data.errors;
32
+ angular.forEach(response.data.errors, function (responseError) {
33
+ GlobalNotification.setErrorMessage(responseError);
34
+ });
32
35
  }
33
36
 
34
37
  $scope.validateEnvironmentSelection();
@@ -43,8 +43,8 @@ angular.module('Bastion.content-views').controller('ContentViewVersionDeletionCo
43
43
 
44
44
  return term + " AND " + addition;
45
45
  };
46
- $scope.detailsTable = nutupane.table;
47
- $scope.detailsTable.closeItem = function () {};
46
+ $scope.table = nutupane.table;
47
+ $scope.table.closeItem = function () {};
48
48
 
49
49
  $scope.environments = Organization.readableEnvironments({id: CurrentOrganization});
50
50
  $scope.initEnvironmentWatch($scope);
@@ -19,10 +19,10 @@ angular.module('Bastion.content-views').controller('ContentViewVersionDeletionCo
19
19
  $scope.version = ContentViewVersion.get({id: $scope.$stateParams.versionId});
20
20
 
21
21
  $scope.stepStates = {
22
- environments: 'content-views.details.version-deletion.environments',
23
- activationKeys: 'content-views.details.version-deletion.activation-keys',
24
- contentHosts: 'content-views.details.version-deletion.content-hosts',
25
- confirm: 'content-views.details.version-deletion.confirm'
22
+ environments: 'content-view.version-deletion.environments',
23
+ activationKeys: 'content-view.version-deletion.activation-keys',
24
+ contentHosts: 'content-view.version-deletion.content-hosts',
25
+ confirm: 'content-view.version-deletion.confirm'
26
26
  };
27
27
 
28
28
  if (angular.isUndefined($scope.deleteOptions)) {
@@ -92,7 +92,7 @@ angular.module('Bastion.content-views').controller('ContentViewVersionDeletionCo
92
92
 
93
93
  $scope.validateEnvironmentSelection = function () {
94
94
  if (!$scope.deleteOptions.deleteArchive && $scope.deleteOptions.environments.length === 0) {
95
- $scope.transitionTo("content-views.details.version-deletion.environments",
95
+ $scope.transitionTo("content-view.version-deletion.environments",
96
96
  {contentViewId: $scope.$stateParams.contentViewId, versionId: $scope.$stateParams.versionId});
97
97
  }
98
98
  };
@@ -3,15 +3,14 @@
3
3
  <div>
4
4
  <h3 translate>Remove {{ contentView.name }}</h3>
5
5
 
6
- <div ng-show="conflictingVersions().length > 0">
6
+ <div ng-show="conflictingVersions.length > 0">
7
7
  <i class="fa fa-warning"></i>
8
8
  <span translate>
9
9
  {{ contentView.name }} cannot be deleted as one or more Content View Versions are still promoted to a Lifecycle Environment.
10
10
  Each Content View Version must be removed from their Lifecycle Environments before the Content View can be deleted.
11
11
  </span>
12
12
 
13
- <br/><br/>
14
- <table class="table table-striped table-bordered" bst-table="table">
13
+ <table class="table table-striped table-bordered">
15
14
  <thead>
16
15
  <tr>
17
16
  <th translate>Version</th>
@@ -20,13 +19,12 @@
20
19
  </tr>
21
20
  </thead>
22
21
  <tbody>
23
- <tr ng-repeat="version in conflictingVersions()">
22
+ <tr ng-repeat="version in conflictingVersions">
24
23
  <td>{{ version.version }}</td>
25
24
  <td>{{ environmentNames(version).join(', ') }}</td>
26
25
  <td>
27
- <a ui-sref="content-views.details.version-deletion.environments({contentViewId: contentView.id, versionId: version.id})" ng-show="version.permissions.deletable">
26
+ <a ui-sref="content-view.version-deletion.environments({contentViewId: contentView.id, versionId: version.id})" ng-show="version.permissions.deletable">
28
27
  <button class="btn btn-default">
29
- <i class="fa fa-trash-o-o"></i>
30
28
  <span translate>Remove Version</span>
31
29
  </button>
32
30
  </a>
@@ -36,7 +34,7 @@
36
34
  </table>
37
35
  </div>
38
36
 
39
- <div class="details" ng-show="conflictingVersions().length === 0">
37
+ <div class="details" ng-show="conflictingVersions.length === 0">
40
38
  <p translate>
41
39
  Are you sure you want to remove Content View "{{ contentView.name }}"?
42
40
  </p>
@@ -48,16 +46,13 @@
48
46
  </span>
49
47
  </div>
50
48
 
51
- <br/><br/>
52
- <div class="fr">
53
- <button ng-disabled="working" class="btn-danger btn-lg" ng-click="delete()" >
54
- <i class="fa fa-spinner fa-spin" ng-show="working"></i>
55
- <span translate>Remove</span>
56
- </button>
49
+ <button ng-disabled="working" class="btn btn-danger" ng-click="delete()" >
50
+ <i class="fa fa-spinner fa-spin" ng-show="working"></i>
51
+ <span translate>Remove</span>
52
+ </button>
57
53
 
58
- <a ui-sref="content-views.details.versions" ng-disabled="working" class="btn btn-default btn-lg" translate role="button">
59
- Cancel
60
- </a>
61
- </div>
54
+ <a ui-sref="content-view.versions" ng-disabled="working" class="btn btn-default" translate role="button">
55
+ Cancel
56
+ </a>
62
57
  </div>
63
58
  </div>
@@ -3,8 +3,6 @@
3
3
  <section class="details details-full">
4
4
  <h3 translate>Activation Keys using Version {{ version.version }}</h3>
5
5
 
6
- <div data-extend-template="content-views/deletion/views/version-deletion-breadcrumb.html"></div>
7
-
8
6
  <p translate>
9
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.
10
8
  </p>
@@ -47,7 +45,7 @@
47
45
  </div>
48
46
 
49
47
  <div class="fr">
50
- <a ui-sref="content-views.details.versions({contentViewId: contentView.id})" >
48
+ <a ui-sref="content-view.versions({contentViewId: contentView.id})" >
51
49
  <button class="btn btn-default" translate>
52
50
  Cancel
53
51
  </button>
@@ -68,7 +66,7 @@
68
66
  </a>
69
67
 
70
68
  <div ng-show="showKeys">
71
- <div data-extend-template="layouts/details-nutupane.html">
69
+ <div data-extend-template="layouts/partials/table.html">
72
70
  <h5 translate>Affected Activation Keys</h5>
73
71
 
74
72
  <div data-block="selection-summary"></div>
@@ -82,7 +80,7 @@
82
80
  </thead>
83
81
 
84
82
  <tbody>
85
- <tr bst-table-row ng-repeat="key in detailsTable.rows">
83
+ <tr bst-table-row ng-repeat="key in table.rows">
86
84
  <td bst-table-cell>
87
85
  {{ key.name }}
88
86
  </td>
@@ -3,8 +3,6 @@
3
3
  <section class="details details-full">
4
4
  <h3 translate>Confirm Version Removal: Version {{ version.version }}</h3>
5
5
 
6
- <div data-extend-template="content-views/deletion/views/version-deletion-breadcrumb.html"></div>
7
-
8
6
  <div class="details">
9
7
 
10
8
  <div ng-hide="deleteOptions.environments.length === 0">
@@ -62,7 +60,7 @@
62
60
  </div>
63
61
 
64
62
  <div class="fr">
65
- <a ui-sref="content-views.details.versions({contentViewId: contentView.id})" >
63
+ <a ui-sref="content-view.versions({contentViewId: contentView.id})" >
66
64
  <button class="btn btn-default" ng-disabled="deleting" translate>
67
65
  Cancel
68
66
  </button>
@@ -1,89 +1,85 @@
1
1
  <span page-title ng-model="version">{{ "Remove Version" | translate }} {{ version.version }}</span>
2
2
 
3
- <section class="details details-full">
4
- <h3 translate>Content Hosts using Version {{ version.version }}</h3>
3
+ <section class="details details-full">
4
+ <h3 translate>Content Hosts using Version {{ version.version }}</h3>
5
5
 
6
- <div data-extend-template="content-views/deletion/views/version-deletion-breadcrumb.html"></div>
6
+ <p translate>
7
+ The Content Hosts listed below are currently using this Content View Version. Before removing the version you must move these Content Hosts to an environment where this version is not in use.
8
+ </p>
7
9
 
8
- <p translate>
9
- The Content Hosts listed below are currently using this Content View Version. Before removing the version you must move these Content Hosts to an environment where this version is not in use.
10
- </p>
10
+ <p translate>
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
+ </p>
13
+
14
+ <div class="details">
11
15
 
12
16
  <p translate>
13
- 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.
17
+ Please select a Lifecycle Environment and Content View to move these Content Hosts to:
14
18
  </p>
15
19
 
16
- <div class="details">
17
-
18
- <p translate>
19
- Please select a Lifecycle Environment and Content View to move these Content Hosts to:
20
- </p>
20
+ <div path-selector="environments"
21
+ ng-model="selectedEnvironment"
22
+ mode="singleSelect"></div>
21
23
 
22
- <div path-selector="environments"
23
- ng-model="selectedEnvironment"
24
- mode="singleSelect"></div>
25
-
26
- <div>
27
- <span translate>Content View:</span>
28
- <select ng-show="!fetchingViews && selectedEnvironment && contentViewsForEnvironment.length > 0"
29
- ng-options="cv.id as cv.name for cv in contentViewsForEnvironment"
30
- ng-model="selectedContentViewId"></select>
31
- <i ng-show="fetchingViews" class="fa fa-spinner fa-spin"></i>
32
- <span translate ng-hide="selectedEnvironment">
33
- Please select an environment.
34
- </span>
35
- <span translate ng-show="!fetchingViews && selectedEnvironment && contentViewsForEnvironment.length === 0">
36
- No Content Views available, please select another environment.
37
- </span>
38
- </div>
24
+ <div>
25
+ <span translate>Content View:</span>
26
+ <select ng-show="!fetchingViews && selectedEnvironment && contentViewsForEnvironment.length > 0"
27
+ ng-options="cv.id as cv.name for cv in contentViewsForEnvironment"
28
+ ng-model="selectedContentViewId"></select>
29
+ <i ng-show="fetchingViews" class="fa fa-spinner fa-spin"></i>
30
+ <span translate ng-hide="selectedEnvironment">
31
+ Please select an environment.
32
+ </span>
33
+ <span translate ng-show="!fetchingViews && selectedEnvironment && contentViewsForEnvironment.length === 0">
34
+ No Content Views available, please select another environment.
35
+ </span>
36
+ </div>
39
37
 
40
- <div class="fr">
41
- <a ui-sref="content-views.details.versions({contentViewId: contentView.id})" >
42
- <button class="btn btn-default" translate>
43
- Cancel
44
- </button>
45
- </a>
46
- <button class="btn btn-default" ng-click="transitionBack()" translate>
47
- Back
38
+ <div class="fr">
39
+ <a ui-sref="content-view.versions({contentViewId: contentView.id})" >
40
+ <button class="btn btn-default" translate>
41
+ Cancel
48
42
  </button>
49
- <button class="btn btn-primary" ng-click="processSelection()" ng-disabled="selectedContentViewId === undefined" translate>
50
- Next
51
- </button>
52
- </div>
43
+ </a>
44
+ <button class="btn btn-default" ng-click="transitionBack()" translate>
45
+ Back
46
+ </button>
47
+ <button class="btn btn-primary" ng-click="processSelection()" ng-disabled="selectedContentViewId === undefined" translate>
48
+ Next
49
+ </button>
53
50
  </div>
51
+ </div>
54
52
 
55
- <br/><br/>
56
- <a ng-click="toggleHosts()">
57
- <p ng-show="!showHosts" translate>Show affected Content Hosts</p>
58
- <p ng-show="showHosts" translate>Hide affected Content Hosts</p>
59
- </a>
53
+ <br/><br/>
54
+ <a ng-click="toggleHosts()">
55
+ <p ng-show="!showHosts" translate>Show affected Content Hosts</p>
56
+ <p ng-show="showHosts" translate>Hide affected Content Hosts</p>
57
+ </a>
60
58
 
61
- <div ng-show="showHosts">
62
- <div data-extend-template="layouts/details-nutupane.html">
63
- <h5 translate>Affected Content Hosts</h5>
59
+ <div ng-show="showHosts">
60
+ <div data-extend-template="layouts/partials/table.html">
61
+ <h5 translate>Affected Content Hosts</h5>
64
62
 
65
- <div data-block="selection-summary"></div>
66
63
 
67
- <table data-block="table" class="table table-striped table-bordered">
68
- <thead>
69
- <tr bst-table-head>
70
- <th bst-table-column="name"><span translate>Name</span></th>
71
- <th bst-table-column="name"><span translate>Lifecycle Environment</span></th>
72
- </tr>
73
- </thead>
64
+ <table data-block="table" class="table table-striped table-bordered">
65
+ <thead>
66
+ <tr bst-table-head>
67
+ <th bst-table-column="name"><span translate>Name</span></th>
68
+ <th bst-table-column="name"><span translate>Lifecycle Environment</span></th>
69
+ </tr>
70
+ </thead>
74
71
 
75
- <tbody>
76
- <tr bst-table-row ng-repeat="host in detailsTable.rows">
77
- <td bst-table-cell>
78
- {{ host.name }}
79
- </td>
80
- <td bst-table-cell>
81
- {{ host.content_facet_attributes.lifecycle_environment_name }}
82
- </td>
83
- </tr>
84
- </tbody>
85
- </table>
86
- </div>
72
+ <tbody>
73
+ <tr bst-table-row ng-repeat="host in table.rows">
74
+ <td bst-table-cell>
75
+ {{ host.name }}
76
+ </td>
77
+ <td bst-table-cell>
78
+ {{ host.content_facet_attributes.lifecycle_environment_name }}
79
+ </td>
80
+ </tr>
81
+ </tbody>
82
+ </table>
87
83
  </div>
88
-
89
- </section>
84
+ </div>
85
+ </section>
@@ -4,8 +4,6 @@
4
4
 
5
5
  <h3 translate>Delete Version {{ version.version }}</h3>
6
6
 
7
- <div data-extend-template="content-views/deletion/views/version-deletion-breadcrumb.html"></div>
8
-
9
7
  <div class="details details-full">
10
8
  <div bst-alert="warning" ng-hide="allSelectable()">
11
9
  <span translate> This Version cannot be deleted from some of the Lifecycle Environments due to one of the reasons below.</span>
@@ -60,7 +58,7 @@
60
58
 
61
59
  <br/>
62
60
  <div class="fr">
63
- <a ui-sref="content-views.details.versions({contentViewId: contentView.id})" >
61
+ <a ui-sref="content-view.versions({contentViewId: contentView.id})" >
64
62
  <button class="btn btn-default" translate>
65
63
  Cancel
66
64
  </button>
@@ -24,8 +24,9 @@ angular.module('Bastion.content-views').controller('ContentViewCompositeAvailabl
24
24
  };
25
25
 
26
26
  nutupane = new Nutupane(ContentView, params);
27
+ nutupane.masterOnly = true;
27
28
  nutupane.table.initialLoad = false;
28
- $scope.detailsTable = nutupane.table;
29
+ $scope.table = nutupane.table;
29
30
 
30
31
  $scope.contentView.$promise.then(function (contentView) {
31
32
  var filterIds = [];
@@ -44,7 +45,7 @@ angular.module('Bastion.content-views').controller('ContentViewCompositeAvailabl
44
45
 
45
46
  $scope.addContentViews = function () {
46
47
  var selectedRows = nutupane.getAllSelectedResults().included.resources,
47
- components = [];
48
+ components;
48
49
  components = _.map(selectedRows, function (view) {
49
50
  var component = {};
50
51
  if ((!view.versionId) || view.versionId === "latest") {