Commit b22ee346 authored by Denys Mishunov's avatar Denys Mishunov

Merge branch 'mg-add-delete-modal-to-instance-level-serverless-domain' into 'master'

Add delete modal to instance level serverless domain

See merge request gitlab-org/gitlab!28429
parents edbaa2c4 8ad9a569
...@@ -66,3 +66,34 @@ ...@@ -66,3 +66,34 @@
= _("Upload a private key for your certificate") = _("Upload a private key for your certificate")
= f.submit @domain.persisted? ? _('Save changes') : _('Add domain'), class: "btn btn-success js-serverless-domain-submit", disabled: @domain.persisted? = f.submit @domain.persisted? ? _('Save changes') : _('Add domain'), class: "btn btn-success js-serverless-domain-submit", disabled: @domain.persisted?
- if @domain.persisted?
%button.btn.btn-remove{ type: 'button', data: { toggle: 'modal', target: "#modal-delete-domain" } }
= _('Delete domain')
-# haml-lint:disable NoPlainNodes
- if @domain.persisted?
- domain_attached = @domain.serverless_domain_clusters.count > 0
.modal{ id: "modal-delete-domain", tabindex: -1 }
.modal-dialog
.modal-content
.modal-header
%h3.page-title= _('Delete serverless domain?')
%button.close{ type: "button", "data-dismiss": "modal", "aria-label" => _('Close') }
%span{ "aria-hidden": true } ×
.modal-body
- if domain_attached
= _("You must disassociate %{domain} from all clusters it is attached to before deletion.").html_safe % { domain: "<code>#{@domain.domain}</code>".html_safe }
- else
= _("You are about to delete %{domain} from your instance. This domain will no longer be available to any Knative application.").html_safe % { domain: "<code>#{@domain.domain}</code>".html_safe }
.modal-footer
%a{ href: '#', data: { dismiss: 'modal' }, class: 'btn btn-default' }
= _('Cancel')
= link_to _('Delete domain'),
admin_serverless_domain_path(@domain.id),
title: _('Delete'),
method: :delete,
class: "btn btn-remove",
disabled: domain_attached
...@@ -6452,6 +6452,9 @@ msgstr "" ...@@ -6452,6 +6452,9 @@ msgstr ""
msgid "Delete comment" msgid "Delete comment"
msgstr "" msgstr ""
msgid "Delete domain"
msgstr ""
msgid "Delete license" msgid "Delete license"
msgstr "" msgstr ""
...@@ -6464,6 +6467,9 @@ msgstr "" ...@@ -6464,6 +6467,9 @@ msgstr ""
msgid "Delete project" msgid "Delete project"
msgstr "" msgstr ""
msgid "Delete serverless domain?"
msgstr ""
msgid "Delete snippet" msgid "Delete snippet"
msgstr "" msgstr ""
...@@ -23085,6 +23091,9 @@ msgstr "" ...@@ -23085,6 +23091,9 @@ msgstr ""
msgid "You" msgid "You"
msgstr "" msgstr ""
msgid "You are about to delete %{domain} from your instance. This domain will no longer be available to any Knative application."
msgstr ""
msgid "You are about to transfer the control of your account to %{group_name} group. This action is NOT reversible, you won't be able to access any of your groups and projects outside of %{group_name} once this transfer is complete." msgid "You are about to transfer the control of your account to %{group_name} group. This action is NOT reversible, you won't be able to access any of your groups and projects outside of %{group_name} once this transfer is complete."
msgstr "" msgstr ""
...@@ -23361,6 +23370,9 @@ msgstr "" ...@@ -23361,6 +23370,9 @@ msgstr ""
msgid "You must accept our Terms of Service and privacy policy in order to register an account" msgid "You must accept our Terms of Service and privacy policy in order to register an account"
msgstr "" msgstr ""
msgid "You must disassociate %{domain} from all clusters it is attached to before deletion."
msgstr ""
msgid "You must have maintainer access to force delete a lock" msgid "You must have maintainer access to force delete a lock"
msgstr "" msgstr ""
......
...@@ -56,4 +56,32 @@ describe 'Admin Serverless Domains', :js do ...@@ -56,4 +56,32 @@ describe 'Admin Serverless Domains', :js do
expect(page).to have_content 'Domain was successfully updated' expect(page).to have_content 'Domain was successfully updated'
expect(page).to have_content '/CN=test-certificate' expect(page).to have_content '/CN=test-certificate'
end end
context 'when domain exists' do
let!(:domain) { create(:pages_domain, :instance_serverless) }
it 'Displays a modal when attempting to delete a domain' do
visit admin_serverless_domains_path
click_button 'Delete domain'
page.within '#modal-delete-domain' do
expect(page).to have_content "You are about to delete #{domain.domain} from your instance."
expect(page).to have_link('Delete domain')
end
end
it 'Displays a modal with disabled button if unable to delete a domain' do
create(:serverless_domain_cluster, pages_domain: domain)
visit admin_serverless_domains_path
click_button 'Delete domain'
page.within '#modal-delete-domain' do
expect(page).to have_content "You must disassociate #{domain.domain} from all clusters it is attached to before deletion."
expect(page).to have_link('Delete domain')
end
end
end
end end
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