diff --git a/app/assets/javascripts/groups/components/group_item.vue b/app/assets/javascripts/groups/components/group_item.vue index 3cc62cf124c1923e389329017b72d24835d98824..ad0b27c969379021b50e7fac7dcd239445d2b153 100644 --- a/app/assets/javascripts/groups/components/group_item.vue +++ b/app/assets/javascripts/groups/components/group_item.vue @@ -178,7 +178,7 @@ export default { </div> </div> <div v-if="isGroupPendingRemoval"> - <gl-badge variant="warning">{{ __('pending removal') }}</gl-badge> + <gl-badge variant="warning">{{ __('pending deletion') }}</gl-badge> </div> <div class="metadata d-flex flex-grow-1 flex-shrink-0 flex-wrap justify-content-md-between"> <item-actions diff --git a/app/assets/javascripts/groups/components/item_stats.vue b/app/assets/javascripts/groups/components/item_stats.vue index e09df8a5d262997d3ce4acd400f16ffe4b68216f..7a37d1eb93d894f8499b461303da74910cfbc67d 100644 --- a/app/assets/javascripts/groups/components/item_stats.vue +++ b/app/assets/javascripts/groups/components/item_stats.vue @@ -73,7 +73,7 @@ export default { icon-name="star" /> <div v-if="isProjectPendingRemoval"> - <gl-badge variant="warning">{{ __('pending removal') }}</gl-badge> + <gl-badge variant="warning">{{ __('pending deletion') }}</gl-badge> </div> <div v-if="isProject" class="last-updated"> <time-ago-tooltip :time="item.updatedAt" tooltip-placement="bottom" /> diff --git a/app/assets/javascripts/pages/projects/forks/new/components/fork_groups_list_item.vue b/app/assets/javascripts/pages/projects/forks/new/components/fork_groups_list_item.vue index 88f4bba5e2a95e37f94c21533bf1af0c0ad5c6da..d41488acf4631900f28b7fcdad7e1be2316bab48 100644 --- a/app/assets/javascripts/pages/projects/forks/new/components/fork_groups_list_item.vue +++ b/app/assets/javascripts/pages/projects/forks/new/components/fork_groups_list_item.vue @@ -101,7 +101,7 @@ export default { v-if="isGroupPendingRemoval" variant="warning" class="gl-display-none gl-sm-display-flex gl-mt-3 gl-mr-1" - >{{ __('pending removal') }}</gl-badge + >{{ __('pending deletion') }}</gl-badge > <user-access-role-badge v-if="group.permission" class="gl-mt-3"> {{ group.permission }} diff --git a/doc/user/project/settings/index.md b/doc/user/project/settings/index.md index e5949935fcc7a4c49e109edc7f8c685f5200b037..9f1df5c2b896aff16c44fa16b019f4ea8bb78f4f 100644 --- a/doc/user/project/settings/index.md +++ b/doc/user/project/settings/index.md @@ -267,7 +267,8 @@ Learn how to [export a project](import_export.md#importing-the-project) in GitLa ### Advanced settings -Here you can run housekeeping, archive, rename, transfer, [remove a fork relationship](#removing-a-fork-relationship), or remove a project. +Here you can run housekeeping, archive, rename, transfer, +[remove a fork relationship](#removing-a-fork-relationship), or delete a project. #### Archiving a project @@ -372,17 +373,16 @@ To delete a project: 1. In the "Delete project" section, click the **Delete project** button. 1. Confirm the action when asked to. -This action: +This action deletes a project including all associated resources (issues, merge requests, and so on). -- Deletes a project including all associated resources (issues, merge requests etc). -- From [GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) on [Premium](https://about.gitlab.com/pricing/) or higher tiers, - group Owners can [configure](../../group/index.md#enable-delayed-project-removal) projects within a group - to be deleted after a delayed period. - When enabled, actual deletion happens after number of days - specified in [instance settings](../../admin_area/settings/visibility_and_access_controls.md#default-deletion-delay). +In [GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) and later, on Premium or higher tiers, +group Owners can [configure](../../group/index.md#enable-delayed-project-removal) projects in a group +to be deleted after a delayed period. +When enabled, actual deletion happens after number of days +specified in [instance settings](../../admin_area/settings/visibility_and_access_controls.md#default-deletion-delay). WARNING: -The default behavior of [Delayed Project deletion](https://gitlab.com/gitlab-org/gitlab/-/issues/32935) in GitLab 12.6 was changed to +The default behavior of [delayed project deletion](https://gitlab.com/gitlab-org/gitlab/-/issues/32935) in GitLab 12.6 was changed to [Immediate deletion](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) in GitLab 13.2. #### Restore a project **(PREMIUM)** diff --git a/ee/app/views/admin/groups/_marked_for_deletion_badge.html.haml b/ee/app/views/admin/groups/_marked_for_deletion_badge.html.haml index 7cdd8216178a57e51edf860b8451744db0bbed7c..6fda5b5efb18a05f43290cf83751c506bbde17f9 100644 --- a/ee/app/views/admin/groups/_marked_for_deletion_badge.html.haml +++ b/ee/app/views/admin/groups/_marked_for_deletion_badge.html.haml @@ -2,4 +2,4 @@ - if group.marked_for_deletion? %span.badge.badge-warning{ class: css_class } - = _('pending removal') + = _('pending deletion') diff --git a/ee/app/views/admin/projects/_archived.html.haml b/ee/app/views/admin/projects/_archived.html.haml index 0415d686869025edb328e7633a38d31676c3f4ec..7b10e54aaa43cf4f1c4b5a62021b12a5875e389d 100644 --- a/ee/app/views/admin/projects/_archived.html.haml +++ b/ee/app/views/admin/projects/_archived.html.haml @@ -1,6 +1,6 @@ - if project.marked_for_deletion? %span.badge.badge-warning - = _('pending removal') + = _('pending deletion') - elsif project.archived %span.badge.badge-warning = _('archived') diff --git a/ee/app/views/groups/settings/_adjourned_deletion.html.haml b/ee/app/views/groups/settings/_adjourned_deletion.html.haml index 90e065a8c10ab4365ebefbbcddfcbd3b1aa63699..b8ea899fe7ddaa04fa41f669c2a1a39819f579da 100644 --- a/ee/app/views/groups/settings/_adjourned_deletion.html.haml +++ b/ee/app/views/groups/settings/_adjourned_deletion.html.haml @@ -5,9 +5,9 @@ %h4.danger-title= _('Remove group') = form_tag(group, method: :delete) do %p - = html_escape(_("Upon performing this action, the contents of this group, its subgroup and projects will be permanently removed after %{deletion_adjourned_period} days on %{date}. Until that time:")) % { date: tag.strong(date), deletion_adjourned_period: deletion_adjourned_period } + = html_escape(_("Upon performing this action, the contents of this group, its subgroup and projects will be permanently deleted after %{deletion_adjourned_period} days on %{date}. Until that time:")) % { date: tag.strong(date), deletion_adjourned_period: deletion_adjourned_period } %ul - %li= _("The group will be placed in 'pending removal' state") + %li= _("The group will be placed in 'pending deletion' state") %li= _("The group can be fully restored") = render 'groups/settings/remove_button', group: group diff --git a/ee/app/views/projects/_ancestor_group_marked_for_deletion_notice.html.haml b/ee/app/views/projects/_ancestor_group_marked_for_deletion_notice.html.haml index 74b80602f3b8f6bf6d792a4e4173bfeb65164115..af6edbe3c213817e7747e1b842742a5253d0b209 100644 --- a/ee/app/views/projects/_ancestor_group_marked_for_deletion_notice.html.haml +++ b/ee/app/views/projects/_ancestor_group_marked_for_deletion_notice.html.haml @@ -4,4 +4,4 @@ .text-warning.center.prepend-top-20 %p = sprite_icon('warning-solid', size: 12) - = _("This project will be removed on %{date} since its parent group '%{parent_group_name}' has been scheduled for removal.") % { date: permanent_deletion_date(ancestor_marked_for_deletion.marked_for_deletion_on), parent_group_name: ancestor_marked_for_deletion.name } + = _("This project will be deleted on %{date} since its parent group '%{parent_group_name}' has been scheduled for deletion.") % { date: permanent_deletion_date(ancestor_marked_for_deletion.marked_for_deletion_on), parent_group_name: ancestor_marked_for_deletion.name } diff --git a/ee/app/views/projects/_marked_for_deletion_notice.haml b/ee/app/views/projects/_marked_for_deletion_notice.haml index f6c1e17592d4820eac90c00a239774edc3c8a478..a6bd088ef327ff27d3227fc582df67be0b3c644c 100644 --- a/ee/app/views/projects/_marked_for_deletion_notice.haml +++ b/ee/app/views/projects/_marked_for_deletion_notice.haml @@ -2,4 +2,4 @@ .text-warning.center.prepend-top-20 %p = sprite_icon('warning-solid') - = _("Deletion pending. This project will be removed on %{date}. Repository and other project resources are read-only.") % { date: permanent_deletion_date(project.marked_for_deletion_at) } + = _("Deletion pending. This project will be deleted on %{date}. Repository and other project resources are read-only.") % { date: permanent_deletion_date(project.marked_for_deletion_at) } diff --git a/ee/app/views/projects/settings/_restore.html.haml b/ee/app/views/projects/settings/_restore.html.haml index d0c8a5449108f2ddc36a84a2a5e9ea04b4dd60b5..3aa6ee7e6fade54ba98a62189ae0b1a2b6bdddb3 100644 --- a/ee/app/views/projects/settings/_restore.html.haml +++ b/ee/app/views/projects/settings/_restore.html.haml @@ -4,7 +4,7 @@ .sub-section %h4.danger-title= _('Restore project') %p - %strong= _('This project will be removed on %{date}') %{ date: date } + %strong= _('This project will be deleted on %{date}') %{ date: date } %p = _("Restoring the project will prevent the project from being removed on this date and restore people's ability to make changes to it.") = _("The repository can be committed to, and issues, comments and other entities can be created.") diff --git a/ee/app/views/shared/projects/_archived.html.haml b/ee/app/views/shared/projects/_archived.html.haml index 790c1d5a4068a4f3d2ff62fdaa9e26b2691f832f..e840e285797a542616cdd2c1a4e08d72b00b9a9f 100644 --- a/ee/app/views/shared/projects/_archived.html.haml +++ b/ee/app/views/shared/projects/_archived.html.haml @@ -1,6 +1,6 @@ - if project.marked_for_deletion? %span.d-flex.badge-pill.gl-badge.badge-warning.gl-ml-3 - = _('pending removal') + = _('pending deletion') - elsif project.archived %span.d-flex.badge-pill.gl-badge.badge-warning.gl-ml-3 = _('archived') diff --git a/locale/gitlab.pot b/locale/gitlab.pot index dd5bee39a50a199bf98e3a038b8a526dbf2b577d..2e533c6ecdd4a6c300172e2c2864a6914578f0f6 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -10671,7 +10671,7 @@ msgstr "" msgid "Deleting the project will delete its repository and all related resources including issues, merge requests, etc." msgstr "" -msgid "Deletion pending. This project will be removed on %{date}. Repository and other project resources are read-only." +msgid "Deletion pending. This project will be deleted on %{date}. Repository and other project resources are read-only." msgstr "" msgid "Denied" @@ -32661,7 +32661,7 @@ msgstr "" msgid "The group settings for %{group_links} require you to enable Two-Factor Authentication for your account. You can %{leave_group_links}." msgstr "" -msgid "The group will be placed in 'pending removal' state" +msgid "The group will be placed in 'pending deletion' state" msgstr "" msgid "The group_project_ids parameter is only allowed for a group" @@ -33741,10 +33741,10 @@ msgstr "" msgid "This project path either does not exist or you do not have access." msgstr "" -msgid "This project will be removed on %{date}" +msgid "This project will be deleted on %{date}" msgstr "" -msgid "This project will be removed on %{date} since its parent group '%{parent_group_name}' has been scheduled for removal." +msgid "This project will be deleted on %{date} since its parent group '%{parent_group_name}' has been scheduled for deletion." msgstr "" msgid "This project will live in your group %{strong_open}%{namespace}%{strong_close}. A project is where you house your files (repository), plan your work (issues), publish your documentation (wiki), and so much more." @@ -35340,7 +35340,7 @@ msgstr "" msgid "Uploads" msgstr "" -msgid "Upon performing this action, the contents of this group, its subgroup and projects will be permanently removed after %{deletion_adjourned_period} days on %{date}. Until that time:" +msgid "Upon performing this action, the contents of this group, its subgroup and projects will be permanently deleted after %{deletion_adjourned_period} days on %{date}. Until that time:" msgstr "" msgid "Upstream" @@ -39523,7 +39523,7 @@ msgstr "" msgid "pending comment" msgstr "" -msgid "pending removal" +msgid "pending deletion" msgstr "" msgid "per day" diff --git a/spec/frontend/groups/components/group_item_spec.js b/spec/frontend/groups/components/group_item_spec.js index b1211e075bf6dd9d62cf1ea1e6a1d22085de9da5..2369685f50626890176cb2871905b12cb334876c 100644 --- a/spec/frontend/groups/components/group_item_spec.js +++ b/spec/frontend/groups/components/group_item_spec.js @@ -162,11 +162,11 @@ describe('GroupItemComponent', () => { wrapper = createComponent({ group }); }); - it('renders the group pending removal badge', () => { + it('renders the group pending deletion badge', () => { const badgeEl = wrapper.vm.$el.querySelector('.badge-warning'); expect(badgeEl).toBeDefined(); - expect(badgeEl.innerHTML).toContain('pending removal'); + expect(badgeEl.innerHTML).toContain('pending deletion'); }); }); @@ -176,10 +176,10 @@ describe('GroupItemComponent', () => { wrapper = createComponent({ group }); }); - it('does not render the group pending removal badge', () => { + it('does not render the group pending deletion badge', () => { const groupTextContainer = wrapper.vm.$el.querySelector('.group-text-container'); - expect(groupTextContainer).not.toContain('pending removal'); + expect(groupTextContainer).not.toContain('pending deletion'); }); it('renders `item-actions` component and passes correct props to it', () => { diff --git a/spec/frontend/pages/projects/forks/new/components/fork_groups_list_item_spec.js b/spec/frontend/pages/projects/forks/new/components/fork_groups_list_item_spec.js index b5425fa6f2eca779684c7ef46c311f7087158221..490dafed4aec6228d108f0200be1105cb2c8d40b 100644 --- a/spec/frontend/pages/projects/forks/new/components/fork_groups_list_item_spec.js +++ b/spec/frontend/pages/projects/forks/new/components/fork_groups_list_item_spec.js @@ -34,10 +34,10 @@ describe('Fork groups list item component', () => { }); }; - it('renders pending removal badge if applicable', () => { + it('renders pending deletion badge if applicable', () => { createWrapper({ group: { ...DEFAULT_GROUP_DATA, marked_for_deletion: true } }); - expect(wrapper.find(GlBadge).text()).toBe('pending removal'); + expect(wrapper.find(GlBadge).text()).toBe('pending deletion'); }); it('renders go to fork button if has forked project', () => {