diff --git a/app/controllers/api/active_storage_blobs_proxy_controller.rb b/app/controllers/api/active_storage_blobs_proxy_controller.rb index a542c637b..56ad1c3da 100644 --- a/app/controllers/api/active_storage_blobs_proxy_controller.rb +++ b/app/controllers/api/active_storage_blobs_proxy_controller.rb @@ -14,7 +14,7 @@ def show blob_uuid, purp, exp = ApplicationRecord.signed_id_verifier.verified(params[:signed_uuid]) if blob_uuid.blank? || purp != 'blob' - Rollbar.error('Blob not found') if defined?(Rollbar) + Rails.logger.error('Blob not found') return head :not_found end @@ -57,7 +57,7 @@ def authorization_check!(attachment, record, exp) return if !require_ttl && !require_auth end - Rollbar.error('Blob unauthorized') if defined?(Rollbar) + Rails.logger.error('Blob unauthorized') raise CanCan::AccessDenied end diff --git a/app/controllers/api/active_storage_blobs_proxy_legacy_controller.rb b/app/controllers/api/active_storage_blobs_proxy_legacy_controller.rb index 77ad2c6ad..c023f2656 100644 --- a/app/controllers/api/active_storage_blobs_proxy_legacy_controller.rb +++ b/app/controllers/api/active_storage_blobs_proxy_legacy_controller.rb @@ -12,7 +12,7 @@ class ActiveStorageBlobsProxyLegacyController < ApiBaseController # rubocop:disable Metrics def show - Rollbar.info('Blob legacy') if defined?(Rollbar) + Rails.logger.info('Blob legacy') blob = ActiveStorage::Blob.find_signed(params[:signed_blob_id] || params[:signed_id]) @@ -25,7 +25,7 @@ def show end unless is_permitted - Rollbar.error("Blob account not found: #{blob.id}") if defined?(Rollbar) + Rails.logger.error("Blob account not found: #{blob.id}") return render json: { error: 'Not authenticated' }, status: :unauthorized end diff --git a/app/controllers/api/api_base_controller.rb b/app/controllers/api/api_base_controller.rb index ff01fc8fc..8ebe7f217 100644 --- a/app/controllers/api/api_base_controller.rb +++ b/app/controllers/api/api_base_controller.rb @@ -20,7 +20,7 @@ class ApiBaseController < ActionController::API end rescue_from RateLimit::LimitApproached do |e| - Rollbar.error(e) if defined?(Rollbar) + Rails.logger.error(e) render json: { error: 'Too many requests' }, status: :too_many_requests end @@ -31,7 +31,7 @@ class ApiBaseController < ActionController::API end rescue_from JSON::ParserError do |e| - Rollbar.warning(e) if defined?(Rollbar) + Rails.logger.warn(e) render json: { error: "JSON parse error: #{e.message}" }, status: :unprocessable_content end diff --git a/app/controllers/api/attachments_controller.rb b/app/controllers/api/attachments_controller.rb index f00552cd5..aa7eccef6 100644 --- a/app/controllers/api/attachments_controller.rb +++ b/app/controllers/api/attachments_controller.rb @@ -14,13 +14,13 @@ def create image = Vips::Image.new_from_file(params[:file].path) if ImageUtils.blank?(image) - Rollbar.error("Empty signature: #{submitter.id}") if defined?(Rollbar) + Rails.logger.error("Empty signature: #{submitter.id}") return render json: { error: "#{params[:type]} is empty" }, status: :unprocessable_content end if ImageUtils.error?(image) - Rollbar.error("Error signature: #{submitter.id}") if defined?(Rollbar) + Rails.logger.error("Error signature: #{submitter.id}") return render json: { error: "#{params[:type]} error, try to sign on another device" }, status: :unprocessable_content @@ -35,7 +35,7 @@ def create render json: attachment.as_json(only: %i[uuid created_at], methods: %i[url filename content_type]) rescue Submitters::MaliciousFileExtension => e - Rollbar.error(e) if defined?(Rollbar) + Rails.logger.error(e) render json: { error: e.message }, status: :unprocessable_content end diff --git a/app/controllers/api/submissions_controller.rb b/app/controllers/api/submissions_controller.rb index 22af24d92..4258154d6 100644 --- a/app/controllers/api/submissions_controller.rb +++ b/app/controllers/api/submissions_controller.rb @@ -55,7 +55,7 @@ def create return render json: { error: 'Template not found' }, status: :unprocessable_content if @template.nil? if @template.fields.blank? - Rollbar.warning("Template does not contain fields: #{@template.id}") if defined?(Rollbar) + Rails.logger.warn("Template does not contain fields: #{@template.id}") return render json: { error: 'Template does not contain fields' }, status: :unprocessable_content end @@ -82,7 +82,7 @@ def create render json: build_create_json(submissions) rescue Submitters::NormalizeValues::BaseError, Submissions::CreateFromSubmitters::BaseError, DownloadUtils::UnableToDownload => e - Rollbar.warning(e) if defined?(Rollbar) + Rails.logger.warn(e) render json: { error: e.message }, status: :unprocessable_content end diff --git a/app/controllers/api/submitters_controller.rb b/app/controllers/api/submitters_controller.rb index e56eb8b8f..cded880f3 100644 --- a/app/controllers/api/submitters_controller.rb +++ b/app/controllers/api/submitters_controller.rb @@ -74,7 +74,7 @@ def update render json: Submitters::SerializeForApi.call(@submitter, with_template: false, with_urls: true, with_events: false, params:) rescue Submitters::NormalizeValues::BaseError, DownloadUtils::UnableToDownload => e - Rollbar.warning(e) if defined?(Rollbar) + Rails.logger.warn(e) render json: { error: e.message }, status: :unprocessable_content end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 50823ca7b..51569068b 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -28,24 +28,20 @@ class ApplicationController < ActionController::Base end rescue_from RateLimit::LimitApproached do |e| - Rollbar.error(e) if defined?(Rollbar) + Rails.logger.error(e) redirect_to request.referer, alert: 'Too many requests', status: :too_many_requests end if Rails.env.production? || Rails.env.test? rescue_from CanCan::AccessDenied do |e| - Rollbar.warning(e) if defined?(Rollbar) + Rails.logger.warn(e) redirect_to root_path, alert: e.message end end def default_url_options - if request.domain == 'docuseal.com' - return { host: 'docuseal.com', protocol: ENV['FORCE_SSL'].present? ? 'https' : 'http' } - end - Docuseal.default_url_options end @@ -125,11 +121,7 @@ def form_link_host Docuseal.default_url_options[:host] end - def maybe_redirect_com - return if request.domain != 'docuseal.co' - - redirect_to request.url.gsub('.co/', '.com/'), allow_other_host: true, status: :moved_permanently - end + def maybe_redirect_com; end def set_csp request.content_security_policy = current_content_security_policy.tap do |policy| diff --git a/app/controllers/console_redirect_controller.rb b/app/controllers/console_redirect_controller.rb index 4b9102637..b14ef7f7a 100644 --- a/app/controllers/console_redirect_controller.rb +++ b/app/controllers/console_redirect_controller.rb @@ -5,22 +5,6 @@ class ConsoleRedirectController < ApplicationController skip_authorization_check def index - if request.path == '/upgrade' - params[:redir] = Docuseal.multitenant? ? "#{Docuseal::CONSOLE_URL}/plans" : "#{Docuseal::CONSOLE_URL}/on_premises" - end - - params[:redir] = "#{Docuseal::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?(Docuseal::CONSOLE_URL) - - redirect_to "#{Docuseal::CONSOLE_URL}#{path}?#{{ **redir_uri&.query_values, 'auth' => auth }.to_query}", - allow_other_host: true + redirect_to root_path end end diff --git a/app/controllers/embed_scripts_controller.rb b/app/controllers/embed_scripts_controller.rb index a40ed79c9..70c2794e4 100644 --- a/app/controllers/embed_scripts_controller.rb +++ b/app/controllers/embed_scripts_controller.rb @@ -1,18 +1,12 @@ # frozen_string_literal: true class EmbedScriptsController < ActionController::Metal - DUMMY_SCRIPT = <<~JAVASCRIPT.freeze + DUMMY_SCRIPT = <<~JAVASCRIPT const DummyBuilder = class extends HTMLElement { connectedCallback() { this.innerHTML = `
-

Upgrade to Pro

-

Unlock embedded components by upgrading to Pro

-
- - Learn More - -
+

Embedded components are not available in this installation.

`; } diff --git a/app/controllers/enquiries_controller.rb b/app/controllers/enquiries_controller.rb index 829b578c2..46ef4b1f7 100644 --- a/app/controllers/enquiries_controller.rb +++ b/app/controllers/enquiries_controller.rb @@ -5,18 +5,6 @@ class EnquiriesController < ApplicationController skip_authorization_check def create - if params[:talk_to_sales] == 'on' - Faraday.post(Docuseal::ENQUIRIES_URL, - enquiry_params.merge(type: :talk_to_sales).to_json, - 'Content-Type' => 'application/json') - end - head :ok end - - private - - def enquiry_params - params.require(:user).permit(:email) - end end diff --git a/app/controllers/errors_controller.rb b/app/controllers/errors_controller.rb index 0c9e3632a..ac5a936d4 100644 --- a/app/controllers/errors_controller.rb +++ b/app/controllers/errors_controller.rb @@ -1,34 +1,12 @@ # frozen_string_literal: true class ErrorsController < ActionController::Base - ENTERPRISE_FEATURE_MESSAGE = - 'This feature is available in Pro Edition: https://www.docuseal.com/pricing' - - ENTERPRISE_PATHS = [ - '/submissions/html', - '/api/submissions/html', - '/templates/html', - '/api/templates/html', - '/submissions/pdf', - '/api/submissions/pdf', - '/templates/pdf', - '/api/templates/pdf', - '/templates/doc', - '/api/templates/doc', - '/templates/docx', - '/api/templates/docx' - ].freeze - SAFE_ERROR_MESSAGE_CLASSES = [ ActionDispatch::Http::Parameters::ParseError, JSON::ParserError ].freeze def show - if request.original_fullpath.in?(ENTERPRISE_PATHS) && error_status_code == 404 - return render json: { status: 404, message: ENTERPRISE_FEATURE_MESSAGE }, status: :not_found - end - respond_to do |f| f.json do set_cors_headers diff --git a/app/controllers/esign_settings_controller.rb b/app/controllers/esign_settings_controller.rb index 81c75fae3..19133ef31 100644 --- a/app/controllers/esign_settings_controller.rb +++ b/app/controllers/esign_settings_controller.rb @@ -60,7 +60,7 @@ def create redirect_to settings_esign_path, notice: I18n.t('certificate_has_been_successfully_added') rescue OpenSSL::PKCS12::PKCS12Error => e - Rollbar.error(e) if defined?(Rollbar) + Rails.logger.error(e) @cert_record.errors.add(:password, e.message) diff --git a/app/controllers/newsletters_controller.rb b/app/controllers/newsletters_controller.rb index ddd305c5c..aed26e11e 100644 --- a/app/controllers/newsletters_controller.rb +++ b/app/controllers/newsletters_controller.rb @@ -6,16 +6,6 @@ class NewslettersController < ApplicationController def show; end def update - Faraday.post(Docuseal::NEWSLETTER_URL, newsletter_params.to_json, 'Content-Type' => 'application/json') - rescue StandardError => e - Rails.logger.error(e) - ensure redirect_to root_path end - - private - - def newsletter_params - params.require(:user).permit(:email) - end end diff --git a/app/controllers/personalization_settings_controller.rb b/app/controllers/personalization_settings_controller.rb index d9d334901..3510d1aae 100644 --- a/app/controllers/personalization_settings_controller.rb +++ b/app/controllers/personalization_settings_controller.rb @@ -8,7 +8,8 @@ class PersonalizationSettingsController < ApplicationController AccountConfig::SUBMITTER_DOCUMENTS_COPY_EMAIL_KEY, AccountConfig::SUBMITTER_COMPLETED_EMAIL_KEY, AccountConfig::FORM_COMPLETED_MESSAGE_KEY, - *(Docuseal.multitenant? ? [] : [AccountConfig::POLICY_LINKS_KEY]) + *(Docuseal.multitenant? ? [] : [AccountConfig::POLICY_LINKS_KEY]), + AccountConfig::COMPANY_LOGO_URL_KEY ].freeze InvalidKey = Class.new(StandardError) diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index 2281d56f3..6413b6eb6 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -9,7 +9,7 @@ def create email = sign_in_params[:email].to_s.downcase if Docuseal.multitenant? && !User.exists?(email:) - Rollbar.warning('Sign in new user') if defined?(Rollbar) + Rails.logger.warn('Sign in new user') return redirect_to new_registration_path(sign_up: true, user: sign_in_params.slice(:email)), notice: I18n.t('create_a_new_account') @@ -25,11 +25,7 @@ def create private def after_sign_in_path_for(...) - if params[:redir].present? - return console_redirect_index_path(redir: params[:redir]) if params[:redir].starts_with?(Docuseal::CONSOLE_URL) - - return params[:redir] - end + return params[:redir] if params[:redir].present? super end diff --git a/app/controllers/start_form_controller.rb b/app/controllers/start_form_controller.rb index ad5d6455f..1e189b0d8 100644 --- a/app/controllers/start_form_controller.rb +++ b/app/controllers/start_form_controller.rb @@ -27,7 +27,7 @@ def show @template.submitters.first)['uuid']) render :email_verification if params[:email_verification] else - Rollbar.warning("Not shared template: #{@template.id}") if defined?(Rollbar) + Rails.logger.warn("Not shared template: #{@template.id}") return render :private if current_user && current_ability.can?(:read, @template) @@ -111,7 +111,7 @@ def authorize_start! return if @resubmit_submitter return if @template.shared_link? || (current_user && current_ability.can?(:read, @template)) - Rollbar.warning("Not shared template: #{@template.id}") if defined?(Rollbar) + Rails.logger.warn("Not shared template: #{@template.id}") redirect_to start_form_path(@template.slug) end diff --git a/app/controllers/submissions_download_controller.rb b/app/controllers/submissions_download_controller.rb index 4bcd3237e..aac293e4d 100644 --- a/app/controllers/submissions_download_controller.rb +++ b/app/controllers/submissions_download_controller.rb @@ -28,7 +28,7 @@ def index Submissions::EnsureResultGenerated.call(last_submitter) if last_submitter.completed_at < TTL.ago && !signature_valid && !current_user_submitter?(last_submitter) - Rollbar.info("TTL: #{last_submitter.id}") if defined?(Rollbar) + Rails.logger.info("TTL: #{last_submitter.id}") return head :not_found end diff --git a/app/controllers/submissions_preview_controller.rb b/app/controllers/submissions_preview_controller.rb index 6163c36b9..a7bb86577 100644 --- a/app/controllers/submissions_preview_controller.rb +++ b/app/controllers/submissions_preview_controller.rb @@ -29,7 +29,7 @@ def show end if use_signature?(@submission) && !signature_valid - Rollbar.info("TTL: #{@submission.id}") if defined?(Rollbar) + Rails.logger.info("TTL: #{@submission.id}") return redirect_to submissions_preview_completed_path(@submission.slug) end diff --git a/app/controllers/submit_form_controller.rb b/app/controllers/submit_form_controller.rb index f723aa32f..1c10932a4 100644 --- a/app/controllers/submit_form_controller.rb +++ b/app/controllers/submit_form_controller.rb @@ -74,7 +74,7 @@ def update head :ok rescue Submitters::SubmitValues::RequiredFieldError => e - Rollbar.warning("Required field #{@submitter.id}: #{e.message}") if defined?(Rollbar) + Rails.logger.warn("Required field #{@submitter.id}: #{e.message}") render json: { field_uuid: e.message }, status: :unprocessable_content rescue Submitters::SubmitValues::ValidationError => e diff --git a/app/controllers/submitters_send_email_controller.rb b/app/controllers/submitters_send_email_controller.rb index f3eb31871..0ecced8e1 100644 --- a/app/controllers/submitters_send_email_controller.rb +++ b/app/controllers/submitters_send_email_controller.rb @@ -7,7 +7,7 @@ def create if Docuseal.multitenant? && SubmissionEvent.exists?(submitter: @submitter, event_type: 'send_email', created_at: 10.hours.ago..Time.current) - Rollbar.warning("Already sent: #{@submitter.id}") if defined?(Rollbar) + Rails.logger.warn("Already sent: #{@submitter.id}") return redirect_back(fallback_location: submission_path(@submitter.submission), alert: I18n.t('email_has_been_sent_already')) diff --git a/app/controllers/templates_uploads_controller.rb b/app/controllers/templates_uploads_controller.rb index e8c00aeaa..92311dfed 100644 --- a/app/controllers/templates_uploads_controller.rb +++ b/app/controllers/templates_uploads_controller.rb @@ -31,7 +31,7 @@ def create rescue Templates::CreateAttachments::PdfEncrypted render turbo_stream: turbo_stream.append(params[:form_id], html: helpers.tag.prompt_password) rescue StandardError => e - Rollbar.error(e) if defined?(Rollbar) + Rails.logger.error(e) raise if Rails.env.local? diff --git a/app/javascript/rollbar.js b/app/javascript/rollbar.js deleted file mode 100644 index 21222e830..000000000 --- a/app/javascript/rollbar.js +++ /dev/null @@ -1,40 +0,0 @@ -import Rollbar from 'rollbar/dist/rollbar.umd' - -const token = document.querySelector('meta[name="rollbar-token"]')?.getAttribute('content') - -if (token) { - window.Rollbar ||= new Rollbar({ - accessToken: token, - captureUncaught: true, - captureUnhandledRejections: true, - captureIp: false, - autoInstrument: false, - ignoredMessages: [ - /Failed to fetch/i, - /NetworkError/i, - /Load failed/i, - /Clipboard write is not allowed/i - ], - transform (payload) { - payload.body.telemetry = [] - - if (payload.request.query_string) { - payload.request.query_string = '' - } - - if (payload.request.url) { - payload.request.url = payload.request.url.replace(/(\/[sdep]\/)(\w{5})[^/]+/, '$1$2') - } - - return payload - }, - payload: { - client: { - javascript: { - source_map_enabled: true - } - }, - environment: 'production' - } - }) -} diff --git a/app/javascript/submission_form/completed.vue b/app/javascript/submission_form/completed.vue index 708843bfe..94246a8e0 100644 --- a/app/javascript/submission_form/completed.vue +++ b/app/javascript/submission_form/completed.vue @@ -63,38 +63,6 @@ {{ t('download') }} - - - - Star on Github - - - - - - {{ t('create_a_free_account') }} - - - -
- {{ t('powered_by') }} - DocuSeal - {{ t('open_source_documents_software') }}
diff --git a/app/javascript/submission_form/signature_step.vue b/app/javascript/submission_form/signature_step.vue index ef5ba45c7..92a74dcb6 100644 --- a/app/javascript/submission_form/signature_step.vue +++ b/app/javascript/submission_form/signature_step.vue @@ -288,7 +288,7 @@ class="text-base-content/60 text-xs text-center w-full mt-1 select-none" > {{ t('by_clicking_you_agree_to_the').replace('{button}', buttonText.charAt(0).toUpperCase() + buttonText.slice(1)) }} diff --git a/app/javascript/template_builder/conditions_modal.vue b/app/javascript/template_builder/conditions_modal.vue index d8219ff63..64f4a2787 100644 --- a/app/javascript/template_builder/conditions_modal.vue +++ b/app/javascript/template_builder/conditions_modal.vue @@ -18,16 +18,6 @@ >×
-
- {{ t('available_in_pro') }} -
×
-
<% end %> <% end %> - <% if !Docuseal.multitenant? || can?(:manage, :personalization_advanced) %> + <% if true %> <% account_config = AccountConfig.find_or_initialize_by(account: current_account, key: AccountConfig::ENFORCE_SIGNING_ORDER_KEY) %> <% if can?(:manage, account_config) %> <%= form_for account_config, url: account_configs_path, method: :post do |f| %> @@ -235,7 +235,7 @@ <% end %> <% end %> <% end %> - <% if !Docuseal.multitenant? || can?(:manage, :personalization_advanced) %> + <% if true %> <% account_config = AccountConfig.find_or_initialize_by(account: current_account, key: AccountConfig::WITH_FILE_LINKS_KEY) %> <% if can?(:manage, account_config) %> <%= form_for account_config, url: account_configs_path, method: :post do |f| %> diff --git a/app/views/email_smtp_settings/index.html.erb b/app/views/email_smtp_settings/index.html.erb index 7e556a472..643878d53 100644 --- a/app/views/email_smtp_settings/index.html.erb +++ b/app/views/email_smtp_settings/index.html.erb @@ -35,7 +35,7 @@ <%= ff.select :authentication, options_for_select([%w[Plain plain], %w[Login login], %w[CRAM-MD5 cram_md5]], value.fetch('authentication', 'plain')), { prompt: true }, required: true, class: 'base-select' %>
- <% if !Docuseal.multitenant? || can?(:manage, :personalization_advanced) %> + <% if true %>
<%= ff.label :security_label, 'SMTP Security', class: 'label' %>
diff --git a/app/views/esign_settings/_default_signature_row.html.erb b/app/views/esign_settings/_default_signature_row.html.erb index 899f99b3b..151357a90 100644 --- a/app/views/esign_settings/_default_signature_row.html.erb +++ b/app/views/esign_settings/_default_signature_row.html.erb @@ -9,16 +9,11 @@ - " class="btn btn-neutral btn-sm text-white"> - <%= t('unlock_with_docuseal_pro') %> - -
- <%= button_to settings_esign_path, method: :put, params: { name: Docuseal::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: Docuseal::AATL_CERT_NAME }, class: 'btn btn-outline btn-neutral btn-xs whitespace-nowrap', title: t('make_default'), data: { turbo_confirm: t('are_you_sure_') } do %> + <%= t('make_default') %> + <% end %> diff --git a/app/views/esign_settings/show.html.erb b/app/views/esign_settings/show.html.erb index f22700b89..dfc20527d 100644 --- a/app/views/esign_settings/show.html.erb +++ b/app/views/esign_settings/show.html.erb @@ -141,7 +141,7 @@ <%= t('preferences') %>
- <% if can?(:manage, account_config) && (can?(:manage, :personalization_advanced) || account_config.persisted?) %> + <% if can?(:manage, account_config) %> <%= form_for account_config, url: account_configs_path, method: :post do |f| %> <%= f.hidden_field :key %>
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 89646c06d..9fc6a4a3e 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -7,12 +7,7 @@ <% end %> <%= csrf_meta_tags %> - <% if ENV['ROLLBAR_CLIENT_TOKEN'] %> - - <%= javascript_pack_tag 'rollbar', 'application', defer: true %> - <% else %> - <%= javascript_pack_tag 'application', defer: true %> - <% end %> + <%= javascript_pack_tag 'application', defer: true %> <% if canonical_url = content_for(:canonical_url) %> <% end %> diff --git a/app/views/layouts/form.html.erb b/app/views/layouts/form.html.erb index 756f8f83a..b57a083f9 100644 --- a/app/views/layouts/form.html.erb +++ b/app/views/layouts/form.html.erb @@ -4,12 +4,7 @@ <%= render 'layouts/head_tags' %> <%= csrf_meta_tags %> - <% if ENV['ROLLBAR_CLIENT_TOKEN'] %> - - <%= javascript_pack_tag 'rollbar', 'form', defer: true %> - <% else %> - <%= javascript_pack_tag 'form', defer: true %> - <% end %> + <%= javascript_pack_tag 'form', defer: true %> <%= stylesheet_pack_tag 'form', media: 'all' %> diff --git a/app/views/layouts/plain.html.erb b/app/views/layouts/plain.html.erb index 889169771..4676edf15 100644 --- a/app/views/layouts/plain.html.erb +++ b/app/views/layouts/plain.html.erb @@ -4,12 +4,7 @@ <%= render 'layouts/head_tags' %> <%= csrf_meta_tags %> - <% if ENV['ROLLBAR_CLIENT_TOKEN'] %> - - <%= javascript_pack_tag 'rollbar', 'application', defer: true %> - <% else %> - <%= javascript_pack_tag 'application', defer: true %> - <% end %> + <%= javascript_pack_tag 'application', defer: true %> <%= stylesheet_pack_tag 'application', media: 'all' %> diff --git a/app/views/notifications_settings/_reminder_banner.html.erb b/app/views/notifications_settings/_reminder_banner.html.erb index 926e952d1..e69de29bb 100644 --- a/app/views/notifications_settings/_reminder_banner.html.erb +++ b/app/views/notifications_settings/_reminder_banner.html.erb @@ -1 +0,0 @@ -<%= render 'reminder_placeholder' %> diff --git a/app/views/notifications_settings/_reminder_placeholder.html.erb b/app/views/notifications_settings/_reminder_placeholder.html.erb index 38b05ce5b..e69de29bb 100644 --- a/app/views/notifications_settings/_reminder_placeholder.html.erb +++ b/app/views/notifications_settings/_reminder_placeholder.html.erb @@ -1,15 +0,0 @@ -
- <%= svg_icon('info_circle', class: 'w-6 h-6') %> -
-

- <%= t('unlock_with_docuseal_pro') %> -

-

- <%= t('send_automatic_email_reminders_to_your_recipients') %> -
- " data-turbo="false"> - <%= t('learn_more') %> - -

-
-
diff --git a/app/views/personalization_settings/_documents_copy_email_form.html.erb b/app/views/personalization_settings/_documents_copy_email_form.html.erb index e4f777d4d..2ad3bd78d 100644 --- a/app/views/personalization_settings/_documents_copy_email_form.html.erb +++ b/app/views/personalization_settings/_documents_copy_email_form.html.erb @@ -14,7 +14,7 @@ <%= ff.text_field :subject, required: true, class: 'base-input', dir: 'auto' %>
<%= render 'personalization_settings/email_body_field', ff:, config: f.object %> - <% if can?(:manage, :reply_to) || can?(:manage, :personalization_advanced) %> + <% if true %>
<%= ff.label :reply_to, t('reply_to'), class: 'label' %> <%= ff.email_field :reply_to, class: 'base-input', dir: 'auto', placeholder: t(:email) %> @@ -41,7 +41,7 @@ <%= ff.check_box :bcc_recipients, { checked: ff.object.bcc_recipients == true, class: 'toggle' }, 'true', 'false' %>
<% end %> - <% if !Docuseal.multitenant? || can?(:manage, :personalization_advanced) %> + <% if true %>
<%= t('send_emails_automatically_on_completion') %> diff --git a/app/views/personalization_settings/_logo_form.html.erb b/app/views/personalization_settings/_logo_form.html.erb index fc6f3ac7e..a312f48a5 100644 --- a/app/views/personalization_settings/_logo_form.html.erb +++ b/app/views/personalization_settings/_logo_form.html.erb @@ -1 +1,20 @@ -<%= render 'logo_placeholder' %> +<% config = AccountConfigs.find_or_initialize_for_key(current_account, AccountConfig::COMPANY_LOGO_URL_KEY) %> +<%= form_for config, url: settings_personalization_path, method: :post, html: { autocomplete: 'off', class: 'space-y-4' } do |f| %> + <%= f.hidden_field :key %> +
+ <%= f.label :value, t('your_company_logo'), class: 'label' %> + <%= f.url_field :value, class: 'base-input', placeholder: 'https://example.com/logo.png', autocomplete: 'off' %> + +
+ <% if config.value.present? %> +
+ Company Logo + Current logo +
+ <% end %> +
+ <%= f.button button_title(title: t('save'), disabled_with: t('saving')), class: 'base-button' %> +
+<% end %> diff --git a/app/views/personalization_settings/_logo_placeholder.html.erb b/app/views/personalization_settings/_logo_placeholder.html.erb index 9a8358e32..e69de29bb 100644 --- a/app/views/personalization_settings/_logo_placeholder.html.erb +++ b/app/views/personalization_settings/_logo_placeholder.html.erb @@ -1,15 +0,0 @@ -
- <%= svg_icon('info_circle', class: 'w-6 h-6') %> -
-

- <%= t('unlock_with_docuseal_pro') %> -

-

- <%= t('display_your_company_name_and_logo_when_signing_documents') %> -
- " data-turbo="false"> - <%= t('learn_more') %> - -

-
-
diff --git a/app/views/shared/_navbar.html.erb b/app/views/shared/_navbar.html.erb index 6d66674c7..fa6b3bb33 100644 --- a/app/views/shared/_navbar.html.erb +++ b/app/views/shared/_navbar.html.erb @@ -34,14 +34,6 @@ <%= t('profile') %> <% end %> - <% if !Docuseal.demo? && can?(:manage, EncryptedConfig) %> -
  • - <%= link_to Docuseal.multitenant? ? console_redirect_index_path : Docuseal::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 f86926993..242af660e 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 "#{Docuseal::CLOUD_URL}/sign_up?#{{ redir: "#{Docuseal::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/_settings_nav.html.erb b/app/views/shared/_settings_nav.html.erb index ca074009e..848a811fe 100644 --- a/app/views/shared/_settings_nav.html.erb +++ b/app/views/shared/_settings_nav.html.erb @@ -64,28 +64,8 @@
  • <% end %> <% end %> - <% if !Docuseal.demo? && can?(:manage, EncryptedConfig) && (current_user != true_user || !current_account.linked_account_account) %> -
  • - <%= content_for(:pro_link) || link_to(Docuseal.multitenant? ? console_redirect_index_path(redir: "#{Docuseal::CONSOLE_URL}/plans") : "#{Docuseal::CLOUD_URL}/sign_up?#{{ redir: "#{Docuseal::CONSOLE_URL}/on_premises" }.to_query}", class: 'text-base hover:bg-base-300', data: { turbo: false }) do %> - <%= t('plans') %> - <%= t('pro') %> - <% end %> -
  • - <% end %> <% if !Docuseal.demo? && can?(:manage, EncryptedConfig) && (current_user == true_user || current_account.testing?) %> -
  • - <%= link_to Docuseal.multitenant? ? console_redirect_index_path(redir: "#{Docuseal::CONSOLE_URL}#{'/test' if current_account.testing?}/api") : "#{Docuseal::CONSOLE_URL}/on_premises", class: 'text-base hover:bg-base-300', data: { turbo: false } do %> - <% if Docuseal.multitenant? %> API <% else %> <%= t('console') %> <% end %> - <% end %> -
  • - <% if Docuseal.multitenant? %> -
  • - <%= link_to console_redirect_index_path(redir: "#{Docuseal::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 (!Docuseal.multitenant? || can?(:manage, :saml_sso)) && can?(:read, EncryptedConfig.new(key: 'saml_configs', account: current_account)) && true_user == current_user %> + <% if 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 13f2e2ea1..e69de29bb 100644 --- a/app/views/sms_settings/_placeholder.html.erb +++ b/app/views/sms_settings/_placeholder.html.erb @@ -1,15 +0,0 @@ -
    - <%= svg_icon('info_circle', class: 'w-6 h-6') %> -
    -

    - <%= t('send_signature_requests_via_sms') %> -

    -

    - <%= t('unlock_with_docuseal_pro') %> -
    - " data-turbo="false"> - <%= t('learn_more') %> - -

    -
    -
    diff --git a/app/views/sso_settings/_placeholder.html.erb b/app/views/sso_settings/_placeholder.html.erb index c64970970..e69de29bb 100644 --- a/app/views/sso_settings/_placeholder.html.erb +++ b/app/views/sso_settings/_placeholder.html.erb @@ -1,15 +0,0 @@ -
    - <%= svg_icon('info_circle', class: 'w-6 h-6') %> -
    -

    - <%= t('single_sign_on_with_saml_2_0') %> -

    -

    - <%= t('unlock_with_docuseal_pro') %> -
    - " data-turbo="false"> - <%= t('learn_more') %> - -

    -
    -
    diff --git a/app/views/submissions/_bulk_send_placeholder.html.erb b/app/views/submissions/_bulk_send_placeholder.html.erb index f81f65343..e69de29bb 100644 --- a/app/views/submissions/_bulk_send_placeholder.html.erb +++ b/app/views/submissions/_bulk_send_placeholder.html.erb @@ -1,15 +0,0 @@ -
    - <%= svg_icon('info_circle', class: 'w-6 h-6') %> -
    -

    - <%= t('bulk_send_from_excel_xlsx_or_csv') %> -

    -

    - <%= t('unlock_with_docuseal_pro') %> -
    - " data-turbo="false"> - <%= t('learn_more') %> - -

    -
    -
    diff --git a/app/views/submissions/_logo.html.erb b/app/views/submissions/_logo.html.erb index f6b67f5c4..84eab62a8 100644 --- a/app/views/submissions/_logo.html.erb +++ b/app/views/submissions/_logo.html.erb @@ -1 +1,6 @@ -<%= render 'shared/logo', width: 40, height: 40 %> +<% logo_url = @submission.account.account_configs.find_by(key: AccountConfig::COMPANY_LOGO_URL_KEY)&.value %> +<% if logo_url.present? %> + <%= @submission.account.name %> +<% else %> + <%= render 'shared/logo', width: 40, height: 40 %> +<% end %> diff --git a/app/views/submissions/_send_sms_button.html.erb b/app/views/submissions/_send_sms_button.html.erb index b8df27cf1..e69de29bb 100644 --- a/app/views/submissions/_send_sms_button.html.erb +++ b/app/views/submissions/_send_sms_button.html.erb @@ -1,5 +0,0 @@ -
    -
    - <%= link_to submitter.sent_at? ? t('re_send_sms') : t('send_sms'), Docuseal.multitenant? ? console_redirect_index_path(redir: "#{Docuseal::CONSOLE_URL}/plans") : "#{Docuseal::CLOUD_URL}/sign_up?#{{ redir: "#{Docuseal::CONSOLE_URL}/on_premises" }.to_query}", class: 'btn btn-sm btn-primary text-gray-400 w-full' %> -
    -
    diff --git a/app/views/submit_form/_docuseal_logo.html.erb b/app/views/submit_form/_docuseal_logo.html.erb index 645f7fc52..e7a3d160b 100644 --- a/app/views/submit_form/_docuseal_logo.html.erb +++ b/app/views/submit_form/_docuseal_logo.html.erb @@ -1,4 +1,10 @@ +<% configs = @submitter&.account&.account_configs %> +<% logo_url = configs&.find_by(key: AccountConfig::COMPANY_LOGO_URL_KEY)&.value %> - <%= render 'shared/logo', class: 'w-9 h-9 md:w-12 md:h-12' %> - <%= Docuseal.product_name %> + <% if logo_url.present? %> + <%= @submitter.account.name %> + <% else %> + <%= render 'shared/logo', class: 'w-9 h-9 md:w-12 md:h-12' %> + <%= Docuseal.product_name %> + <% end %> diff --git a/app/views/submit_form_draw_signature/show.html.erb b/app/views/submit_form_draw_signature/show.html.erb index f1ffebf09..f689e383f 100644 --- a/app/views/submit_form_draw_signature/show.html.erb +++ b/app/views/submit_form_draw_signature/show.html.erb @@ -4,12 +4,7 @@ <%= render 'layouts/head_tags' %> <%= csrf_meta_tags %> - <% if ENV['ROLLBAR_CLIENT_TOKEN'] %> - - <%= javascript_pack_tag 'rollbar', 'draw', defer: true %> - <% else %> - <%= javascript_pack_tag 'draw', defer: true %> - <% end %> + <%= javascript_pack_tag 'draw', defer: true %> <%= stylesheet_pack_tag 'form', media: 'all' %> diff --git a/app/views/templates/_embedding.html.erb b/app/views/templates/_embedding.html.erb index 468a51fa4..5bb05e227 100644 --- a/app/views/templates/_embedding.html.erb +++ b/app/views/templates/_embedding.html.erb @@ -55,7 +55,6 @@
    - <%= link_to t('learn_more'), console_redirect_index_path(redir: "#{Docuseal::CONSOLE_URL}/embedding/form"), target: '_blank', data: { turbo: false }, class: 'btn btn-ghost text-gray-100 flex', rel: 'noopener' %>