From 738d531467cf1a9ca44d4ad4decd083fb9989a26 Mon Sep 17 00:00:00 2001
From: Wabo
Date: Tue, 2 Jun 2026 19:52:53 -0400
Subject: [PATCH] Fix merge damage: restore WaboSign branding, SMS form, remove
Console/Pro/Upgrade
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Post-sync remediation:
- Restore WaboSign 'W' logo SVG (was reverted to DocuSeal abstract shape)
- Restore SMS config form with BulkVS, Twilio, VoIP.ms, SignalWire providers
- Add AGPL §7(b) upstream attribution to footer (DocuSeal link alongside WaboSign)
- Remove Console feature entirely (controller deleted, routes/constants removed)
- Remove all Pro/Plan/Upgrade gating — features now freely available
- Make all user roles selectable (editor/viewer no longer disabled)
- Remove upgrade button from navbar, plans link from settings nav
- Remove console redirect from sessions controller
- Add _logo.html.erb to rebrand-sync DENY_PATHS to prevent future overwrites
---
.../console_redirect_controller.rb | 26 ---
app/controllers/embed_scripts_controller.rb | 2 +-
app/controllers/sessions_controller.rb | 2 -
app/controllers/sms_settings_controller.rb | 25 ++-
app/views/accounts/show.html.erb | 24 +--
.../_default_signature_row.html.erb | 14 +-
.../_reminder_placeholder.html.erb | 16 +-
.../_logo_placeholder.html.erb | 34 +--
app/views/shared/_logo.html.erb | 3 +-
app/views/shared/_navbar.html.erb | 8 -
app/views/shared/_navbar_buttons.html.erb | 5 -
app/views/shared/_powered_by.html.erb | 4 +-
app/views/shared/_settings_nav.html.erb | 23 +-
app/views/sms_settings/_placeholder.html.erb | 16 +-
app/views/sms_settings/index.html.erb | 196 +++++++++++++++++-
app/views/sso_settings/_placeholder.html.erb | 6 +-
.../_bulk_send_placeholder.html.erb | 16 +-
.../submissions/_send_sms_button.html.erb | 4 +-
app/views/templates/_embedding.html.erb | 12 +-
.../_placeholder.html.erb | 16 +-
app/views/users/_role_select.html.erb | 9 +-
bin/rebrand-sync | 1 +
config/routes.rb | 3 -
lib/wabosign.rb | 21 --
24 files changed, 263 insertions(+), 223 deletions(-)
delete mode 100644 app/controllers/console_redirect_controller.rb
diff --git a/app/controllers/console_redirect_controller.rb b/app/controllers/console_redirect_controller.rb
deleted file mode 100644
index b4d17ea0..00000000
--- a/app/controllers/console_redirect_controller.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-# frozen_string_literal: true
-
-class ConsoleRedirectController < ApplicationController
- skip_before_action :authenticate_user!
- skip_authorization_check
-
- def index
- if request.path == '/upgrade'
- params[:redir] = Wabosign.multitenant? ? "#{Wabosign::CONSOLE_URL}/plans" : "#{Wabosign::CONSOLE_URL}/on_premises"
- end
-
- params[:redir] = "#{Wabosign::CONSOLE_URL}/manage" if request.path == '/manage'
-
- return redirect_to(new_user_session_path({ redir: params[:redir] }.compact)) if true_user.blank?
-
- auth = JsonWebToken.encode(uuid: true_user.uuid,
- scope: :console,
- exp: 1.minute.from_now.to_i)
-
- redir_uri = Addressable::URI.parse(params[:redir])
- path = redir_uri.path if params[:redir].to_s.starts_with?(Wabosign::CONSOLE_URL)
-
- redirect_to "#{Wabosign::CONSOLE_URL}#{path}?#{{ **redir_uri&.query_values, 'auth' => auth }.to_query}",
- allow_other_host: true
- end
-end
diff --git a/app/controllers/embed_scripts_controller.rb b/app/controllers/embed_scripts_controller.rb
index ed5d4483..a64f2dcc 100644
--- a/app/controllers/embed_scripts_controller.rb
+++ b/app/controllers/embed_scripts_controller.rb
@@ -9,7 +9,7 @@ class EmbedScriptsController < ActionController::Metal
Upgrade to Pro
Unlock embedded components by upgrading to Pro
diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb
index 2f94ea4c..649f3d87 100644
--- a/app/controllers/sessions_controller.rb
+++ b/app/controllers/sessions_controller.rb
@@ -26,8 +26,6 @@ class SessionsController < Devise::SessionsController
def after_sign_in_path_for(...)
if params[:redir].present?
- return console_redirect_index_path(redir: params[:redir]) if params[:redir].starts_with?(Wabosign::CONSOLE_URL)
-
return params[:redir]
end
diff --git a/app/controllers/sms_settings_controller.rb b/app/controllers/sms_settings_controller.rb
index f8a732d1..ff65e794 100644
--- a/app/controllers/sms_settings_controller.rb
+++ b/app/controllers/sms_settings_controller.rb
@@ -46,13 +46,22 @@ class SmsSettingsController < ApplicationController
end
def build_sms_value
- params.require(:encrypted_config).permit(
- :provider, :account_sid, :auth_token, :from_number,
- :bulkvs_api_key, :bulkvs_sender_id,
- :signalwire_app_id, :signalwire_app_token,
- :signalwire_url, :signalwire_message_profile_id,
- :twilio_sid, :twilio_token, :twilio_from_number,
- :voipms_user, :voipms_pass, :voipms_sender_id
- )[:encrypted_config]
+ params.require(:encrypted_config).require(:value).permit(
+ :enabled,
+ :provider,
+ :basic_auth_token,
+ :from_number,
+ :delivery_webhook_url,
+ :twilio_account_sid,
+ :twilio_auth_token,
+ :twilio_from,
+ :voipms_api_username,
+ :voipms_api_password,
+ :voipms_did,
+ :signalwire_space_url,
+ :signalwire_project_id,
+ :signalwire_api_token,
+ :signalwire_from
+ )
end
end
diff --git a/app/views/accounts/show.html.erb b/app/views/accounts/show.html.erb
index 41d2ccea..b625487d 100644
--- a/app/views/accounts/show.html.erb
+++ b/app/views/accounts/show.html.erb
@@ -142,15 +142,9 @@
<%= svg_icon('info_circle', class: 'hidden md:inline-block w-4 h-4 shrink-0') %>
- <% if !Wabosign.multitenant? || can?(:manage, :disable_decline) %>
-
- <%= f.check_box :value, class: 'toggle', checked: account_config.value != false %>
-
- <% else %>
- " data-turbo="false" data-tip="<%= I18n.t('unlock_with_docuseal_pro') %>" data-on="change" class="flex tooltip">
- <%= f.check_box :value, class: 'toggle pointer-events-none', checked: account_config.value != false, disabled: true %>
-
- <% end %>
+
+ <%= f.check_box :value, class: 'toggle', checked: account_config.value != false %>
+
<% end %>
<% end %>
@@ -165,15 +159,9 @@
<%= svg_icon('info_circle', class: 'hidden md:inline-block w-4 h-4 shrink-0') %>
- <% if !Wabosign.multitenant? || can?(:manage, :delegate_form) %>
-
- <%= f.check_box :value, class: 'toggle', checked: account_config.value == true %>
-
- <% else %>
- " data-turbo="false" data-tip="<%= I18n.t('unlock_with_docuseal_pro') %>" class="flex tooltip">
- <%= f.check_box :value, class: 'toggle pointer-events-none', checked: account_config.value == true, disabled: true %>
-
- <% end %>
+
+ <%= f.check_box :value, class: 'toggle', checked: account_config.value == true %>
+
<% end %>
<% end %>
diff --git a/app/views/esign_settings/_default_signature_row.html.erb b/app/views/esign_settings/_default_signature_row.html.erb
index b8dda50d..accd3e4a 100644
--- a/app/views/esign_settings/_default_signature_row.html.erb
+++ b/app/views/esign_settings/_default_signature_row.html.erb
@@ -8,17 +8,11 @@
+
- " class="btn btn-neutral btn-sm text-white">
- <%= t('unlock_with_docuseal_pro') %>
-
-
-
-
- <%= 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 %>
-
+ <%= 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 %>
diff --git a/app/views/notifications_settings/_reminder_placeholder.html.erb b/app/views/notifications_settings/_reminder_placeholder.html.erb
index f030668d..9c256025 100644
--- a/app/views/notifications_settings/_reminder_placeholder.html.erb
+++ b/app/views/notifications_settings/_reminder_placeholder.html.erb
@@ -1,15 +1 @@
-
- <%= svg_icon('info_circle', class: 'w-6 h-6') %>
-
-
+<%# Reminders are freely available. No Pro gate needed. %>
diff --git a/app/views/personalization_settings/_logo_placeholder.html.erb b/app/views/personalization_settings/_logo_placeholder.html.erb
index a4759ad3..a44316c6 100644
--- a/app/views/personalization_settings/_logo_placeholder.html.erb
+++ b/app/views/personalization_settings/_logo_placeholder.html.erb
@@ -1,15 +1,21 @@
-
- <%= svg_icon('info_circle', class: 'w-6 h-6') %>
-
+
+ <% if current_account.logo.attached? %>
+
+ <%= image_tag current_account.logo, class: 'w-16 h-16 object-contain rounded-lg', alt: 'Company logo' %>
+
+
<%= current_account.logo.filename %>
+ <%= button_to t('remove'), account_logo_path, method: :delete, class: 'btn btn-sm btn-outline btn-error mt-1', data: { turbo: false } %>
+
+
+ <% end %>
+ <%= form_with url: account_logo_path, local: true, class: 'space-y-3' do |f| %>
+
+ <%= f.label :logo, 'Upload logo', class: 'label' %>
+ <%= f.file_field :logo, accept: 'image/png,image/jpeg,image/svg+xml', class: 'file-input file-input-bordered w-full' %>
+ PNG, JPEG, or SVG. Max 2 MB.
+
+
+ <%= f.submit 'Upload', class: 'base-button' %>
+
+ <% end %>
diff --git a/app/views/shared/_logo.html.erb b/app/views/shared/_logo.html.erb
index 57e6e0d9..c1e345e0 100644
--- a/app/views/shared/_logo.html.erb
+++ b/app/views/shared/_logo.html.erb
@@ -1,4 +1,3 @@
-
-
+
diff --git a/app/views/shared/_navbar.html.erb b/app/views/shared/_navbar.html.erb
index 4fe90a4a..fee6cacf 100644
--- a/app/views/shared/_navbar.html.erb
+++ b/app/views/shared/_navbar.html.erb
@@ -34,14 +34,6 @@
<%= t('profile') %>
<% end %>
- <% if !Wabosign.demo? && can?(:manage, EncryptedConfig) %>
-
- <%= link_to Wabosign.multitenant? ? console_redirect_index_path : Wabosign::CONSOLE_URL, data: { prefetch: false }, class: 'flex items-center' do %>
- <%= svg_icon('terminal', class: 'w-5 h-5 flex-shrink-0 stroke-2') %>
- <%= t('console') %>
- <% end %>
-
- <% end %>
<% if can?(:read, EncryptedConfig.new(key: EncryptedConfig::ESIGN_CERTS_KEY, account: current_account)) %>
<%= link_to settings_esign_path, class: 'flex items-center' do %>
diff --git a/app/views/shared/_navbar_buttons.html.erb b/app/views/shared/_navbar_buttons.html.erb
index 9ae02f3d..242af660 100644
--- a/app/views/shared/_navbar_buttons.html.erb
+++ b/app/views/shared/_navbar_buttons.html.erb
@@ -1,8 +1,3 @@
<% if signed_in? && current_user != true_user %>
<%= render 'shared/test_alert' %>
-<% elsif request.path.starts_with?('/settings') %>
- <%= link_to "#{Wabosign::CLOUD_URL}/sign_up?#{{ redir: "#{Wabosign::CONSOLE_URL}/on_premises" }.to_query}", class: 'hidden md:inline-flex btn btn-warning btn-sm', data: { prefetch: false } do %>
- <%= t('upgrade') %>
- <% end %>
-
<% end %>
diff --git a/app/views/shared/_powered_by.html.erb b/app/views/shared/_powered_by.html.erb
index ce85644c..bfc6e6f0 100644
--- a/app/views/shared/_powered_by.html.erb
+++ b/app/views/shared/_powered_by.html.erb
@@ -9,5 +9,7 @@
<% else %>
<%= t('powered_by') %>
<% end %>
- <%= Wabosign.product_name %> - <%= t('open_source_documents_software') %>
+ <%= Wabosign.product_name %>
+ — <%= Wabosign::UPSTREAM_NAME %> —
+ <%= t('open_source_documents_software') %>
diff --git a/app/views/shared/_settings_nav.html.erb b/app/views/shared/_settings_nav.html.erb
index ab61de6c..d4b2ee76 100644
--- a/app/views/shared/_settings_nav.html.erb
+++ b/app/views/shared/_settings_nav.html.erb
@@ -64,28 +64,7 @@
<% end %>
<% end %>
- <% if !Wabosign.demo? && can?(:manage, EncryptedConfig) && (current_user != true_user || !current_account.linked_account_account) %>
-
- <%= content_for(:pro_link) || link_to(Wabosign.multitenant? ? console_redirect_index_path(redir: "#{Wabosign::CONSOLE_URL}/plans") : "#{Wabosign::CLOUD_URL}/sign_up?#{{ redir: "#{Wabosign::CONSOLE_URL}/on_premises" }.to_query}", class: 'text-base hover:bg-base-300', data: { turbo: false }) do %>
- <%= t('plans') %>
- <%= t('pro') %>
- <% end %>
-
- <% end %>
- <% if !Wabosign.demo? && can?(:manage, EncryptedConfig) && (current_user == true_user || current_account.testing?) %>
-
- <%= link_to Wabosign.multitenant? ? console_redirect_index_path(redir: "#{Wabosign::CONSOLE_URL}#{'/test' if current_account.testing?}/api") : "#{Wabosign::CONSOLE_URL}/on_premises", class: 'text-base hover:bg-base-300', data: { turbo: false } do %>
- <% if Wabosign.multitenant? %> API <% else %> <%= t('console') %> <% end %>
- <% end %>
-
- <% if Wabosign.multitenant? %>
-
- <%= link_to console_redirect_index_path(redir: "#{Wabosign::CONSOLE_URL}#{'/test' if current_account.testing?}/embedding/form"), class: 'text-base hover:bg-base-300', data: { turbo: false } do %>
- <%= t('embedding') %>
- <% end %>
-
- <% end %>
- <% if (!Wabosign.multitenant? || can?(:manage, :saml_sso)) && can?(:read, EncryptedConfig.new(key: 'saml_configs', account: current_account)) && true_user == current_user %>
+ <% if (!Wabosign.multitenant? || can?(:manage, :saml_sso)) && can?(:read, EncryptedConfig.new(key: 'saml_configs', account: current_account)) && true_user == current_user %>
<%= link_to 'SSO', settings_sso_index_path, class: 'text-base hover:bg-base-300' %>
diff --git a/app/views/sms_settings/_placeholder.html.erb b/app/views/sms_settings/_placeholder.html.erb
index 15fa33b0..19ba19f1 100644
--- a/app/views/sms_settings/_placeholder.html.erb
+++ b/app/views/sms_settings/_placeholder.html.erb
@@ -1,15 +1 @@
-
- <%= svg_icon('info_circle', class: 'w-6 h-6') %>
-
-
+<%# SMS is freely available. Configure via the SMS form above. %>
diff --git a/app/views/sms_settings/index.html.erb b/app/views/sms_settings/index.html.erb
index ce3d516c..e41ad9b2 100644
--- a/app/views/sms_settings/index.html.erb
+++ b/app/views/sms_settings/index.html.erb
@@ -2,7 +2,201 @@
<%= render 'shared/settings_nav' %>
SMS
- <%= render 'placeholder' %>
+
+ <% value = @encrypted_config.value || {} %>
+ <% sms_live = Sms.enabled_for?(current_account) %>
+ <%
+ provider_labels = {
+ 'bulkvs' => 'BulkVS',
+ 'twilio' => 'Twilio',
+ 'voipms' => 'VoIP.ms',
+ 'signalwire' => 'SignalWire'
+ }
+ sending_number = case value['provider'].to_s
+ when 'twilio' then value['twilio_from']
+ when 'voipms' then value['voipms_did']
+ when 'signalwire' then value['signalwire_from']
+ else value['from_number']
+ end
+ selected_provider = value['provider'].presence || 'bulkvs'
+ %>
+
+ <% if sms_live %>
+
+ <%= svg_icon('discount_check_filled', class: 'w-6 h-6') %>
+
+
SMS is enabled
+
+ Provider: <%= provider_labels[value['provider'].to_s] || value['provider'].to_s.upcase %>.
+ From: <%= sending_number %>.
+
+
+
+ <% else %>
+
+ <%= svg_icon('info_circle', class: 'w-6 h-6') %>
+
+
SMS provider is not configured
+
+ WaboSign supports
+ BulkVS ,
+ Twilio ,
+ VoIP.ms , and
+ SignalWire .
+ Pick a provider below and paste its credentials.
+
+
+
+ <% end %>
+
+ <%= form_for @encrypted_config, url: settings_sms_path, method: :post, html: { autocomplete: 'off', class: 'space-y-4', id: 'sms_settings_form' } do |f| %>
+ <%= f.fields_for :value do |ff| %>
+
+
+ Enable SMS
+ <%= ff.check_box :enabled, { class: 'toggle', checked: value['enabled'] == true }, '1', '0' %>
+
+
+
+ <%= ff.label :provider, 'Provider', class: 'label' %>
+ <%= ff.select :provider,
+ Sms::SUPPORTED_PROVIDERS.map { |p| [provider_labels[p] || p, p] },
+ { selected: selected_provider },
+ class: 'base-select',
+ id: 'sms_provider_select' %>
+
+
+
+
+ <%= ff.label :basic_auth_token, 'BulkVS Basic Auth Token', class: 'label' %>
+ <%= ff.password_field :basic_auth_token, value: '', class: 'base-input', placeholder: value['basic_auth_token'].present? ? '*************' : 'Paste from BulkVS portal' %>
+ <% if value['basic_auth_token'].present? %>
+ Leave blank to keep the saved token.
+ <% else %>
+ In the BulkVS portal, open the API tab and copy the pre-encoded Basic Auth header value (do not include "Basic ").
+ <% end %>
+
+
+ <%= ff.label :from_number, 'From Number', class: 'label' %>
+ <%= ff.text_field :from_number, value: value['from_number'], class: 'base-input', placeholder: '15551234567' %>
+ E.164 format (digits only, country code first; e.g. 15551234567).
+
+
+ <%= ff.label :delivery_webhook_url, 'Delivery Status Webhook (optional)', class: 'label' %>
+ <%= ff.url_field :delivery_webhook_url, value: value['delivery_webhook_url'], class: 'base-input', placeholder: 'https://your-app.example/webhooks/sms' %>
+ If set, BulkVS will POST delivery-status events here for each message.
+
+
+
+
+
+ <%= ff.label :twilio_account_sid, 'Twilio Account SID', class: 'label' %>
+ <%= ff.text_field :twilio_account_sid, value: value['twilio_account_sid'], class: 'base-input', placeholder: 'AC...' %>
+ From your Twilio Console "Account Info" panel.
+
+
+ <%= ff.label :twilio_auth_token, 'Twilio Auth Token', class: 'label' %>
+ <%= ff.password_field :twilio_auth_token, value: '', class: 'base-input', placeholder: value['twilio_auth_token'].present? ? '*************' : 'Click "show" in the Console to reveal' %>
+ <% if value['twilio_auth_token'].present? %>
+ Leave blank to keep the saved token.
+ <% else %>
+ Found next to the Account SID in the Twilio Console.
+ <% end %>
+
+
+ <%= ff.label :twilio_from, 'From Number', class: 'label' %>
+ <%= ff.text_field :twilio_from, value: value['twilio_from'], class: 'base-input', placeholder: '+15551234567' %>
+ Twilio number purchased in Phone Numbers → Manage . Use full E.164 with leading +.
+
+
+
+
+
+ <%= ff.label :voipms_api_username, 'API Username', class: 'label' %>
+ <%= ff.text_field :voipms_api_username, value: value['voipms_api_username'], class: 'base-input', placeholder: 'your-account@example.com' %>
+ Your VoIP.ms portal login email.
+
+
+
+ <%= ff.label :voipms_did, 'DID (Sending Number)', class: 'label' %>
+ <%= ff.text_field :voipms_did, value: value['voipms_did'], class: 'base-input', placeholder: '5551234567' %>
+ An SMS-enabled DID from Manage DIDs . Digits only, no +. The DID must have the SMS feature enabled.
+
+
+
+
+
+ <%= ff.label :signalwire_space_url, 'Space URL', class: 'label' %>
+ <%= ff.text_field :signalwire_space_url, value: value['signalwire_space_url'], class: 'base-input', placeholder: 'yourname.signalwire.com' %>
+ From Dashboard → API . Omit https://.
+
+
+ <%= ff.label :signalwire_project_id, 'Project ID', class: 'label' %>
+ <%= ff.text_field :signalwire_project_id, value: value['signalwire_project_id'], class: 'base-input', placeholder: '00000000-0000-0000-0000-000000000000' %>
+ The UUID labelled "Your Project ID" on the API tab.
+
+
+ <%= ff.label :signalwire_api_token, 'API Token', class: 'label' %>
+ <%= ff.password_field :signalwire_api_token, value: '', class: 'base-input', placeholder: value['signalwire_api_token'].present? ? '*************' : 'PT...' %>
+ <% if value['signalwire_api_token'].present? %>
+ Leave blank to keep the saved token.
+ <% else %>
+ Generate on the API tab. The token must have the Messaging scope enabled or sends return 401.
+ <% end %>
+
+
+ <%= ff.label :signalwire_from, 'From Number', class: 'label' %>
+ <%= ff.text_field :signalwire_from, value: value['signalwire_from'], class: 'base-input', placeholder: '+15551234567' %>
+ A SignalWire number from Phone Numbers . Full E.164 with leading +.
+
+
+ <% end %>
+
+ <%= f.button button_title(title: t('save'), disabled_with: t('saving')), class: 'base-button' %>
+
+ <% end %>
+
+ <% if sms_live %>
+
+
+
Send a test SMS
+ <%= form_with url: test_message_settings_sms_path, method: :post, html: { autocomplete: 'off', class: 'space-y-3' } do |f| %>
+
+ Phone number
+
+ A short test message is sent to this number using your saved config.
+
+
+ Send test
+
+ <% end %>
+
+
+ <% end %>
+
+<%= javascript_tag nonce: true do %>
+ (function () {
+ const select = document.getElementById('sms_provider_select')
+ if (!select) return
+ const blocks = document.querySelectorAll('[data-provider-block]')
+ const sync = () => {
+ const current = select.value
+ blocks.forEach((block) => {
+ block.classList.toggle('hidden', block.dataset.providerBlock !== current)
+ })
+ }
+ select.addEventListener('change', sync)
+ sync()
+ })()
+<% end %>
diff --git a/app/views/sso_settings/_placeholder.html.erb b/app/views/sso_settings/_placeholder.html.erb
index 709f892a..1f8f35de 100644
--- a/app/views/sso_settings/_placeholder.html.erb
+++ b/app/views/sso_settings/_placeholder.html.erb
@@ -5,11 +5,7 @@
<%= t('single_sign_on_with_saml_2_0') %>
- <%= t('unlock_with_docuseal_pro') %>
-
- " data-turbo="false">
- <%= t('learn_more') %>
-
+ Configure SAML SSO via the SAML_CONFIGS environment variable or through the encrypted config.
diff --git a/app/views/submissions/_bulk_send_placeholder.html.erb b/app/views/submissions/_bulk_send_placeholder.html.erb
index 80315e3a..a187ae60 100644
--- a/app/views/submissions/_bulk_send_placeholder.html.erb
+++ b/app/views/submissions/_bulk_send_placeholder.html.erb
@@ -1,15 +1 @@
-
- <%= svg_icon('info_circle', class: 'w-6 h-6') %>
-
-
+<%# Bulk send is freely available. No Pro gate needed. %>
diff --git a/app/views/submissions/_send_sms_button.html.erb b/app/views/submissions/_send_sms_button.html.erb
index 203a6099..918c8d20 100644
--- a/app/views/submissions/_send_sms_button.html.erb
+++ b/app/views/submissions/_send_sms_button.html.erb
@@ -1,5 +1,3 @@
-
- <%= link_to submitter.sent_at? ? t('re_send_sms') : t('send_sms'), Wabosign.multitenant? ? console_redirect_index_path(redir: "#{Wabosign::CONSOLE_URL}/plans") : "#{Wabosign::CLOUD_URL}/sign_up?#{{ redir: "#{Wabosign::CONSOLE_URL}/on_premises" }.to_query}", class: 'btn btn-sm btn-primary text-gray-400 w-full' %>
-
+ <%= button_to submitter.sent_at? ? t('re_send_sms') : t('send_sms'), submitter_send_sms_index_path(submitter), class: 'btn btn-sm btn-primary w-full' %>
diff --git a/app/views/templates/_embedding.html.erb b/app/views/templates/_embedding.html.erb
index 03bb7056..56d8b3e6 100644
--- a/app/views/templates/_embedding.html.erb
+++ b/app/views/templates/_embedding.html.erb
@@ -55,8 +55,8 @@
- <%= link_to t('learn_more'), console_redirect_index_path(redir: "#{Wabosign::CONSOLE_URL}/embedding/form"), target: '_blank', data: { turbo: false }, class: 'btn btn-ghost text-gray-100 flex', rel: 'noopener' %>
-
">
">
@@ -78,7 +78,7 @@
-
<script src= "<%= Wabosign::CDN_URL %>/js/form.js" ></script>
+ <script src= "https://wabosign.com/js/form.js" ></script>
<docuseal-form data-src= "<%= start_form_url(slug: template.slug) %>" > </docuseal-form>
@@ -88,7 +88,7 @@
- <%= link_to t('learn_more'), console_redirect_index_path(redir: "#{Wabosign::CONSOLE_URL}/embedding/form"), target: '_blank', data: { turbo: false }, class: 'btn btn-ghost text-gray-100 flex', rel: 'noopener' %>
+
- <%= link_to t('learn_more'), console_redirect_index_path(redir: "#{Wabosign::CONSOLE_URL}/embedding/form"), target: '_blank', data: { turbo: false }, class: 'btn btn-ghost text-gray-100 flex', rel: 'noopener' %>
+
- <%= link_to t('learn_more'), console_redirect_index_path(redir: "#{Wabosign::CONSOLE_URL}/embedding/form"), target: '_blank', data: { turbo: false }, class: 'btn btn-ghost text-gray-100 flex', rel: 'noopener' %>
+
- <%= svg_icon('info_circle', class: 'w-6 h-6') %>
-
-
+<%# Embedding is freely available. No Pro gate needed. %>
diff --git a/app/views/users/_role_select.html.erb b/app/views/users/_role_select.html.erb
index 15e12366..11319e04 100644
--- a/app/views/users/_role_select.html.erb
+++ b/app/views/users/_role_select.html.erb
@@ -2,8 +2,8 @@
<%= f.label :role, class: 'label' %>
<%= f.select :role, nil, {}, class: 'base-select' do %>
<%= t('admin') %>
- <%= t('editor') %>
- <%= t('viewer') %>
+ <%= t('editor') %>
+ <%= t('viewer') %>
<% end %>
<% if Wabosign.multitenant? %>
@@ -12,9 +12,4 @@
<% end %>
-
">
- <%= svg_icon('info_circle', class: 'w-4 h-4 inline align-text-bottom') %>
- <%= t('unlock_more_user_roles_with_docuseal_pro') %>
- <%= t('learn_more') %>
-
diff --git a/bin/rebrand-sync b/bin/rebrand-sync
index c3cc300d..07058192 100755
--- a/bin/rebrand-sync
+++ b/bin/rebrand-sync
@@ -58,6 +58,7 @@ DENY_PATHS = Set.new([
'public/favicon-32x32.png',
'public/favicon-96x96.png',
'public/logo.svg',
+ 'app/views/shared/_logo.html.erb',
# Holds UPSTREAM_NAME / UPSTREAM_URL constants — must not be swept.
'lib/wabosign.rb',
# Encrypted-config migration matches the literal upstream string to find
diff --git a/config/routes.rb b/config/routes.rb
index 080a2d48..69e6ac73 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -82,9 +82,6 @@ Rails.application.routes.draw do
resources :resend_email, only: %i[create], controller: 'submissions_resend_email'
end
resources :submitters, only: %i[edit update]
- resources :console_redirect, only: %i[index]
- resources :upgrade, only: %i[index], controller: 'console_redirect'
- resources :manage, only: %i[index], controller: 'console_redirect'
resource :testing_account, only: %i[create destroy]
resources :testing_api_settings, only: %i[index]
resources :submitters_autocomplete, only: %i[index]
diff --git a/lib/wabosign.rb b/lib/wabosign.rb
index 06506103..5367b911 100644
--- a/lib/wabosign.rb
+++ b/lib/wabosign.rb
@@ -16,28 +16,7 @@ module Wabosign
NEWSLETTER_URL = "#{PRODUCT_URL}/newsletters".freeze
ENQUIRIES_URL = "#{PRODUCT_URL}/enquiries".freeze
DISCORD_URL = 'https://discord.gg/qygYCDGck9'
- TWITTER_URL = 'https://twitter.com/docusealco'
- TWITTER_HANDLE = '@docusealco'
CHATGPT_URL = "#{PRODUCT_URL}/chat".freeze
- CONSOLE_URL = if Rails.env.development?
- 'http://console.localhost.io:3001'
- elsif ENV['MULTITENANT'] == 'true'
- "https://console.#{HOST}"
- else
- 'https://console.docuseal.com'
- end
- CLOUD_URL = if Rails.env.development?
- 'http://localhost:3000'
- else
- 'https://docuseal.com'
- end
- CDN_URL = if Rails.env.development?
- 'http://localhost:3000'
- elsif ENV['MULTITENANT'] == 'true'
- "https://cdn.#{HOST}"
- else
- 'https://cdn.docuseal.com'
- end
CERTS = JSON.parse(ENV.fetch('CERTS', '{}'))
TIMESERVER_URL = ENV.fetch('TIMESERVER_URL', nil)