From 4da595a071829d1046f921e402f3978eeca15d93 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 9 Mar 2022 18:08:16 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .../access_tokens/components/expires_at_field.vue | 43 ++++++++--- app/assets/javascripts/access_tokens/index.js | 2 + .../components/details_page/details_header.vue | 14 +++- ...get_container_repository_metadata.query.graphql | 7 ++ ...t_container_repository_tags_count.query.graphql | 6 -- .../components/training_provider_list.vue | 17 ++++- .../filtered_search_bar/tokens/base_token.vue | 2 +- app/helpers/access_tokens_helper.rb | 6 ++ app/helpers/container_registry_helper.rb | 3 +- .../integrations/has_issue_tracker_fields.rb | 30 ++++++++ app/models/integration.rb | 38 +++++++-- app/models/integrations/base_issue_tracker.rb | 12 --- app/models/integrations/bugzilla.rb | 2 + app/models/integrations/custom_issue_tracker.rb | 2 + app/models/integrations/ewm.rb | 2 + app/models/integrations/field.rb | 42 ++++++++++ app/models/integrations/jira.rb | 89 ++++++++++------------ app/models/integrations/redmine.rb | 2 + app/models/integrations/youtrack.rb | 2 + .../container_repository/cleanup_tags_service.rb | 2 +- .../gitlab/delete_tags_service.rb | 2 +- app/views/groups/_shared_projects.html.haml | 3 +- app/views/shared/access_tokens/_form.html.haml | 11 +-- .../cleanup_container_repository_worker.rb | 2 +- app/workers/container_expiration_policy_worker.rb | 2 +- 25 files changed, 239 insertions(+), 104 deletions(-) create mode 100644 app/assets/javascripts/packages_and_registries/container_registry/explorer/graphql/queries/get_container_repository_metadata.query.graphql delete mode 100644 app/assets/javascripts/packages_and_registries/container_registry/explorer/graphql/queries/get_container_repository_tags_count.query.graphql create mode 100644 app/models/concerns/integrations/has_issue_tracker_fields.rb create mode 100644 app/models/integrations/field.rb (limited to 'app') diff --git a/app/assets/javascripts/access_tokens/components/expires_at_field.vue b/app/assets/javascripts/access_tokens/components/expires_at_field.vue index 1fec186f2fa..561b2617c5f 100644 --- a/app/assets/javascripts/access_tokens/components/expires_at_field.vue +++ b/app/assets/javascripts/access_tokens/components/expires_at_field.vue @@ -1,15 +1,31 @@ diff --git a/app/assets/javascripts/access_tokens/index.js b/app/assets/javascripts/access_tokens/index.js index 9a1e7d877f8..c59bd445539 100644 --- a/app/assets/javascripts/access_tokens/index.js +++ b/app/assets/javascripts/access_tokens/index.js @@ -17,6 +17,7 @@ export const initExpiresAtField = () => { } const { expiresAt: inputAttrs } = parseRailsFormFields(el); + const { maxDate } = el.dataset; return new Vue({ el, @@ -24,6 +25,7 @@ export const initExpiresAtField = () => { return h(ExpiresAtField, { props: { inputAttrs, + maxDate: maxDate ? new Date(maxDate) : undefined, }, }); }, diff --git a/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/details_header.vue b/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/details_header.vue index 29c181f04fb..ab0418388cd 100644 --- a/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/details_header.vue +++ b/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/details_header.vue @@ -4,6 +4,7 @@ import { sprintf, n__, s__ } from '~/locale'; import MetadataItem from '~/vue_shared/components/registry/metadata_item.vue'; import TitleArea from '~/vue_shared/components/registry/title_area.vue'; import timeagoMixin from '~/vue_shared/mixins/timeago'; +import { numberToHumanSize } from '~/lib/utils/number_utils'; import { UPDATED_AT, CLEANUP_UNSCHEDULED_TEXT, @@ -23,7 +24,7 @@ import { ROOT_IMAGE_TOOLTIP, } from '../../constants/index'; -import getContainerRepositoryTagsCountQuery from '../../graphql/queries/get_container_repository_tags_count.query.graphql'; +import getContainerRepositoryMetadata from '../../graphql/queries/get_container_repository_metadata.query.graphql'; export default { name: 'DetailsHeader', @@ -50,7 +51,7 @@ export default { }, apollo: { containerRepository: { - query: getContainerRepositoryTagsCountQuery, + query: getContainerRepositoryMetadata, variables() { return { id: this.image.id, @@ -101,6 +102,10 @@ export default { imageName() { return this.imageDetails.name || ROOT_IMAGE_TEXT; }, + formattedSize() { + const { size } = this.imageDetails; + return size ? numberToHumanSize(Number(size)) : null; + }, }, }; @@ -119,10 +124,15 @@ export default { :aria-label="rootImageTooltip" /> + + +