Commit 252b0281 authored by Andrew Fontaine's avatar Andrew Fontaine

Merge branch 'rename-project-removal-to-deletion' into 'master'

Rename project / group removal to deletion

See merge request gitlab-org/gitlab!66064
parents f040a63a 5986efea
...@@ -178,7 +178,7 @@ export default { ...@@ -178,7 +178,7 @@ export default {
</div> </div>
</div> </div>
<div v-if="isGroupPendingRemoval"> <div v-if="isGroupPendingRemoval">
<gl-badge variant="warning">{{ __('pending removal') }}</gl-badge> <gl-badge variant="warning">{{ __('pending deletion') }}</gl-badge>
</div> </div>
<div class="metadata d-flex flex-grow-1 flex-shrink-0 flex-wrap justify-content-md-between"> <div class="metadata d-flex flex-grow-1 flex-shrink-0 flex-wrap justify-content-md-between">
<item-actions <item-actions
......
...@@ -73,7 +73,7 @@ export default { ...@@ -73,7 +73,7 @@ export default {
icon-name="star" icon-name="star"
/> />
<div v-if="isProjectPendingRemoval"> <div v-if="isProjectPendingRemoval">
<gl-badge variant="warning">{{ __('pending removal') }}</gl-badge> <gl-badge variant="warning">{{ __('pending deletion') }}</gl-badge>
</div> </div>
<div v-if="isProject" class="last-updated"> <div v-if="isProject" class="last-updated">
<time-ago-tooltip :time="item.updatedAt" tooltip-placement="bottom" /> <time-ago-tooltip :time="item.updatedAt" tooltip-placement="bottom" />
......
...@@ -101,7 +101,7 @@ export default { ...@@ -101,7 +101,7 @@ export default {
v-if="isGroupPendingRemoval" v-if="isGroupPendingRemoval"
variant="warning" variant="warning"
class="gl-display-none gl-sm-display-flex gl-mt-3 gl-mr-1" 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"> <user-access-role-badge v-if="group.permission" class="gl-mt-3">
{{ group.permission }} {{ group.permission }}
......
...@@ -267,7 +267,8 @@ Learn how to [export a project](import_export.md#importing-the-project) in GitLa ...@@ -267,7 +267,8 @@ Learn how to [export a project](import_export.md#importing-the-project) in GitLa
### Advanced settings ### 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 #### Archiving a project
...@@ -372,17 +373,16 @@ To delete a project: ...@@ -372,17 +373,16 @@ To delete a project:
1. In the "Delete project" section, click the **Delete project** button. 1. In the "Delete project" section, click the **Delete project** button.
1. Confirm the action when asked to. 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). In [GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) and later, on Premium or higher tiers,
- 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 in a group
group Owners can [configure](../../group/index.md#enable-delayed-project-removal) projects within a group to be deleted after a delayed period.
to be deleted after a delayed period. When enabled, actual deletion happens after number of days
When enabled, actual deletion happens after number of days specified in [instance settings](../../admin_area/settings/visibility_and_access_controls.md#default-deletion-delay).
specified in [instance settings](../../admin_area/settings/visibility_and_access_controls.md#default-deletion-delay).
WARNING: 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. [Immediate deletion](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) in GitLab 13.2.
#### Restore a project **(PREMIUM)** #### Restore a project **(PREMIUM)**
......
...@@ -2,4 +2,4 @@ ...@@ -2,4 +2,4 @@
- if group.marked_for_deletion? - if group.marked_for_deletion?
%span.badge.badge-warning{ class: css_class } %span.badge.badge-warning{ class: css_class }
= _('pending removal') = _('pending deletion')
- if project.marked_for_deletion? - if project.marked_for_deletion?
%span.badge.badge-warning %span.badge.badge-warning
= _('pending removal') = _('pending deletion')
- elsif project.archived - elsif project.archived
%span.badge.badge-warning %span.badge.badge-warning
= _('archived') = _('archived')
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
%h4.danger-title= _('Remove group') %h4.danger-title= _('Remove group')
= form_tag(group, method: :delete) do = form_tag(group, method: :delete) do
%p %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 %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") %li= _("The group can be fully restored")
= render 'groups/settings/remove_button', group: group = render 'groups/settings/remove_button', group: group
...@@ -4,4 +4,4 @@ ...@@ -4,4 +4,4 @@
.text-warning.center.prepend-top-20 .text-warning.center.prepend-top-20
%p %p
= sprite_icon('warning-solid', size: 12) = 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 }
...@@ -2,4 +2,4 @@ ...@@ -2,4 +2,4 @@
.text-warning.center.prepend-top-20 .text-warning.center.prepend-top-20
%p %p
= sprite_icon('warning-solid') = 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) }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
.sub-section .sub-section
%h4.danger-title= _('Restore project') %h4.danger-title= _('Restore project')
%p %p
%strong= _('This project will be removed on %{date}') %{ date: date } %strong= _('This project will be deleted on %{date}') %{ date: date }
%p %p
= _("Restoring the project will prevent the project from being removed on this date and restore people's ability to make changes to it.") = _("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.") = _("The repository can be committed to, and issues, comments and other entities can be created.")
......
- if project.marked_for_deletion? - if project.marked_for_deletion?
%span.d-flex.badge-pill.gl-badge.badge-warning.gl-ml-3 %span.d-flex.badge-pill.gl-badge.badge-warning.gl-ml-3
= _('pending removal') = _('pending deletion')
- elsif project.archived - elsif project.archived
%span.d-flex.badge-pill.gl-badge.badge-warning.gl-ml-3 %span.d-flex.badge-pill.gl-badge.badge-warning.gl-ml-3
= _('archived') = _('archived')
...@@ -10671,7 +10671,7 @@ msgstr "" ...@@ -10671,7 +10671,7 @@ msgstr ""
msgid "Deleting the project will delete its repository and all related resources including issues, merge requests, etc." msgid "Deleting the project will delete its repository and all related resources including issues, merge requests, etc."
msgstr "" 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 "" msgstr ""
msgid "Denied" msgid "Denied"
...@@ -32661,7 +32661,7 @@ msgstr "" ...@@ -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}." msgid "The group settings for %{group_links} require you to enable Two-Factor Authentication for your account. You can %{leave_group_links}."
msgstr "" msgstr ""
msgid "The group will be placed in 'pending removal' state" msgid "The group will be placed in 'pending deletion' state"
msgstr "" msgstr ""
msgid "The group_project_ids parameter is only allowed for a group" msgid "The group_project_ids parameter is only allowed for a group"
...@@ -33741,10 +33741,10 @@ msgstr "" ...@@ -33741,10 +33741,10 @@ msgstr ""
msgid "This project path either does not exist or you do not have access." msgid "This project path either does not exist or you do not have access."
msgstr "" msgstr ""
msgid "This project will be removed on %{date}" msgid "This project will be deleted on %{date}"
msgstr "" 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 "" 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." 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 "" ...@@ -35340,7 +35340,7 @@ msgstr ""
msgid "Uploads" msgid "Uploads"
msgstr "" 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 "" msgstr ""
msgid "Upstream" msgid "Upstream"
...@@ -39523,7 +39523,7 @@ msgstr "" ...@@ -39523,7 +39523,7 @@ msgstr ""
msgid "pending comment" msgid "pending comment"
msgstr "" msgstr ""
msgid "pending removal" msgid "pending deletion"
msgstr "" msgstr ""
msgid "per day" msgid "per day"
......
...@@ -162,11 +162,11 @@ describe('GroupItemComponent', () => { ...@@ -162,11 +162,11 @@ describe('GroupItemComponent', () => {
wrapper = createComponent({ group }); 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'); const badgeEl = wrapper.vm.$el.querySelector('.badge-warning');
expect(badgeEl).toBeDefined(); expect(badgeEl).toBeDefined();
expect(badgeEl.innerHTML).toContain('pending removal'); expect(badgeEl.innerHTML).toContain('pending deletion');
}); });
}); });
...@@ -176,10 +176,10 @@ describe('GroupItemComponent', () => { ...@@ -176,10 +176,10 @@ describe('GroupItemComponent', () => {
wrapper = createComponent({ group }); 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'); 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', () => { it('renders `item-actions` component and passes correct props to it', () => {
......
...@@ -34,10 +34,10 @@ describe('Fork groups list item component', () => { ...@@ -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 } }); 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', () => { it('renders go to fork button if has forked project', () => {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment