Fix remaining merge damage: restore Google SSO form, remove trusted signature row, GitHub stars, Discord/AI

- Restore Google SSO config form (from commit dacefffd UI, controller was intact)
- Restore 'Sign in with Google' button on sign-in page
- Delete _default_signature_row.html.erb (WaboSign Trusted Signature row — references
  self-hosted PKCS infrastructure WaboSign doesn't provide)
- Fix esign_settings/show.html.erb — remove dangling render of deleted partial
- Delete _github.html.erb (hardcoded 17k DocuSeal stars)
- Remove GitHub stars render and dangling _github_button render from navbar
- Remove Discord Community and AI Assistant links from settings nav support channels
- Remove 27 unused locale keys (wabosign_trusted_signature, ai_assistant, discord_community,
  sign_documents_with_trusted_certificate_... across 7 languages)
- Add comprehensive post-merge verification checklist to REBRANDING.md
pull/687/head
Wabo 2 weeks ago
parent 9c464f54ab
commit 3d5f38304c

@ -112,3 +112,64 @@ bin/sync-upstream <tag>
### Adding new preserved tokens
When upstream introduces a new SDK identifier, binary URL, or attribution surface that must survive the sweep, edit `PRESERVE` in [bin/rebrand-sync](bin/rebrand-sync) and `ALLOW_PATTERNS` in [bin/rebrand-check](bin/rebrand-check) together. The two must stay in sync — `rebrand-sync` decides what the sweep ignores, `rebrand-check` decides what CI tolerates.
## Post-Merge Verification Checklist
Run through these checks after every upstream merge. The earlier failures are caught by `bin/rebrand-check`; the later ones require manual inspection or `rspec`.
### Automatic (`bin/rebrand-check`)
- Rebrand check passes (no unintended DocuSeal references)
- RSpec suite passes (360+ examples, 0 failures)
### Footer / Attribution
- [ ] `app/views/shared/_powered_by.html.erb` links both WaboSign *and* DocuSeal (upstream AGPL credit)
- [ ] `app/views/shared/_email_attribution.html.erb` uses WaboSign product name, not DocuSeal
- [ ] `app/javascript/submission_form/completed.vue` still has the hardcoded DocuSeal upstream credit
### Logo / Branding
- [ ] `app/views/shared/_logo.html.erb` shows the WaboSign "W" mark (not the DocuSeal abstract shape)
- [ ] `public/favicon.svg`, `public/logo.svg` show the WaboSign "W" mark
- [ ] `app/views/shared/_account_logo.html.erb` renders attached logo or falls back to the W mark
### Console / Plans / Pro / Upgrade
- [ ] `app/controllers/console_redirect_controller.rb` does not exist
- [ ] `config/routes.rb` has no `console_redirect`, `upgrade`, or `manage` routes
- [ ] `app/controllers/sessions_controller.rb` has no `console_redirect_index_path` call
- [ ] `lib/wabosign.rb` has no `CONSOLE_URL`, `CLOUD_URL`, or `CDN_URL` constants
- [ ] `app/views/shared/_settings_nav.html.erb` has no "Plans" link or "Pro" badge
- [ ] `app/views/shared/_navbar.html.erb` has no "Console" link in dropdown
- [ ] `app/views/shared/_navbar_buttons.html.erb` has no "Upgrade" button
- [ ] No view file contains `unlock_with_docuseal_pro`, `activate_with_docuseal_pro`, or `console_redirect_index_path`
### Feature Gates (all freely available)
- [ ] `app/views/sms_settings/index.html.erb` shows provider form (BulkVS/Twilio/VoIP.ms/SignalWire) — not a placeholder
- [ ] `app/views/personalization_settings/_logo_placeholder.html.erb` shows upload form — not a Pro upsell
- [ ] `app/views/notifications_settings/_reminder_placeholder.html.erb` is empty (reminder form renders freely)
- [ ] `app/views/submissions/_bulk_send_placeholder.html.erb` is empty (bulk send freely available)
- [ ] `app/views/submissions/_send_sms_button.html.erb` is a functional button (not Pro-gated tooltip)
- [ ] `app/views/users/_role_select.html.erb` has no disabled options or Pro upsell link
- [ ] `app/views/accounts/show.html.erb` has no console-redirect Pro gates on Decline/Delegate toggles
### Google SSO
- [ ] `app/views/sso_settings/index.html.erb` shows the Google SSO config form (client_id, client_secret, allowed_domains)
- [ ] `app/views/devise/sessions/_omniauthable.html.erb` has the "Sign in with Google" button
- [ ] `app/views/sso_settings/_placeholder.html.erb` does not exist (was replaced by the real form)
- [ ] OmniAuth routes for `auth/google_oauth2` are present in `config/routes.rb`
### E-Signature Settings
- [ ] `app/views/esign_settings/_default_signature_row.html.erb` does not exist
- [ ] `config/locales/i18n.yml` has no `wabosign_trusted_signature` or `sign_documents_with_trusted_certificate_*` keys
### Social / Extras
- [ ] `app/views/shared/_github.html.erb` does not exist (no hardcoded star count)
- [ ] `app/views/shared/_navbar.html.erb` does not render `shared/github` or `shared/github_button`
- [ ] `app/views/shared/_settings_nav.html.erb` has no Discord or AI Assistant links in support channels
- [ ] `config/locales/i18n.yml` has no `discord_community` or `ai_assistant` keys
### SMS (independently developed)
- [ ] `app/views/sms_settings/index.html.erb` is the full provider form (not placeholder)
- [ ] `lib/sms.rb` exists with all 4 providers (BulkVS, Twilio, VoIP.ms, SignalWire)
- [ ] `lib/sms/providers/` directory exists with all 4 provider implementations
- [ ] `app/controllers/sms_settings_controller.rb` handles `test_message` action
- [ ] `app/models/encrypted_config.rb` has `SMS_CONFIGS_KEY = 'sms_configs'` constant
- [ ] `config/routes.rb` has the SMS routes with `test_message` collection route

@ -0,0 +1,12 @@
<% if Wabosign.google_sso_enabled? %>
<div class="divider my-4 text-sm opacity-60"><%= t('or') %></div>
<div class="form-control">
<%= button_to user_google_oauth2_omniauth_authorize_path,
method: :post,
data: { turbo: false },
class: 'base-button !bg-white !text-base-content border border-base-300 flex items-center justify-center gap-2' do %>
<img src="/google_g.svg" alt="" width="20" height="20" class="w-5 h-5">
<span><%= t('sign_in_with_google') %></span>
<% end %>
</div>
<% end %>

@ -1,19 +0,0 @@
<tr scope="row" class="group">
<td class="flex items-center space-x-1">
<%= svg_icon('discount_check_filled', class: 'w-6 h-6 text-green-500') %>
<span class="flex items-center">
<%= t('wabosign_trusted_signature') %>
<div class="tooltip ml-1" data-tip="<%= t('sign_documents_with_trusted_certificate_provided_by_docu_seal_your_documents_and_data_are_never_shared_with_docu_seal_p_d_f_checksum_is_provided_to_generate_a_trusted_signature') %>">
<%= svg_icon('circle_question', class: 'w-4 h-4 stroke-1') %>
</div>
</span>
</td>
<td></td>
<td>
<%= button_to settings_esign_path, method: :put, params: { name: Wabosign::AATL_CERT_NAME }, class: 'btn btn-outline btn-neutral btn-xs whitespace-nowrap', title: t('make_default'), disabled: true do %>
<%= t('make_default') %>
<% end %>
</td>
<td>
</td>
</tr>

@ -99,9 +99,6 @@
</td>
</tr>
<% end %>
<% unless Wabosign.multitenant? %>
<%= render 'default_signature_row' %>
<% end %>
</tbody>
</table>
</div>

@ -1,6 +0,0 @@
<a target="_blank" href="<%= Wabosign::GITHUB_URL %>" rel="noopener noreferrer nofollow" class="relative flex items-center rounded-full px-2 py-0.5 text-xs leading-4 mt-1 text-base-content border border-base-300 tooltip tooltip-bottom" data-tip="Give a star on GitHub">
<span class="flex items-center justify-between space-x-0.5 font-medium">
<%= svg_icon('start', class: 'h-3 w-3') %>
<span>17k</span>
</span>
</a>

@ -4,9 +4,6 @@
<a href="<%= root_path %>" class="text-2xl font-bold items-center flex space-x-2">
<%= render 'shared/title' %>
</a>
<span class="hidden sm:inline">
<%= render 'shared/github' if request.path.starts_with?('/settings') %>
</span>
</div>
<% if signed_in? %>
<div class="space-x-4 flex items-center">
@ -14,9 +11,6 @@
<a href="https://wabosign.com/sign_up" class="btn btn-neutral btn-sm btn-outline inline-flex items-center justify-center" style="height: 37px">
<%= t('sign_up') %>
</a>
<span class="hidden sm:inline">
<%= render 'shared/github_button' %>
</span>
<% else %>
<div class="flex items-center justify-center space-x-4 mr-1">
<%= render 'shared/navbar_buttons' %>

@ -102,18 +102,6 @@
<%= svg_icon('brand_github', class: 'w-8 h-8') %>
</a>
</div>
<div class="tooltip" data-tip="<%= t('discord_community') %>">
<a href="<%= Wabosign::DISCORD_URL %>" target="_blank" class="btn btn-circle btn-primary btn-md">
<%= svg_icon('brand_discord', class: 'w-8 h-8') %>
</a>
</div>
<%= capture do %>
<div class="tooltip" data-tip="<%= t('ai_assistant') %>">
<a href="<%= Wabosign::CHATGPT_URL %>" target="_blank" class="btn btn-circle btn-primary btn-md">
<%= svg_icon('brand_openai', class: 'w-8 h-8') %>
</a>
</div>
<% end %>
</div>
<a href="mailto:<%= Wabosign::SUPPORT_EMAIL %>" target="_blank" class="w-full block mt-4 underline text-center">
<%= Wabosign::SUPPORT_EMAIL %>

@ -1,11 +0,0 @@
<div class="alert">
<%= svg_icon('info_circle', class: 'w-6 h-6') %>
<div>
<p class="font-bold">
<%= t('single_sign_on_with_saml_2_0') %>
</p>
<p class="text-gray-700">
Configure SAML SSO via the <code>SAML_CONFIGS</code> environment variable or through the encrypted config.
</p>
</div>
</div>

@ -1,8 +1,77 @@
<div class="flex flex-wrap space-y-4 md:flex-nowrap md:space-y-0">
<%= render 'shared/settings_nav' %>
<div class="flex-grow max-w-xl mx-auto">
<h1 class="text-4xl font-bold mb-4">SAML SSO</h1>
<%= render 'placeholder' %>
<h1 class="text-4xl font-bold mb-4">Google SSO</h1>
<% creds = Wabosign.google_sso_credentials %>
<% value = @encrypted_config.value || {} %>
<% if creds[:source] == :env %>
<div class="alert mb-4">
<%= svg_icon('info_circle', class: 'w-6 h-6') %>
<div>
<p class="font-bold">Google SSO is configured via environment variables</p>
<p class="text-gray-700">
<code>GOOGLE_CLIENT_ID</code> and <code>GOOGLE_CLIENT_SECRET</code> are set on the running process, so ENV-driven configuration is in effect. ENV always takes precedence over anything saved on this page. Unset the env vars (and restart) to switch to the values configured here.
</p>
</div>
</div>
<% elsif creds[:source] == :db %>
<div class="alert alert-success mb-4">
<%= svg_icon('discount_check_filled', class: 'w-6 h-6') %>
<div>
<p class="font-bold">Google SSO is enabled</p>
<p class="text-gray-700">
<% if creds[:allowed_domains].any? %>
Allowed Workspace domain<%= 's' if creds[:allowed_domains].size > 1 %>: <code><%= creds[:allowed_domains].join(', ') %></code>.
<% else %>
<strong>Warning:</strong> no domain allowlist is set. Any Google account can sign in.
<% end %>
</p>
</div>
</div>
<% else %>
<div class="alert mb-4">
<%= svg_icon('info_circle', class: 'w-6 h-6') %>
<div>
<p class="font-bold">Google SSO is not configured</p>
<p class="text-gray-700">
Fill in your Google Cloud OAuth client details below. The OAuth redirect URI to register in <a href="https://console.cloud.google.com/apis/credentials" target="_blank" rel="noopener" class="link">Google Cloud Console</a> is
<code><%= "#{root_url}auth/google_oauth2/callback" rescue '/auth/google_oauth2/callback' %></code>.
</p>
</div>
</div>
<% end %>
<%= form_for @encrypted_config, url: settings_sso_index_path, method: :post, html: { autocomplete: 'off', class: 'space-y-4' } do |f| %>
<%= f.fields_for :value do |ff| %>
<div class="form-control">
<label class="label cursor-pointer" for="encrypted_config_value_enabled">
<span class="label-text font-medium">Enable Google SSO</span>
<%= ff.check_box :enabled, { class: 'toggle', checked: value['enabled'] == true }, '1', '0' %>
</label>
</div>
<div class="form-control">
<%= ff.label :client_id, 'Client ID', class: 'label' %>
<%= ff.text_field :client_id, value: value['client_id'], class: 'base-input', placeholder: '1234567890.apps.googleusercontent.com' %>
</div>
<div class="form-control">
<%= ff.label :client_secret, 'Client Secret', class: 'label' %>
<%= ff.password_field :client_secret, class: 'base-input', placeholder: value['client_secret'].present? ? '*************' : 'GOCSPX-…' %>
<% if value['client_secret'].present? %>
<span class="label-text-alt mt-1 opacity-70">Leave blank to keep the saved secret.</span>
<% end %>
</div>
<div class="form-control">
<%= ff.label :allowed_domains_csv, 'Allowed Workspace Domains', class: 'label' %>
<%= ff.text_field :allowed_domains_csv, value: Array(value['allowed_domains']).join(', '), class: 'base-input', placeholder: 'wabo.cc, partner.example' %>
<span class="label-text-alt mt-1 opacity-70">Comma-separated. Only Google accounts whose Workspace <code>hd</code> claim matches one of these domains can sign in. Leave blank to allow any Google account (not recommended).</span>
</div>
<% end %>
<div class="form-control pt-2">
<%= f.button button_title(title: t('save'), disabled_with: t('saving')), class: 'base-button' %>
</div>
<% end %>
</div>
<div class="w-0 md:w-52"></div>
</div>

@ -80,7 +80,6 @@ en: &en
accessiable_by: Accessible by
team_access: Team access
document_download_filename_format: Document download filename format
wabosign_trusted_signature: WaboSign Trusted Signature
hello_name: Hi %{name}
you_are_invited_to_product_name: You are invited to %{product_name}
you_have_been_invited_to_account_name_product_name_please_sign_up_using_the_link_below_: 'You have been invited to %{account_name} %{product_name}. Please sign up using the link below:'
@ -88,7 +87,6 @@ en: &en
sent_using_product_name_free_document_signing_html: 'Sent using <a href="%{product_url}">%{product_name}</a> free document signing.'
sent_with_docuseal_pro_html: 'Sent with <a href="%{product_url}">WaboSign Pro</a>'
show_send_with_docuseal_pro_attribution_in_emails_html: Show "Sent with <span class="link">WaboSign Pro</span>" attribution in emails
sign_documents_with_trusted_certificate_provided_by_docu_seal_your_documents_and_data_are_never_shared_with_docu_seal_p_d_f_checksum_is_provided_to_generate_a_trusted_signature: Sign documents with trusted certificate provided by WaboSign. Your documents and data are never shared with WaboSign. PDF checksum is provided to generate a trusted signature.
you_have_been_invited_to_submit_the_name_form: 'You have been invited to submit the "%{name}" form.'
you_have_been_invited_to_sign_the_name: 'You have been invited to sign the "%{name}".'
alternatively_you_can_review_and_download_your_copy_using_the_link_below: "Alternatively, you can review and download your copy using the link below:"
@ -386,8 +384,6 @@ en: &en
leave: Leave
impersonated_as: Impersonated as
ask_ai: Ask AI
ai_assistant: AI Assistant
discord_community: Discord Community
integrations: Integrations
teams: Teams
tenants: Tenants
@ -1136,7 +1132,6 @@ es: &es
awaiting_completion_by_the_other_party: "Esperando la finalización por la otra parte"
enforce_recipients_order: 'Hacer cumplir el orden de los destinatarios'
first_party: 'Primera Parte'
wabosign_trusted_signature: Firma de confianza WaboSign
hello_name: Hola %{name}
you_are_invited_to_product_name: Estás invitado a %{product_name}
you_have_been_invited_to_account_name_product_name_please_sign_up_using_the_link_below_: 'Has sido invitado a %{account_name} %{product_name}. Por favor, regístrate usando el enlace a continuación:'
@ -1144,7 +1139,6 @@ es: &es
sent_using_product_name_free_document_signing_html: 'Enviado usando la firma de documentos gratuita de <a href="%{product_url}">%{product_name}</a>.'
sent_with_docuseal_pro_html: 'Enviado con <a href="%{product_url}">WaboSign Pro</a>'
show_send_with_docuseal_pro_attribution_in_emails_html: Mostrar el mensaje "Enviado con <span class="link">WaboSign Pro</span>" en los correos electrónicos
sign_documents_with_trusted_certificate_provided_by_docu_seal_your_documents_and_data_are_never_shared_with_docu_seal_p_d_f_checksum_is_provided_to_generate_a_trusted_signature: Firme documentos con un certificado de confianza proporcionado por WaboSign. Sus documentos y datos nunca se comparten con WaboSign. Se proporciona un checksum de PDF para generar una firma de confianza.
hi_there: Hola
thanks: Gracias
you_have_been_invited_to_submit_the_name_form: 'Has sido invitado/a a enviar el formulario "%{name}".'
@ -1442,8 +1436,6 @@ es: &es
leave: Salir
impersonated_as: Accediendo como
ask_ai: Preguntar a la IA
ai_assistant: Asistente IA
discord_community: Comunidad en Discord
integrations: Integraciones
teams: Equipos
tenants: Inquilinos
@ -2189,7 +2181,6 @@ it: &it
awaiting_completion_by_the_other_party: "In attesa di completamento da parte dell'altra parte"
enforce_recipients_order: "Applicare l'ordine dei destinatari"
first_party: 'Prima parte'
wabosign_trusted_signature: "Firma Fiduciaria WaboSign"
hello_name: Ciao %{name}
you_are_invited_to_product_name: Sei stato invitato a %{product_name}
you_have_been_invited_to_account_name_product_name_please_sign_up_using_the_link_below_: 'Sei stato invitato a %{account_name} %{product_name}. Registrati utilizzando il link qui sotto:'
@ -2197,7 +2188,6 @@ it: &it
sent_using_product_name_free_document_signing_html: 'Inviato utilizzando la firma di documenti gratuita di <a href="%{product_url}">%{product_name}</a>.'
sent_with_docuseal_pro_html: 'Inviato con <a href="%{product_url}">WaboSign Pro</a>'
show_send_with_docuseal_pro_attribution_in_emails_html: Mostra la dicitura "Inviato con <span class="link">WaboSign Pro</span>" nelle email
sign_documents_with_trusted_certificate_provided_by_docu_seal_your_documents_and_data_are_never_shared_with_docu_seal_p_d_f_checksum_is_provided_to_generate_a_trusted_signature: "Firma documenti con un certificato di fiducia fornito da WaboSign. I tuoi documenti e i tuoi dati non vengono mai condivisi con WaboSign. Il checksum PDF è fornito per generare una firma di fiducia."
hi_there: Ciao
thanks: Grazie
you_have_been_invited_to_submit_the_name_form: 'Sei stato invitato a inviare il modulo "%{name}".'
@ -2495,8 +2485,6 @@ it: &it
leave: Lascia
impersonated_as: Impersonato come
ask_ai: "Chiedi all'IA"
ai_assistant: Assistente IA
discord_community: Comunità Discord
integrations: Integrazioni
teams: Squadre
tenants: Tenant
@ -3242,7 +3230,6 @@ fr: &fr
awaiting_completion_by_the_other_party: En attente de finalisation par lautre partie
enforce_recipients_order: Imposer lordre des destinataires
first_party: Première partie
wabosign_trusted_signature: Signature de confiance WaboSign
hello_name: Bonjour %{name}
you_are_invited_to_product_name: Vous êtes invité à %{product_name}
you_have_been_invited_to_account_name_product_name_please_sign_up_using_the_link_below_: 'Vous avez été invité à %{account_name} %{product_name}. Veuillez vous inscrire en utilisant le lien ci-dessous :'
@ -3250,7 +3237,6 @@ fr: &fr
sent_using_product_name_free_document_signing_html: Envoyé avec <a href="%{product_url}">%{product_name}</a> signature de documents gratuite.
sent_with_docuseal_pro_html: Envoyé avec <a href="%{product_url}">WaboSign Pro</a>
show_send_with_docuseal_pro_attribution_in_emails_html: Afficher lattribution "Envoyé avec <span class="link">WaboSign Pro</span>" dans les emails
sign_documents_with_trusted_certificate_provided_by_docu_seal_your_documents_and_data_are_never_shared_with_docu_seal_p_d_f_checksum_is_provided_to_generate_a_trusted_signature: Signez des documents avec un certificat de confiance fourni par WaboSign. Vos documents et données ne sont jamais partagés avec WaboSign. Une empreinte (checksum) PDF est fournie pour générer une signature de confiance.
hi_there: Bonjour
thanks: Merci
you_have_been_invited_to_submit_the_name_form: Vous avez été invité à soumettre le formulaire "%{name}".
@ -3548,8 +3534,6 @@ fr: &fr
leave: Quitter
impersonated_as: Connecté en tant que
ask_ai: Demander à lIA
ai_assistant: Assistant IA
discord_community: Communauté Discord
integrations: Intégrations
teams: Équipes
tenants: Locataires
@ -4292,7 +4276,6 @@ pt: &pt
awaiting_completion_by_the_other_party: "Aguardando a conclusão pela outra parte"
enforce_recipients_order: 'Forçar a ordem dos destinatários'
first_party: 'Primeira Parte'
wabosign_trusted_signature: Assinatura Confiável WaboSign
hello_name: Olá %{name}
you_are_invited_to_product_name: Você está convidado para %{product_name}
you_have_been_invited_to_account_name_product_name_please_sign_up_using_the_link_below_: 'Você foi convidado para %{account_name} %{product_name}. Inscreva-se usando o link abaixo:'
@ -4300,7 +4283,6 @@ pt: &pt
sent_using_product_name_free_document_signing_html: 'Enviado usando a assinatura gratuita de documentos de <a href="%{product_url}">%{product_name}</a>.'
sent_with_docuseal_pro_html: 'Enviado com <a href="%{product_url}">WaboSign Pro</a>'
show_send_with_docuseal_pro_attribution_in_emails_html: Mostrar "Enviado com <span class="link">WaboSign Pro</span>" nos e-mails
sign_documents_with_trusted_certificate_provided_by_docu_seal_your_documents_and_data_are_never_shared_with_docu_seal_p_d_f_checksum_is_provided_to_generate_a_trusted_signature: Assine documentos com certificado confiável fornecido pela WaboSign. Seus documentos e dados nunca são compartilhados com a WaboSign. O checksum do PDF é fornecido para gerar uma assinatura confiável.
hi_there: Olá
thanks: Obrigado
you_have_been_invited_to_submit_the_name_form: 'Você foi convidado a submeter o formulário "%{name}".'
@ -4598,8 +4580,6 @@ pt: &pt
leave: Deixar
impersonated_as: Acessando como
ask_ai: Perguntar para a IA
ai_assistant: Assistente de IA
discord_community: Comunidade Discord
integrations: Integrações
teams: Equipes
tenants: Locatários
@ -5345,7 +5325,6 @@ de: &de
accessiable_by: Zugänglich für
team_access: Teamzugang
document_download_filename_format: Format des Dateinamens beim Herunterladen von Dokumenten
wabosign_trusted_signature: WaboSign-Vertrauenssignatur
hello_name: Hallo %{name}
you_are_invited_to_product_name: Sie sind zu %{product_name} eingeladen
you_have_been_invited_to_account_name_product_name_please_sign_up_using_the_link_below_: 'Sie wurden zu %{account_name} %{product_name} eingeladen. Bitte registrieren Sie sich über den folgenden Link:'
@ -5353,7 +5332,6 @@ de: &de
sent_using_product_name_free_document_signing_html: 'Gesendet mit der kostenlosen Dokumentensignierung von <a href="%{product_url}">%{product_name}</a>.'
sent_with_docuseal_pro_html: Gesendet mit <a href="%{product_url}">WaboSign Pro</a>
show_send_with_docuseal_pro_attribution_in_emails_html: '"Gesendet mit <span class="link">WaboSign Pro</span>" in E-Mails anzeigen'
sign_documents_with_trusted_certificate_provided_by_docu_seal_your_documents_and_data_are_never_shared_with_docu_seal_p_d_f_checksum_is_provided_to_generate_a_trusted_signature: Unterzeichnen Sie Dokumente mit einem vertrauenswürdigen Zertifikat von WaboSign. Ihre Dokumente und Daten werden niemals mit WaboSign geteilt. Eine PDF-Prüfsumme wird bereitgestellt, um eine vertrauenswürdige Signatur zu generieren.
you_have_been_invited_to_submit_the_name_form: 'Sie wurden eingeladen, das Formular "%{name}" einzureichen.'
you_have_been_invited_to_sign_the_name: 'Sie wurden eingeladen, "%{name}" zu unterschreiben.'
alternatively_you_can_review_and_download_your_copy_using_the_link_below: 'Alternativ können Sie Ihre Kopie über den untenstehenden Link ansehen und herunterladen:'
@ -5651,8 +5629,6 @@ de: &de
leave: Verlassen
impersonated_as: Eingeloggt als
ask_ai: KI fragen
ai_assistant: KI-Assistent
discord_community: Discord-Community
integrations: Integrationen
teams: Teams
tenants: Mandanten
@ -6802,7 +6778,6 @@ nl: &nl
accessiable_by: Toegankelijk voor
team_access: Teamtoegang
document_download_filename_format: Bestandsnaamformaat voor documentdownload
wabosign_trusted_signature: WaboSign Vertrouwde handtekening
hello_name: Hallo %{name}
you_are_invited_to_product_name: U bent uitgenodigd voor %{product_name}
you_have_been_invited_to_account_name_product_name_please_sign_up_using_the_link_below_: 'U bent uitgenodigd voor %{account_name} %{product_name}. Meld u aan via de onderstaande link:'
@ -7109,8 +7084,6 @@ nl: &nl
leave: Verlaten
impersonated_as: Ingelogd als
ask_ai: AI vragen
ai_assistant: AI-assistent
discord_community: Discord-community
integrations: Integraties
teams: Teams
tenants: Tenants

@ -8,10 +8,11 @@ RSpec.describe 'SSO Settings' do
sign_in(user)
end
it 'shows SSO settings page' do
it 'shows the Google SSO configuration form' do
visit settings_sso_index_path
expect(page).to have_content('SSO')
expect(page).to have_content('SAML_CONFIGS')
expect(page).to have_content('Google SSO')
expect(page).to have_content('Client ID')
expect(page).to have_content('Client Secret')
end
end

Loading…
Cancel
Save