diff --git a/app/javascript/controllers/admin_sso_form_controller.js b/app/javascript/controllers/admin_sso_form_controller.js index 2344b8b63..a834c1259 100644 --- a/app/javascript/controllers/admin_sso_form_controller.js +++ b/app/javascript/controllers/admin_sso_form_controller.js @@ -65,29 +65,6 @@ export default class extends Controller { this.samlCallbackUrlTarget.textContent = `${baseUrl}/auth/${providerName}/callback` } - copySamlCallback(event) { - event.preventDefault() - - if (!this.hasSamlCallbackUrlTarget) return - - const callbackUrl = this.samlCallbackUrlTarget.textContent - - navigator.clipboard.writeText(callbackUrl).then(() => { - const button = event.currentTarget - const originalText = button.innerHTML - button.innerHTML = ' Copied!' - button.classList.add('text-green-600') - - setTimeout(() => { - button.innerHTML = originalText - button.classList.remove('text-green-600') - }, 2000) - }).catch(err => { - console.error('Failed to copy:', err) - alert('Failed to copy to clipboard') - }) - } - async validateIssuer(event) { const issuerInput = event.target const issuer = issuerInput.value.trim() @@ -129,32 +106,6 @@ export default class extends Controller { } } - copyCallback(event) { - event.preventDefault() - - const callbackDisplay = this.callbackUrlTarget - if (!callbackDisplay) return - - const callbackUrl = callbackDisplay.textContent - - // Copy to clipboard - navigator.clipboard.writeText(callbackUrl).then(() => { - // Show success feedback - const button = event.currentTarget - const originalText = button.innerHTML - button.innerHTML = ' Copied!' - button.classList.add('text-green-600') - - setTimeout(() => { - button.innerHTML = originalText - button.classList.remove('text-green-600') - }, 2000) - }).catch(err => { - console.error('Failed to copy:', err) - alert('Failed to copy to clipboard') - }) - } - showValidationMessage(input, message, type) { // Remove any existing validation message const existingMessage = input.parentElement.querySelector('.validation-message') diff --git a/app/views/admin/sso_providers/_form.html.erb b/app/views/admin/sso_providers/_form.html.erb index 5ccdc3b87..5b755e57c 100644 --- a/app/views/admin/sso_providers/_form.html.erb +++ b/app/views/admin/sso_providers/_form.html.erb @@ -90,14 +90,20 @@
"> -
- <%= "#{request.base_url}/auth/#{sso_provider.name.presence || 'PROVIDER_NAME'}/callback" %> +
+ <%= "#{request.base_url}/auth/#{sso_provider.name.presence || 'PROVIDER_NAME'}/callback" %>

Configure this URL in your identity provider

@@ -173,14 +179,20 @@
-
- <%= "#{request.base_url}/auth/#{sso_provider.name.presence || 'PROVIDER_NAME'}/callback" %> +
+ <%= "#{request.base_url}/auth/#{sso_provider.name.presence || 'PROVIDER_NAME'}/callback" %>

Configure this URL as the Assertion Consumer Service URL in your IdP

@@ -268,7 +280,7 @@

<%= t("admin.sso_providers.form.prompt_help") %>

-
+
<% if sso_provider.persisted? %>
-
+
<%= link_to "Cancel", admin_sso_providers_path, class: "px-4 py-2 text-sm font-medium text-secondary hover:text-primary" %> <%= form.submit sso_provider.persisted? ? "Update Provider" : "Create Provider", class: "px-4 py-2 bg-primary text-inverse rounded-lg text-sm font-medium hover:bg-primary/90" %> diff --git a/app/views/layouts/settings.html.erb b/app/views/layouts/settings.html.erb index 49614c237..f08fa76a0 100644 --- a/app/views/layouts/settings.html.erb +++ b/app/views/layouts/settings.html.erb @@ -6,9 +6,9 @@
-
-
-
+
+
+
<% if content_for?(:breadcrumbs) %> <%= yield :breadcrumbs %> @@ -16,7 +16,7 @@ <%= render "layouts/shared/breadcrumbs", breadcrumbs: @breadcrumbs %> <% end %> -
+
<% if content_for?(:page_title) %>

<%= content_for :page_title %> @@ -25,7 +25,7 @@
<% end %> <% if content_for?(:page_actions) %> -
+
<%= yield :page_actions %>
<% end %>