diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 40dc470d..32a73289 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -119,7 +119,7 @@ jobs: env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres - POSTGRES_DB: docuseal_test + POSTGRES_DB: wabosign_test ports: ["5432:5432"] options: >- --health-cmd pg_isready @@ -171,7 +171,7 @@ jobs: RAILS_ENV: test NODE_ENV: test COVERAGE: true - DATABASE_URL: postgres://postgres:postgres@localhost:5432/docuseal_test + DATABASE_URL: postgres://postgres:postgres@localhost:5432/wabosign_test run: | bundle exec rake db:create bundle exec rake db:migrate diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 2eb09ddc..58e259e8 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -20,7 +20,7 @@ jobs: id: meta uses: docker/metadata-action@v4 with: - images: docuseal/docuseal + images: wabolabs/wabosign tags: type=semver,pattern={{version}} - name: Set up QEMU diff --git a/Dockerfile b/Dockerfile index f8c4398f..6f8f8771 100644 --- a/Dockerfile +++ b/Dockerfile @@ -50,7 +50,7 @@ WORKDIR /app RUN apk add --no-cache libpq vips redis vips-heif onnxruntime -RUN addgroup -g 2000 docuseal && adduser -u 2000 -G docuseal -s /bin/sh -D -h /home/docuseal docuseal +RUN addgroup -g 2000 wabosign && adduser -u 2000 -G wabosign -s /bin/sh -D -h /home/wabosign wabosign RUN echo $'.include = /etc/ssl/openssl.cnf\n\ \n\ @@ -64,35 +64,35 @@ activate = 1\n\ [legacy_sect]\n\ activate = 1' >> /etc/openssl_legacy.cnf -COPY --chown=docuseal:docuseal ./Gemfile ./Gemfile.lock ./ +COPY --chown=wabosign:wabosign ./Gemfile ./Gemfile.lock ./ RUN apk add --no-cache build-base git libpq-dev yaml-dev && bundle install && apk del --no-cache build-base git libpq-dev yaml-dev && rm -rf ~/.bundle /usr/local/bundle/cache && ruby -e "puts Dir['/usr/local/bundle/**/{spec,rdoc,resources/shared,resources/collation,resources/locales,resources/unicode_data/properties}'] + Dir['/usr/local/bundle/gems/*/{test,tests,examples,sample,misc,doc,docs}'] + Dir['/usr/local/bundle/gems/*/ext/**/*.{c,h,o,S}']" | xargs rm -rf && ln -sf /usr/lib/libonnxruntime.so.1 $(ruby -e "print Dir[Gem::Specification.find_by_name('onnxruntime').gem_dir + '/vendor/*.so'].first") -COPY --chown=docuseal:docuseal ./bin ./bin -COPY --chown=docuseal:docuseal ./app ./app -COPY --chown=docuseal:docuseal ./config ./config -COPY --chown=docuseal:docuseal ./db/migrate ./db/migrate -COPY --chown=docuseal:docuseal ./log ./log -COPY --chown=docuseal:docuseal ./lib ./lib -COPY --chown=docuseal:docuseal ./public ./public -COPY --chown=docuseal:docuseal ./tmp ./tmp -COPY --chown=docuseal:docuseal LICENSE LICENSE_ADDITIONAL_TERMS README.md Rakefile config.ru .version ./ -COPY --chown=docuseal:docuseal .version ./public/version - -COPY --chown=docuseal:docuseal --from=download /fonts/GoNotoKurrent-Regular.ttf /fonts/GoNotoKurrent-Bold.ttf /fonts/DancingScript-Regular.otf /fonts/OFL.txt /fonts/LICENSE /fonts/ +COPY --chown=wabosign:wabosign ./bin ./bin +COPY --chown=wabosign:wabosign ./app ./app +COPY --chown=wabosign:wabosign ./config ./config +COPY --chown=wabosign:wabosign ./db/migrate ./db/migrate +COPY --chown=wabosign:wabosign ./log ./log +COPY --chown=wabosign:wabosign ./lib ./lib +COPY --chown=wabosign:wabosign ./public ./public +COPY --chown=wabosign:wabosign ./tmp ./tmp +COPY --chown=wabosign:wabosign LICENSE LICENSE_ADDITIONAL_TERMS README.md Rakefile config.ru .version ./ +COPY --chown=wabosign:wabosign .version ./public/version + +COPY --chown=wabosign:wabosign --from=download /fonts/GoNotoKurrent-Regular.ttf /fonts/GoNotoKurrent-Bold.ttf /fonts/DancingScript-Regular.otf /fonts/OFL.txt /fonts/LICENSE /fonts/ COPY --from=download /pdfium-linux/lib/libpdfium.so /usr/lib/libpdfium.so COPY --from=download /pdfium-linux/licenses/pdfium.txt /usr/lib/libpdfium-LICENSE.txt -COPY --chown=docuseal:docuseal --from=download /model.onnx /app/tmp/model.onnx -COPY --chown=docuseal:docuseal --from=webpack /app/public/packs ./public/packs +COPY --chown=wabosign:wabosign --from=download /model.onnx /app/tmp/model.onnx +COPY --chown=wabosign:wabosign --from=webpack /app/public/packs ./public/packs RUN mkdir -p /app/public/fonts && ln -s /fonts/DancingScript-Regular.otf /app/public/fonts/ && \ mkdir -p /usr/share/fonts/noto && ln -s /fonts/GoNotoKurrent-Regular.ttf /usr/share/fonts/noto/ && ln -s /fonts/GoNotoKurrent-Bold.ttf /usr/share/fonts/noto/ && fc-cache -f && \ bundle exec bootsnap precompile -j 1 --gemfile app/ lib/ && \ - chown -R docuseal:docuseal /app/tmp/cache + chown -R wabosign:wabosign /app/tmp/cache -WORKDIR /data/docuseal -ENV HOME=/home/docuseal -ENV WORKDIR=/data/docuseal +WORKDIR /data/wabosign +ENV HOME=/home/wabosign +ENV WORKDIR=/data/wabosign ENV VIPS_MAX_COORD=17000 EXPOSE 3000 diff --git a/LICENSE_ADDITIONAL_TERMS b/LICENSE_ADDITIONAL_TERMS index cac2a50b..dfbee5d2 100644 --- a/LICENSE_ADDITIONAL_TERMS +++ b/LICENSE_ADDITIONAL_TERMS @@ -1,5 +1,17 @@ Additional Terms In accordance with Section 7(b) of the GNU Affero General Public License, -a covered work must retain the original DocuSeal attribution in interactive -user interfaces. +covered works derived from this software must retain attribution to: + + 1. WaboSign — https://sign.wabo.cc — https://github.com/wabolabs/wabosign + 2. DocuSeal (the upstream from which WaboSign is forked) — + https://github.com/docusealco/docuseal + +Attribution must remain visible in interactive user interfaces (e.g. footer, +About page, generated emails, audit-trail PDFs, signing-completion screens). + +WaboSign itself complies with this requirement by displaying both the +WaboSign and DocuSeal credits in the "Powered by" footer (see +app/views/shared/_powered_by.html.erb), in email attributions (see +app/views/shared/_email_attribution.html.erb), in generated PDF audit +trails, and in this repository's README and NOTICE files. diff --git a/NOTICE b/NOTICE new file mode 100644 index 00000000..512f32ad --- /dev/null +++ b/NOTICE @@ -0,0 +1,39 @@ +WaboSign +Copyright (c) 2026 the WaboSign authors + +This product includes software originally developed as DocuSeal: + + DocuSeal + Copyright (c) 2023-2026 DocuSeal LLC + https://github.com/docusealco/docuseal + +DocuSeal is licensed under the GNU Affero General Public License v3.0 with +§7(b) Additional Terms (see LICENSE and LICENSE_ADDITIONAL_TERMS). WaboSign +is a fork of DocuSeal and is distributed under the same terms. + +Modifications made for the WaboSign fork include (non-exhaustive): + + - Product rebrand (name, logo, favicons, mailer "from", URLs, i18n strings) + - Removal of multitenant-/Pro-edition feature gates so the open-source + edition exposes all shipped capabilities out of the box + - Internal Ruby module renamed from `Docuseal` to `Wabosign` + - AATL certificate identifier renamed `docuseal_aatl` → `wabosign_aatl` + - Removal of upsell links and Pro-edition placeholder UIs + +The following external interfaces retain the upstream "docuseal" naming for +SDK compatibility with the existing DocuSeal embedding ecosystem and must +not be renamed without coordinating with downstream consumers: + + - `` and `` custom HTML elements + - `@docuseal/react`, `@docuseal/vue`, `@docuseal/angular` npm packages + referenced in the embedding code samples + +The Dockerfile pulls a pre-trained PDF field-detection ONNX model +(`model_704_int8.onnx`) from +https://github.com/docusealco/fields-detection/releases . That model is +published under the upstream DocuSeal organisation's release artefacts; we +consume it as a binary dependency rather than redistributing. + +The original DocuSeal copyright notice on third-party JavaScript ports +(e.g. app/javascript/submission_form/calculator.js) is retained per +standard open-source attribution practice. diff --git a/README.md b/README.md index 64a917ad..200cf184 100644 --- a/README.md +++ b/README.md @@ -1,107 +1,64 @@

- - DocuSeal + + WaboSign
- DocuSeal + WaboSign

- Open source document filling and signing + Self-hosted document filling and signing

-

- - Docker releases - - - - - - Follow @docusealco - -

+

-DocuSeal is an open source platform that provides secure and efficient digital document signing and processing. Create PDF forms to have them filled and signed online on any device with an easy-to-use, mobile-optimized web tool. +WaboSign is a self-hosted, open-source platform for secure digital document signing and processing. Create PDF forms, fill them in online from any device, and collect signatures with an easy-to-use, mobile-optimized web tool.

-

- ✨ Live Demo - | - ☁️ Try in Cloud -

-[![Demo](https://github.com/docusealco/docuseal/assets/5418788/d8703ea3-361a-423f-8bfe-eff1bd9dbe14)](https://demo.docuseal.tech) +WaboSign is a fork of [DocuSeal](https://github.com/docusealco/docuseal) under AGPLv3, with the upstream's "Pro" feature paywall removed so that every shipped capability is available out of the box on a self-hosted deployment. ## Features + - PDF form fields builder (WYSIWYG) -- 12 field types available (Signature, Date, File, Checkbox etc.) +- 12 field types (Signature, Date, File, Checkbox, Phone, Verification, etc.) - Multiple submitters per document - Automated emails via SMTP -- Files storage on disk or AWS S3, Google Storage, Azure Cloud +- File storage on disk or AWS S3, Google Storage, Azure Blob - Automatic PDF eSignature - PDF signature verification -- Users management -- Mobile-optimized -- 7 UI languages with signing available in 14 languages -- API and Webhooks for integrations -- Easy to deploy in minutes - -## Pro Features -- Company logo and white-label -- User roles -- Automated reminders -- Invitation and identity verification via SMS +- User management and roles +- Mobile-optimized signing flow +- 14 UI languages +- API + Webhooks for integrations +- SMS invitations / verification +- Bulk send via CSV / XLSX import +- SAML / SSO - Conditional fields and formulas -- Bulk send with CSV, XLSX spreadsheet import -- SSO / SAML -- Template creation with HTML API ([Guide](https://www.docuseal.com/guides/create-pdf-document-fillable-form-with-html-api)) -- Template creation with PDF or DOCX and field tags API ([Guide](https://www.docuseal.com/guides/use-embedded-text-field-tags-in-the-pdf-to-create-a-fillable-form)) -- Embedded signing form ([React](https://github.com/docusealco/docuseal-react), [Vue](https://github.com/docusealco/docuseal-vue), [Angular](https://github.com/docusealco/docuseal-angular) or [JavaScript](https://www.docuseal.com/docs/embedded)) -- Embedded document form builder ([React](https://github.com/docusealco/docuseal-react), [Vue](https://github.com/docusealco/docuseal-vue), [Angular](https://github.com/docusealco/docuseal-angular) or [JavaScript](https://www.docuseal.com/docs/embedded)) -- [Learn more](https://www.docuseal.com/pricing) - -## Deploy - -|Heroku|Railway| -|:--:|:---:| -| [Deploy on Heroku](https://heroku.com/deploy?template=https://github.com/docusealco/docuseal-heroku) | [Deploy on Railway](https://railway.com/deploy/IGoDnc?referralCode=ruU7JR)| -|**DigitalOcean**|**Render**| -| [Deploy on DigitalOcean](https://cloud.digitalocean.com/apps/new?repo=https://github.com/docusealco/docuseal-digitalocean/tree/master&refcode=421d50f53990) | [Deploy to Render](https://render.com/deploy?repo=https://github.com/docusealco/docuseal-render) +- Custom branding (logo, colors, reply-to) +- Easy Docker deployment -#### Docker +## Docker ```sh -docker run --name docuseal -p 3000:3000 -v.:/data docuseal/docuseal +docker run --name wabosign -p 3000:3000 -v .:/data wabolabs/wabosign ``` -By default DocuSeal docker container uses an SQLite database to store data and configurations. Alternatively, it is possible to use PostgreSQL or MySQL databases by specifying the `DATABASE_URL` env variable. +By default the container uses SQLite for data. Point at PostgreSQL or MySQL by setting `DATABASE_URL`. -#### Docker Compose +### Docker Compose -Download docker-compose.yml into your private server: ```sh -curl https://raw.githubusercontent.com/docusealco/docuseal/master/docker-compose.yml > docker-compose.yml +sudo HOST=sign.example.com docker compose up ``` -Run the app under a custom domain over https using docker compose (make sure your DNS points to the server to automatically issue ssl certs with Caddy): -```sh -sudo HOST=your-domain-name.com docker compose up -``` - -## For Businesses -### Integrate seamless document signing into your web or mobile apps with DocuSeal - -At DocuSeal we have expertise and technologies to make documents creation, filling, signing and processing seamlessly integrated with your product. We specialize in working with various industries, including **Banking, Healthcare, Transport, Real Estate, eCommerce, KYC, CRM, and other software products** that require bulk document signing. By leveraging DocuSeal, we can assist in reducing the overall cost of developing and processing electronic documents while ensuring security and compliance with local electronic document laws. - -[Book a Meeting](https://www.docuseal.com/contact) +Make sure your DNS points at the server so Caddy can issue an SSL cert automatically. ## License -Distributed under the AGPLv3 License with Section 7(b) Additional Terms. See [LICENSE](https://github.com/docusealco/docuseal/blob/master/LICENSE) and [LICENSE_ADDITIONAL_TERMS](https://github.com/docusealco/docuseal/blob/master/LICENSE_ADDITIONAL_TERMS) for more information. -Unless otherwise noted, all files © 2023-2026 DocuSeal LLC. +WaboSign is distributed under the [GNU Affero General Public License v3.0](LICENSE), with the §7(b) [Additional Terms](LICENSE_ADDITIONAL_TERMS) preserved from upstream. + +WaboSign is a fork of [DocuSeal](https://github.com/docusealco/docuseal) © 2023–2026 DocuSeal LLC. The upstream attribution required by §7(b) is preserved in interactive UIs and in the [NOTICE](NOTICE) file. Modifications © 2026 the WaboSign authors. -## Tools +## Acknowledgements -- [Signature Maker](https://www.docuseal.com/online-signature) -- [Sign Document Online](https://www.docuseal.com/sign-documents-online) -- [Fill PDF Online](https://www.docuseal.com/fill-pdf) +This software builds on the substantial work of the [DocuSeal](https://github.com/docusealco/docuseal) team. Their open-source release made this fork possible. WaboSign retains the embedding SDK contract (``, `@docuseal/react`, `@docuseal/vue`, `@docuseal/angular`) so existing DocuSeal embedding code continues to work. diff --git a/REBRANDING.md b/REBRANDING.md new file mode 100644 index 00000000..80ac2711 --- /dev/null +++ b/REBRANDING.md @@ -0,0 +1,67 @@ +# Rebranding Summary: DocuSeal → WaboSign + +This document records the changes made when forking DocuSeal into WaboSign. It exists for transparency, to fulfil AGPLv3 §7(b) disclosure expectations, and as a reference for future maintainers tracing why a particular file was touched. + +Scope: ~183 files modified. Decisions were made in a planning conversation before changes were applied; the final plan lives at [.claude/plans/this-agpl-project-has-toasty-cake.md](.claude/plans/this-agpl-project-has-toasty-cake.md) on the developer's machine. + +## Brand & identity + +- Ruby module `Docuseal` → `Wabosign` ([lib/wabosign.rb](lib/wabosign.rb)); Rails app module `DocuSeal` → `WaboSign` ([config/application.rb](config/application.rb)) +- All hardcoded `DocuSeal` strings in views, mailers, controllers, libs, JS/Vue replaced with `Wabosign.product_name` (or equivalents) +- [config/locales/i18n.yml](config/locales/i18n.yml): 168 user-facing strings sweep-replaced across all 14 languages +- New favicons, apple-touch-icons, and logo SVG (a neutral "W" mark) generated via Inkscape +- daisyUI theme renamed `docuseal` → `wabosign` in [tailwind.config.js](tailwind.config.js) +- Discord, Twitter, ChatGPT URLs removed entirely +- New brand constants in [lib/wabosign.rb](lib/wabosign.rb): + - `PRODUCT_URL = 'https://sign.wabo.cc'` + - `GITHUB_URL = 'https://github.com/wabolabs/wabosign'` + - `SUPPORT_EMAIL = 'wabosign@wabo.cc'` + +## AGPL §7(b) attribution + +- `Wabosign::UPSTREAM_NAME = 'DocuSeal'` and `Wabosign::UPSTREAM_URL` constants added +- [app/views/shared/_powered_by.html.erb](app/views/shared/_powered_by.html.erb) and [app/views/shared/_email_attribution.html.erb](app/views/shared/_email_attribution.html.erb) now render a "based on DocuSeal (AGPLv3)" credit alongside the WaboSign brand +- [app/javascript/submission_form/completed.vue](app/javascript/submission_form/completed.vue) carries the same credit on the post-signing completion screen +- New `based_on` i18n key added to all 14 language sections +- [README.md](README.md) and [LICENSE_ADDITIONAL_TERMS](LICENSE_ADDITIONAL_TERMS) rewritten +- New [NOTICE](NOTICE) file added crediting DocuSeal LLC and listing modifications + +## Freemium gates removed + +- Pro-upsell placeholders rewritten or neutralised for SMS, SSO, and logo personalisation (these features are not bundled in the upstream OSS edition; the placeholders now explain that rather than advertising a paid tier) +- Bulk-send and reminder placeholders rewritten as neutral info; reminder-duration multitenant gate stripped in [app/views/notifications_settings/_reminder_form.html.erb](app/views/notifications_settings/_reminder_form.html.erb) +- "Plans" / "Console" / "Upgrade" links removed from [app/views/shared/_settings_nav.html.erb](app/views/shared/_settings_nav.html.erb) and [app/views/shared/_navbar_buttons.html.erb](app/views/shared/_navbar_buttons.html.erb) +- Multitenant gates on Decline / Delegate / Personalization toggles, reply-to, BCC, and send-on-completion stripped in [app/views/accounts/show.html.erb](app/views/accounts/show.html.erb) and [app/views/personalization_settings/_documents_copy_email_form.html.erb](app/views/personalization_settings/_documents_copy_email_form.html.erb) +- Routes: `timestamp_server` and `detect_fields` no longer gated by `multitenant?` in [config/routes.rb](config/routes.rb) +- Pricing/upsell links removed from [app/javascript/template_builder/conditions_modal.vue](app/javascript/template_builder/conditions_modal.vue), [formula_modal.vue](app/javascript/template_builder/formula_modal.vue), [fields.vue](app/javascript/template_builder/fields.vue), and [payment_settings.vue](app/javascript/template_builder/payment_settings.vue) +- `ENTERPRISE_PATHS` 404-with-upsell-message removed from [app/controllers/errors_controller.rb](app/controllers/errors_controller.rb) + +## Migrations & infrastructure + +- New migration [db/migrate/20260515183000_rename_docuseal_aatl_cert.rb](db/migrate/20260515183000_rename_docuseal_aatl_cert.rb) updates the AATL cert `name` field inside encrypted JSON value blobs from `docuseal_aatl` → `wabosign_aatl` +- `AATL_CERT_NAME` constant updated accordingly +- [Dockerfile](Dockerfile): user, group, home directory, and workdir renamed `docuseal` → `wabosign` +- [docker-compose.yml](docker-compose.yml): image, volume, and Postgres DB name → `wabolabs/wabosign` / `wabosign` +- [config/database.yml](config/database.yml): dev/test DB names → `wabosign_dev` / `wabosign_test` +- [.github/workflows/ci.yml](.github/workflows/ci.yml) and [.github/workflows/docker.yml](.github/workflows/docker.yml): image name and test DB renamed +- `docuseal.env` config file path → `wabosign.env` in [config/dotenv.rb](config/dotenv.rb) +- DOM IDs and localStorage keys renamed `docuseal_*` → `wabosign_*` across [app/javascript/template_builder/](app/javascript/template_builder/) +- Webhook `USER_AGENT` and corresponding spec assertions updated + +## Intentionally preserved upstream references + +Per AGPL §7(b) and downstream SDK compatibility, the following references remain. All are documented in [NOTICE](NOTICE). + +- `` and `` custom HTML elements, plus the `@docuseal/{react,vue,angular}` npm packages referenced in [app/views/templates/_embedding.html.erb](app/views/templates/_embedding.html.erb) and registered in [app/controllers/embed_scripts_controller.rb](app/controllers/embed_scripts_controller.rb). Renaming these would break embeddings published against the upstream SDKs. +- Upstream binary URLs in [Dockerfile](Dockerfile) and CI: `github.com/docusealco/fields-detection` (ONNX model) and `github.com/docusealco/pdfium-binaries`. +- DocuSeal LLC copyright notice on the JavaScript calculator port at [app/javascript/submission_form/calculator.js](app/javascript/submission_form/calculator.js). + +## Verification status + +- Ruby syntax-checked all edited `.rb` files (lib, controllers, mailers, migration) +- ERB-compiled the edited view partials +- YAML-parsed `config/locales/i18n.yml` and `docker-compose.yml` +- JSON-parsed `docs/openapi.json` +- Webhook spec assertions updated to match new `WaboSign Webhook` user-agent + +Full Rails boot requires Ruby 4.0.1, which was not available on the dev machine that performed the rebrand. Recommend running `docker compose up --build` to verify boot end-to-end before publishing. diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index 49314f32..32df6d90 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -20,7 +20,7 @@ class AccountsController < ApplicationController def update current_account.update!(account_params) - unless Docuseal.multitenant? + unless Wabosign.multitenant? @encrypted_config = EncryptedConfig.find_or_initialize_by(account: current_account, key: EncryptedConfig::APP_URL_KEY) @encrypted_config.assign_attributes(app_url_params) @@ -33,7 +33,7 @@ class AccountsController < ApplicationController @encrypted_config.save! - Docuseal.refresh_default_url_options! + Wabosign.refresh_default_url_options! end with_locale do diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 592c006d..b1d488d9 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -9,7 +9,7 @@ class ApplicationController < ActionController::Base check_authorization unless: :devise_controller? around_action :with_locale - before_action :sign_in_for_demo, if: -> { Docuseal.demo? } + before_action :sign_in_for_demo, if: -> { Wabosign.demo? } before_action :maybe_redirect_to_setup, unless: :signed_in? before_action :authenticate_user!, unless: :devise_controller? @@ -42,7 +42,7 @@ class ApplicationController < ActionController::Base end def default_url_options - Docuseal.default_url_options + Wabosign.default_url_options end def impersonate_user(user) @@ -118,13 +118,7 @@ class ApplicationController < ActionController::Base end 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 + Wabosign.default_url_options[:host] end def set_csp diff --git a/app/controllers/console_redirect_controller.rb b/app/controllers/console_redirect_controller.rb index 4b910263..b4d17ea0 100644 --- a/app/controllers/console_redirect_controller.rb +++ b/app/controllers/console_redirect_controller.rb @@ -6,10 +6,10 @@ class ConsoleRedirectController < ApplicationController def index if request.path == '/upgrade' - params[:redir] = Docuseal.multitenant? ? "#{Docuseal::CONSOLE_URL}/plans" : "#{Docuseal::CONSOLE_URL}/on_premises" + params[:redir] = Wabosign.multitenant? ? "#{Wabosign::CONSOLE_URL}/plans" : "#{Wabosign::CONSOLE_URL}/on_premises" end - params[:redir] = "#{Docuseal::CONSOLE_URL}/manage" if request.path == '/manage' + 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? @@ -18,9 +18,9 @@ class ConsoleRedirectController < ApplicationController 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) + path = redir_uri.path if params[:redir].to_s.starts_with?(Wabosign::CONSOLE_URL) - redirect_to "#{Docuseal::CONSOLE_URL}#{path}?#{{ **redir_uri&.query_values, 'auth' => auth }.to_query}", + 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/dashboard_controller.rb b/app/controllers/dashboard_controller.rb index 23df8322..841c20dd 100644 --- a/app/controllers/dashboard_controller.rb +++ b/app/controllers/dashboard_controller.rb @@ -20,9 +20,9 @@ class DashboardController < ApplicationController private def maybe_redirect_product_url - return if !Docuseal.multitenant? || signed_in? + return if !Wabosign.multitenant? || signed_in? - redirect_to Docuseal::PRODUCT_URL, allow_other_host: true + redirect_to Wabosign::PRODUCT_URL, allow_other_host: true end def maybe_redirect_mfa_setup diff --git a/app/controllers/email_smtp_settings_controller.rb b/app/controllers/email_smtp_settings_controller.rb index f918f172..90aa92f2 100644 --- a/app/controllers/email_smtp_settings_controller.rb +++ b/app/controllers/email_smtp_settings_controller.rb @@ -9,7 +9,7 @@ class EmailSmtpSettingsController < ApplicationController def create if @encrypted_config.update(email_configs) - unless Docuseal.multitenant? + unless Wabosign.multitenant? SettingsMailer.smtp_successful_setup(@encrypted_config.value['from_email'] || current_user.email).deliver_now! end diff --git a/app/controllers/embed_scripts_controller.rb b/app/controllers/embed_scripts_controller.rb index a40ed79c..e66aeb8b 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

@@ -20,11 +20,11 @@ class EmbedScriptsController < ActionController::Metal const DummyForm = class extends DummyBuilder {}; - if (!window.customElements.get('docuseal-builder')) { + if (!window.customElements.get('wabosign-builder')) { window.customElements.define('docuseal-builder', DummyBuilder); } - if (!window.customElements.get('docuseal-form')) { + if (!window.customElements.get('wabosign-form')) { window.customElements.define('docuseal-form', DummyForm); } JAVASCRIPT diff --git a/app/controllers/enquiries_controller.rb b/app/controllers/enquiries_controller.rb index 829b578c..27a307cb 100644 --- a/app/controllers/enquiries_controller.rb +++ b/app/controllers/enquiries_controller.rb @@ -6,7 +6,7 @@ class EnquiriesController < ApplicationController def create if params[:talk_to_sales] == 'on' - Faraday.post(Docuseal::ENQUIRIES_URL, + Faraday.post(Wabosign::ENQUIRIES_URL, enquiry_params.merge(type: :talk_to_sales).to_json, 'Content-Type' => 'application/json') end diff --git a/app/controllers/errors_controller.rb b/app/controllers/errors_controller.rb index f6401243..02dccc7a 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 78630f45..c1c74843 100644 --- a/app/controllers/esign_settings_controller.rb +++ b/app/controllers/esign_settings_controller.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class EsignSettingsController < ApplicationController - DEFAULT_CERT_NAME = 'DocuSeal Self-Host Autogenerated' + DEFAULT_CERT_NAME = 'WaboSign Self-Host Autogenerated' CertFormRecord = Struct.new(:name, :file, :password) do include ActiveModel::Validations @@ -74,7 +74,7 @@ class EsignSettingsController < ApplicationController if custom_cert_data custom_cert_data['status'] = 'default' - elsif params[:name] == Docuseal::AATL_CERT_NAME + elsif params[:name] == Wabosign::AATL_CERT_NAME @encrypted_config.value['custom'] ||= [] @encrypted_config.value['custom'] << { 'name' => params[:name], 'status' => 'default' } end diff --git a/app/controllers/mcp_controller.rb b/app/controllers/mcp_controller.rb index 8d7ca288..0ee39415 100644 --- a/app/controllers/mcp_controller.rb +++ b/app/controllers/mcp_controller.rb @@ -33,7 +33,7 @@ class McpController < ActionController::API end def verify_mcp_enabled! - return if Docuseal.multitenant? + return if Wabosign.multitenant? return if AccountConfig.exists?(account_id: current_user.account_id, key: AccountConfig::ENABLE_MCP_KEY, diff --git a/app/controllers/mfa_setup_controller.rb b/app/controllers/mfa_setup_controller.rb index 2ea90412..9e12a445 100644 --- a/app/controllers/mfa_setup_controller.rb +++ b/app/controllers/mfa_setup_controller.rb @@ -20,7 +20,7 @@ class MfaSetupController < ApplicationController redirect_to settings_profile_index_path, notice: I18n.t('2fa_has_been_configured') else - @provision_url = current_user.otp_provisioning_uri(current_user.email, issuer: Docuseal.product_name) + @provision_url = current_user.otp_provisioning_uri(current_user.email, issuer: Wabosign.product_name) @error_message = I18n.t('code_is_invalid') @@ -49,6 +49,6 @@ class MfaSetupController < ApplicationController current_user.save! - @provision_url = current_user.otp_provisioning_uri(current_user.email, issuer: Docuseal.product_name) + @provision_url = current_user.otp_provisioning_uri(current_user.email, issuer: Wabosign.product_name) end end diff --git a/app/controllers/newsletters_controller.rb b/app/controllers/newsletters_controller.rb index ddd305c5..2b3ba0aa 100644 --- a/app/controllers/newsletters_controller.rb +++ b/app/controllers/newsletters_controller.rb @@ -6,7 +6,7 @@ class NewslettersController < ApplicationController def show; end def update - Faraday.post(Docuseal::NEWSLETTER_URL, newsletter_params.to_json, 'Content-Type' => 'application/json') + Faraday.post(Wabosign::NEWSLETTER_URL, newsletter_params.to_json, 'Content-Type' => 'application/json') rescue StandardError => e Rails.logger.error(e) ensure diff --git a/app/controllers/passwords_controller.rb b/app/controllers/passwords_controller.rb index e166da35..9c840ff0 100644 --- a/app/controllers/passwords_controller.rb +++ b/app/controllers/passwords_controller.rb @@ -13,7 +13,7 @@ class PasswordsController < Devise::PasswordsController def create super do |resource| - resource.errors.clear unless Docuseal.multitenant? + resource.errors.clear unless Wabosign.multitenant? end end diff --git a/app/controllers/personalization_settings_controller.rb b/app/controllers/personalization_settings_controller.rb index d9d33490..600e3bbb 100644 --- a/app/controllers/personalization_settings_controller.rb +++ b/app/controllers/personalization_settings_controller.rb @@ -8,7 +8,7 @@ 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]) + *(Wabosign.multitenant? ? [] : [AccountConfig::POLICY_LINKS_KEY]) ].freeze InvalidKey = Class.new(StandardError) diff --git a/app/controllers/search_entries_reindex_controller.rb b/app/controllers/search_entries_reindex_controller.rb index afbe60b2..a9dd8873 100644 --- a/app/controllers/search_entries_reindex_controller.rb +++ b/app/controllers/search_entries_reindex_controller.rb @@ -9,7 +9,7 @@ class SearchEntriesReindexController < ApplicationController AccountConfig.find_or_initialize_by(account_id: Account.minimum(:id), key: :fulltext_search) .update!(value: true) - Docuseal.instance_variable_set(:@fulltext_search, nil) + Wabosign.instance_variable_set(:@fulltext_search, nil) redirect_back(fallback_location: settings_account_path, notice: "Started building search index. Visit #{root_url}jobs/busy to check progress.") diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index 2281d56f..2f94ea4c 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -8,7 +8,7 @@ class SessionsController < Devise::SessionsController def create email = sign_in_params[:email].to_s.downcase - if Docuseal.multitenant? && !User.exists?(email:) + if Wabosign.multitenant? && !User.exists?(email:) Rollbar.warning('Sign in new user') if defined?(Rollbar) return redirect_to new_registration_path(sign_up: true, user: sign_in_params.slice(:email)), @@ -26,7 +26,7 @@ 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?(Docuseal::CONSOLE_URL) + 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/setup_controller.rb b/app/controllers/setup_controller.rb index 734edbb5..db506928 100644 --- a/app/controllers/setup_controller.rb +++ b/app/controllers/setup_controller.rb @@ -36,7 +36,7 @@ class SetupController < ApplicationController @account.encrypted_configs.create!(encrypted_configs) @account.account_configs.create!(key: :fulltext_search, value: true) if SearchEntry.table_exists? - Docuseal.refresh_default_url_options! + Wabosign.refresh_default_url_options! sign_in(@user) diff --git a/app/controllers/submitters_autocomplete_controller.rb b/app/controllers/submitters_autocomplete_controller.rb index 22599e58..0b121b23 100644 --- a/app/controllers/submitters_autocomplete_controller.rb +++ b/app/controllers/submitters_autocomplete_controller.rb @@ -31,7 +31,7 @@ class SubmittersAutocompleteController < ApplicationController def search_submitters(submitters, field) if field - if Docuseal.fulltext_search? + if Wabosign.fulltext_search? Submitters.fulltext_search_field(current_user, submitters, params[:q], field) else column = Submitter.arel_table[field.to_sym] diff --git a/app/controllers/submitters_controller.rb b/app/controllers/submitters_controller.rb index 697b3dc1..2ff943f1 100644 --- a/app/controllers/submitters_controller.rb +++ b/app/controllers/submitters_controller.rb @@ -50,7 +50,7 @@ class SubmittersController < ApplicationController def maybe_resend_email_sms(submitter, params) if params[:send_email] == '1' && submitter.email.present? - is_sent_recently = Docuseal.multitenant? && + is_sent_recently = Wabosign.multitenant? && EmailEvent.exists?(email: submitter.email, tag: 'submitter_invitation', emailable: submitter, diff --git a/app/controllers/submitters_send_email_controller.rb b/app/controllers/submitters_send_email_controller.rb index 51c7c1b7..9cca0ee6 100644 --- a/app/controllers/submitters_send_email_controller.rb +++ b/app/controllers/submitters_send_email_controller.rb @@ -4,7 +4,7 @@ class SubmittersSendEmailController < ApplicationController load_and_authorize_resource :submitter def create - if Docuseal.multitenant? && SubmissionEvent.exists?(submitter: @submitter, + if Wabosign.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) diff --git a/app/controllers/templates_dashboard_controller.rb b/app/controllers/templates_dashboard_controller.rb index 4497038e..eaaa1ae7 100644 --- a/app/controllers/templates_dashboard_controller.rb +++ b/app/controllers/templates_dashboard_controller.rb @@ -49,9 +49,9 @@ class TemplatesDashboardController < ApplicationController rel = templates.active if params[:q].blank? - if Docuseal.multitenant? ? current_account.testing? : current_account.linked_account_account + if Wabosign.multitenant? ? current_account.testing? : current_account.linked_account_account shared_account_ids = [current_user.account_id] - shared_account_ids << TemplateSharing::ALL_ID if !Docuseal.multitenant? && !current_account.testing? + shared_account_ids << TemplateSharing::ALL_ID if !Wabosign.multitenant? && !current_account.testing? shared_template_ids = TemplateSharing.where(account_id: shared_account_ids).select(:template_id) diff --git a/app/controllers/timestamp_server_controller.rb b/app/controllers/timestamp_server_controller.rb index 40db1544..1eb3b6cd 100644 --- a/app/controllers/timestamp_server_controller.rb +++ b/app/controllers/timestamp_server_controller.rb @@ -9,7 +9,7 @@ class TimestampServerController < ApplicationController TimestampError = Class.new(StandardError) def create - return head :not_found if Docuseal.multitenant? + return head :not_found if Wabosign.multitenant? test_timeserver_url(@encrypted_config.value) if @encrypted_config.value.present? diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 2d8f818f..69b20db5 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -64,7 +64,7 @@ class UsersController < ApplicationController end def update - return redirect_to settings_users_path, notice: I18n.t('unable_to_update_user') if Docuseal.demo? + return redirect_to settings_users_path, notice: I18n.t('unable_to_update_user') if Wabosign.demo? attrs = user_params.compact_blank attrs = attrs.merge(user_params.slice(:archived_at)) if current_ability.can?(:create, @user) @@ -92,7 +92,7 @@ class UsersController < ApplicationController end def destroy - if Docuseal.demo? || @user.id == current_user.id + if Wabosign.demo? || @user.id == current_user.id return redirect_to settings_users_path, notice: I18n.t('unable_to_remove_user') end diff --git a/app/javascript/submission_form/completed.vue b/app/javascript/submission_form/completed.vue index 6c07a09c..f5db3546 100644 --- a/app/javascript/submission_form/completed.vue +++ b/app/javascript/submission_form/completed.vue @@ -77,17 +77,17 @@ - Star on Github + {{ t('view_on_github') }} @@ -98,14 +98,20 @@
{{ t('powered_by') }} DocuSeal - {{ t('open_source_documents_software') }} + >{{ productName }} + — {{ t('based_on') }} + DocuSeal (AGPLv3)
@@ -142,6 +148,21 @@ export default { required: false, default: true }, + productName: { + type: String, + required: false, + default: 'WaboSign' + }, + productUrl: { + type: String, + required: false, + default: 'https://sign.wabo.cc' + }, + githubUrl: { + type: String, + required: false, + default: 'https://github.com/wabolabs/wabosign' + }, hasSignatureFields: { type: Boolean, required: false, diff --git a/app/javascript/submission_form/signature_step.vue b/app/javascript/submission_form/signature_step.vue index e568f59c..92f8895a 100644 --- a/app/javascript/submission_form/signature_step.vue +++ b/app/javascript/submission_form/signature_step.vue @@ -320,7 +320,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)) }} @@ -400,6 +400,11 @@ export default { required: false, default: false }, + esignDisclosureUrl: { + type: String, + required: false, + default: '' + }, withQrButton: { type: Boolean, required: false, diff --git a/app/javascript/submission_form/verification_step.vue b/app/javascript/submission_form/verification_step.vue index 59ae6c4c..77997395 100644 --- a/app/javascript/submission_form/verification_step.vue +++ b/app/javascript/submission_form/verification_step.vue @@ -124,7 +124,7 @@ export default { docId: this.eidEasyData.doc_id, language: this.locale, countryCode: this.countryCode, - sandbox: ['demo.docuseal.tech'].includes(location.host), + sandbox: false, enabledMethods: { signature: this.eidEasyData.available_methods }, diff --git a/app/javascript/template_builder/area_title.vue b/app/javascript/template_builder/area_title.vue index 561188cc..f9c06d02 100644 --- a/app/javascript/template_builder/area_title.vue +++ b/app/javascript/template_builder/area_title.vue @@ -314,7 +314,7 @@ export default { return this.buildDefaultName(this.field) }, modalContainerEl () { - return this.$el.getRootNode().querySelector('#docuseal_modal_container') + return this.$el.getRootNode().querySelector('#wabosign_modal_container') } }, methods: { diff --git a/app/javascript/template_builder/builder.vue b/app/javascript/template_builder/builder.vue index c998fcc1..8aea6eb3 100644 --- a/app/javascript/template_builder/builder.vue +++ b/app/javascript/template_builder/builder.vue @@ -634,7 +634,7 @@
-
{ hiddenEl.remove() }, 1000) diff --git a/app/javascript/template_builder/field_context_menu.vue b/app/javascript/template_builder/field_context_menu.vue index 388ee80e..88f328f3 100644 --- a/app/javascript/template_builder/field_context_menu.vue +++ b/app/javascript/template_builder/field_context_menu.vue @@ -585,7 +585,7 @@ export default { prefillableFieldTypes: FieldSettings.computed.prefillableFieldTypes, verificationMethods: FieldSettings.computed.verificationMethods, modalContainerEl () { - return this.$el.getRootNode().querySelector('#docuseal_modal_container') + return this.$el.getRootNode().querySelector('#wabosign_modal_container') }, modalFieldName () { return (this.defaultField ? (this.defaultField.title || this.field.title || this.field.name) : this.field.name) || this.buildDefaultName(this.field) diff --git a/app/javascript/template_builder/fields.vue b/app/javascript/template_builder/fields.vue index cab03639..cbde6bc4 100644 --- a/app/javascript/template_builder/fields.vue +++ b/app/javascript/template_builder/fields.vue @@ -270,59 +270,6 @@
- -
×
-
  • parseInt(a.filename) - parseInt(b.filename))[0] }, modalContainerEl () { - return this.$el.getRootNode().querySelector('#docuseal_modal_container') + return this.$el.getRootNode().querySelector('#wabosign_modal_container') } }, methods: { diff --git a/app/javascript/template_builder/selection_context_menu.vue b/app/javascript/template_builder/selection_context_menu.vue index 4649e011..053b792f 100644 --- a/app/javascript/template_builder/selection_context_menu.vue +++ b/app/javascript/template_builder/selection_context_menu.vue @@ -185,7 +185,7 @@ export default { }, computed: { modalContainerEl () { - return this.$el.getRootNode().querySelector('#docuseal_modal_container') + return this.$el.getRootNode().querySelector('#wabosign_modal_container') }, selectedFields () { return this.selectedAreasRef.value.map((area) => { diff --git a/app/javascript/template_builder/upload.vue b/app/javascript/template_builder/upload.vue index 6b13f290..591b5241 100644 --- a/app/javascript/template_builder/upload.vue +++ b/app/javascript/template_builder/upload.vue @@ -238,7 +238,7 @@ export default { return `/auth/google_oauth2?${query}` }, modalContainerEl () { - return this.$el.getRootNode().querySelector('#docuseal_modal_container') + return this.$el.getRootNode().querySelector('#wabosign_modal_container') } }, mounted () { diff --git a/app/jobs/application_job.rb b/app/jobs/application_job.rb index 093e80b6..ccf48995 100644 --- a/app/jobs/application_job.rb +++ b/app/jobs/application_job.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true class ApplicationJob < ActiveJob::Base - retry_on StandardError, wait: 6.seconds, attempts: 5 unless Docuseal.multitenant? + retry_on StandardError, wait: 6.seconds, attempts: 5 unless Wabosign.multitenant? end diff --git a/app/jobs/send_form_completed_webhook_request_job.rb b/app/jobs/send_form_completed_webhook_request_job.rb index b9deb7a5..0baad0dd 100644 --- a/app/jobs/send_form_completed_webhook_request_job.rb +++ b/app/jobs/send_form_completed_webhook_request_job.rb @@ -22,7 +22,7 @@ class SendFormCompletedWebhookRequestJob Submissions::EnsureResultGenerated.call(submitter) - ActiveStorage::Current.url_options = Docuseal.default_url_options + ActiveStorage::Current.url_options = Wabosign.default_url_options resp = SendWebhookRequest.call(webhook_url, event_type: 'form.completed', event_uuid: params['event_uuid'], diff --git a/app/jobs/send_form_declined_webhook_request_job.rb b/app/jobs/send_form_declined_webhook_request_job.rb index c1f84383..92e020e4 100644 --- a/app/jobs/send_form_declined_webhook_request_job.rb +++ b/app/jobs/send_form_declined_webhook_request_job.rb @@ -20,7 +20,7 @@ class SendFormDeclinedWebhookRequestJob return if webhook_url.url.blank? || webhook_url.events.exclude?('form.declined') - ActiveStorage::Current.url_options = Docuseal.default_url_options + ActiveStorage::Current.url_options = Wabosign.default_url_options resp = SendWebhookRequest.call(webhook_url, event_type: 'form.declined', event_uuid: params['event_uuid'], diff --git a/app/jobs/send_form_started_webhook_request_job.rb b/app/jobs/send_form_started_webhook_request_job.rb index 42bcd26b..35ec7e81 100644 --- a/app/jobs/send_form_started_webhook_request_job.rb +++ b/app/jobs/send_form_started_webhook_request_job.rb @@ -20,7 +20,7 @@ class SendFormStartedWebhookRequestJob return if webhook_url.url.blank? || webhook_url.events.exclude?('form.started') - ActiveStorage::Current.url_options = Docuseal.default_url_options + ActiveStorage::Current.url_options = Wabosign.default_url_options resp = SendWebhookRequest.call(webhook_url, event_type: 'form.started', event_uuid: params['event_uuid'], diff --git a/app/jobs/send_form_viewed_webhook_request_job.rb b/app/jobs/send_form_viewed_webhook_request_job.rb index 4ac5a112..1d0aa923 100644 --- a/app/jobs/send_form_viewed_webhook_request_job.rb +++ b/app/jobs/send_form_viewed_webhook_request_job.rb @@ -20,7 +20,7 @@ class SendFormViewedWebhookRequestJob return if webhook_url.url.blank? || webhook_url.events.exclude?('form.viewed') - ActiveStorage::Current.url_options = Docuseal.default_url_options + ActiveStorage::Current.url_options = Wabosign.default_url_options resp = SendWebhookRequest.call(webhook_url, event_type: 'form.viewed', event_uuid: params['event_uuid'], diff --git a/app/jobs/send_test_webhook_request_job.rb b/app/jobs/send_test_webhook_request_job.rb index 0116cdaf..2d8a4693 100644 --- a/app/jobs/send_test_webhook_request_job.rb +++ b/app/jobs/send_test_webhook_request_job.rb @@ -5,7 +5,7 @@ class SendTestWebhookRequestJob sidekiq_options retry: 0 - USER_AGENT = 'DocuSeal.com Webhook' + USER_AGENT = 'WaboSign Webhook' HttpsError = Class.new(StandardError) LocalhostError = Class.new(StandardError) @@ -19,7 +19,7 @@ class SendTestWebhookRequestJob return unless webhook_url - if Docuseal.multitenant? + if Wabosign.multitenant? uri = begin URI(webhook_url.url) rescue URI::Error diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb index c5ed556d..abc32e6d 100644 --- a/app/mailers/application_mailer.rb +++ b/app/mailers/application_mailer.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class ApplicationMailer < ActionMailer::Base - default from: 'DocuSeal ' + default from: "#{Wabosign.product_name} <#{Wabosign::SUPPORT_EMAIL}>" layout 'mailer' register_interceptor ActionMailerConfigsInterceptor @@ -11,14 +11,14 @@ class ApplicationMailer < ActionMailer::Base register_observer ActionMailerEventsObserver before_action do - ActiveStorage::Current.url_options = Docuseal.default_url_options + ActiveStorage::Current.url_options = Wabosign.default_url_options end after_action :set_message_metadata after_action :set_message_uuid def default_url_options - Docuseal.default_url_options.merge(host: ENV.fetch('EMAIL_HOST', Docuseal.default_url_options[:host])) + Wabosign.default_url_options.merge(host: ENV.fetch('EMAIL_HOST', Wabosign.default_url_options[:host])) end def set_message_metadata diff --git a/app/mailers/submitter_mailer.rb b/app/mailers/submitter_mailer.rb index 6736c21d..83740b77 100644 --- a/app/mailers/submitter_mailer.rb +++ b/app/mailers/submitter_mailer.rb @@ -263,7 +263,7 @@ class SubmitterMailer < ApplicationMailer end def maybe_set_custom_domain(submitter) - if Docuseal.multitenant? && (config = AccountConfig.find_by(account_id: submitter.account_id, key: :custom_domain)) + if Wabosign.multitenant? && (config = AccountConfig.find_by(account_id: submitter.account_id, key: :custom_domain)) @custom_domain = config.value end end diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index 92f43357..a2402aa2 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -10,7 +10,7 @@ class UserMailer < ApplicationMailer I18n.with_locale(@current_account.locale) do mail(to: @user.friendly_name, - subject: I18n.t('you_are_invited_to_product_name', product_name: Docuseal.product_name)) + subject: I18n.t('you_are_invited_to_product_name', product_name: Wabosign.product_name)) end end end diff --git a/app/models/submitter.rb b/app/models/submitter.rb index 0e4bc6c2..0b061ae1 100644 --- a/app/models/submitter.rb +++ b/app/models/submitter.rb @@ -59,7 +59,7 @@ class Submitter < ApplicationRecord has_many_attached :attachments has_many_attached :preview_documents has_many :template_accesses, through: :submission - has_many :email_events, as: :emailable, dependent: (Docuseal.multitenant? ? nil : :destroy) + has_many :email_events, as: :emailable, dependent: (Wabosign.multitenant? ? nil : :destroy) has_many :document_generation_events, dependent: :destroy has_many :submission_events, dependent: :destroy @@ -68,7 +68,7 @@ class Submitter < ApplicationRecord scope :completed, -> { where.not(completed_at: nil) } - after_destroy :anonymize_email_events, if: -> { Docuseal.multitenant? } + after_destroy :anonymize_email_events, if: -> { Wabosign.multitenant? } def status if declined_at? diff --git a/app/views/accounts/show.html.erb b/app/views/accounts/show.html.erb index ba9a9c49..10a6170b 100644 --- a/app/views/accounts/show.html.erb +++ b/app/views/accounts/show.html.erb @@ -27,7 +27,7 @@
  • <% end %> <% encrypted_config = @encrypted_config || EncryptedConfig.find_or_initialize_by(account: current_account, key: EncryptedConfig::APP_URL_KEY) %> - <% if !Docuseal.multitenant? && can?(:manage, encrypted_config) && !current_account.testing? && ENV['APP_URL'].blank? %> + <% if !Wabosign.multitenant? && can?(:manage, encrypted_config) && !current_account.testing? && ENV['APP_URL'].blank? %> <%= fields_for encrypted_config do |ff| %>
    <%= ff.label :value, t('app_url'), class: 'label' %> @@ -70,7 +70,7 @@
    <%= t('add_signature_id_to_the_documents') %> - + <%= svg_icon('info_circle', class: 'hidden md:inline-block w-4 h-4 shrink-0') %>
    @@ -87,7 +87,7 @@
    <%= t('require_signing_reason') %> - + <%= svg_icon('info_circle', class: 'hidden md:inline-block w-4 h-4 shrink-0') %>
    @@ -142,15 +142,9 @@ <%= svg_icon('info_circle', class: 'hidden md:inline-block w-4 h-4 shrink-0') %>
    - <% if !Docuseal.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 !Docuseal.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 %> @@ -245,7 +233,7 @@ <% end %> <% end %> - <% if !Docuseal.multitenant? || can?(:manage, :personalization_advanced) %> + <% if true # personalization_advanced gate removed in fork %> <% 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| %> @@ -264,7 +252,7 @@ <% end %> <% end %> <% end %> - <% if !Docuseal.multitenant? || can?(:manage, :personalization_advanced) %> + <% if true # personalization_advanced gate removed in fork %> <% 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| %> @@ -281,7 +269,7 @@ <% end %> <% end %> <%= render 'extra_preferences' %> - <% if !Docuseal.multitenant? && SearchEntry.table_exists? && (!Docuseal.fulltext_search? || params[:reindex] == 'true') && can?(:manage, EncryptedConfig) %> + <% if !Wabosign.multitenant? && SearchEntry.table_exists? && (!Wabosign.fulltext_search? || params[:reindex] == 'true') && can?(:manage, EncryptedConfig) %>
    <%= t('efficient_search_with_search_index') %> @@ -293,7 +281,7 @@ <% end %> <%= render 'compliances' %> <%= render 'integrations' %> - <% if can?(:manage, current_account) && Docuseal.multitenant? && true_user == current_user %> + <% if can?(:manage, current_account) && Wabosign.multitenant? && true_user == current_user %>

    <%= t('danger_zone') %> diff --git a/app/views/api_settings/index.html.erb b/app/views/api_settings/index.html.erb index 6c15c755..c5bb0955 100644 --- a/app/views/api_settings/index.html.erb +++ b/app/views/api_settings/index.html.erb @@ -118,7 +118,7 @@

    - <%= link_to t('open_full_api_reference'), "#{Docuseal::PRODUCT_URL}/docs/api", class: 'btn btn-warning text-base mt-4 px-8', target: '_blank', rel: 'noopener' %> + <%= link_to t('open_full_api_reference'), "#{Wabosign::PRODUCT_URL}/docs/api", class: 'btn btn-warning text-base mt-4 px-8', target: '_blank', rel: 'noopener' %>
    diff --git a/app/views/devise/mailer/reset_password_instructions.html.erb b/app/views/devise/mailer/reset_password_instructions.html.erb index ae3aa1a4..e6e9060c 100644 --- a/app/views/devise/mailer/reset_password_instructions.html.erb +++ b/app/views/devise/mailer/reset_password_instructions.html.erb @@ -5,6 +5,6 @@

    <%= t('if_you_didnt_request_this_you_can_ignore_this_email') %>

    <%= t('thanks') %>,
    - <%= Docuseal.product_name %> + <%= Wabosign.product_name %>

    <% content_for(:remove_attribution, true) %> diff --git a/app/views/devise/sessions/new.html.erb b/app/views/devise/sessions/new.html.erb index 350e5169..3cf4b06c 100644 --- a/app/views/devise/sessions/new.html.erb +++ b/app/views/devise/sessions/new.html.erb @@ -1,6 +1,6 @@ <%= content_for(:canonical_url, new_user_session_url) %>
    - <%= render 'devise/shared/select_server' if Docuseal.multitenant? %> + <%= render 'devise/shared/select_server' if Wabosign.multitenant? %>

    <%= t('sign_in') %>

    <%= form_for(resource, as: resource_name, html: { class: 'space-y-6' }, data: { turbo: params[:redir].blank? }, url: session_path(resource_name)) do |f| %> <%= render 'hidden_fields' %> diff --git a/app/views/email_smtp_settings/index.html.erb b/app/views/email_smtp_settings/index.html.erb index 821d8335..e4f5af25 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 !Wabosign.multitenant? || can?(:manage, :personalization_advanced) %>
    <%= ff.label :security_label, 'SMTP Security', class: 'label' %>
    @@ -50,7 +50,7 @@ <% end %>
    <%= ff.label :from_email, t('send_from_email'), class: 'label' %> - <%= ff.email_field :from_email, value: value['from_email'], required: !Docuseal.multitenant?, class: 'base-input' %> + <%= ff.email_field :from_email, value: value['from_email'], required: !Wabosign.multitenant?, class: 'base-input' %>
    <% end %>
    diff --git a/app/views/esign_settings/_default_signature_row.html.erb b/app/views/esign_settings/_default_signature_row.html.erb deleted file mode 100644 index 899f99b3..00000000 --- a/app/views/esign_settings/_default_signature_row.html.erb +++ /dev/null @@ -1,25 +0,0 @@ - - - <%= svg_icon('discount_check_filled', class: 'w-6 h-6 text-green-500') %> - - <%= t('docuseal_trusted_signature') %> -
    - <%= svg_icon('circle_question', class: 'w-4 h-4 stroke-1') %> -
    -
    - - - " 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 %> -
    - - - - diff --git a/app/views/esign_settings/show.html.erb b/app/views/esign_settings/show.html.erb index f22700b8..9740f504 100644 --- a/app/views/esign_settings/show.html.erb +++ b/app/views/esign_settings/show.html.erb @@ -99,14 +99,11 @@ <% end %> - <% unless Docuseal.multitenant? %> - <%= render 'default_signature_row' %> - <% end %>
    <% encrypted_config = EncryptedConfig.find_or_initialize_by(account: current_account, key: EncryptedConfig::TIMESTAMP_SERVER_URL_KEY) %> - <% if !Docuseal.multitenant? && can?(:manage, encrypted_config) %> + <% if can?(:manage, encrypted_config) %>

    diff --git a/app/views/invitations/edit.html.erb b/app/views/invitations/edit.html.erb index 1513d612..2f348964 100644 --- a/app/views/invitations/edit.html.erb +++ b/app/views/invitations/edit.html.erb @@ -1,7 +1,7 @@

    <%= svg_icon('waving_hand', class: 'h-10 w-10') %> - <%= t('welcome_to_product_name', product_name: Docuseal.product_name) %> + <%= t('welcome_to_product_name', product_name: Wabosign.product_name) %>

    <%= form_for(resource, as: resource_name, url: invitation_path, html: { method: :put, class: 'space-y-6' }) do |f| %>
    diff --git a/app/views/layouts/_head_tags.html.erb b/app/views/layouts/_head_tags.html.erb index a6426f4f..913af2e9 100644 --- a/app/views/layouts/_head_tags.html.erb +++ b/app/views/layouts/_head_tags.html.erb @@ -1,4 +1,4 @@ - <%= content_for(:html_title) || (signed_in? ? 'DocuSeal' : 'DocuSeal | Open Source Document Signing') %> + <%= content_for(:html_title) || (signed_in? ? Wabosign.product_name : "#{Wabosign.product_name} | Open Source Document Signing") %> <%= render 'shared/meta' %> diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 09cfb218..9b3bd4d4 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -1,8 +1,8 @@ - + <%= render 'layouts/head_tags' %> - <% if Docuseal.enable_pwa? %> + <% if Wabosign.enable_pwa? %> <% end %> diff --git a/app/views/layouts/form.html.erb b/app/views/layouts/form.html.erb index 756f8f83..4c7d57e5 100644 --- a/app/views/layouts/form.html.erb +++ b/app/views/layouts/form.html.erb @@ -1,5 +1,5 @@ - + <%= render 'layouts/head_tags' %> diff --git a/app/views/layouts/plain.html.erb b/app/views/layouts/plain.html.erb index 88916977..56796f5c 100644 --- a/app/views/layouts/plain.html.erb +++ b/app/views/layouts/plain.html.erb @@ -1,5 +1,5 @@ - + <%= render 'layouts/head_tags' %> diff --git a/app/views/mcp_settings/index.html.erb b/app/views/mcp_settings/index.html.erb index 736f011b..ca0d50ff 100644 --- a/app/views/mcp_settings/index.html.erb +++ b/app/views/mcp_settings/index.html.erb @@ -33,10 +33,10 @@

    -

    <%= t('connect_to_docuseal_mcp') %>

    +

    <%= t('connect_to_wabosign_mcp') %>

    <%= t('add_the_following_to_your_mcp_client_configuration') %>:

    - <% text = JSON.pretty_generate({ mcpServers: { docuseal: { type: 'http', url: "#{root_url(Docuseal.default_url_options)}mcp", headers: { Authorization: "Bearer #{@mcp_token.token}" } } } }).strip %> + <% text = JSON.pretty_generate({ mcpServers: { wabosign: { type: 'http', url: "#{root_url(Wabosign.default_url_options)}mcp", headers: { Authorization: "Bearer #{@mcp_token.token}" } } } }).strip %> <%= render 'shared/clipboard_copy', icon: 'copy', text:, class: 'btn btn-ghost text-white', icon_class: 'w-6 h-6 text-white', copy_title: t('copy'), copied_title: t('copied') %> diff --git a/app/views/notifications_settings/_reminder_banner.html.erb b/app/views/notifications_settings/_reminder_banner.html.erb deleted file mode 100644 index 926e952d..00000000 --- a/app/views/notifications_settings/_reminder_banner.html.erb +++ /dev/null @@ -1 +0,0 @@ -<%= render 'reminder_placeholder' %> diff --git a/app/views/notifications_settings/_reminder_form.html.erb b/app/views/notifications_settings/_reminder_form.html.erb index 40a077b7..58b4bec5 100644 --- a/app/views/notifications_settings/_reminder_form.html.erb +++ b/app/views/notifications_settings/_reminder_form.html.erb @@ -2,7 +2,7 @@ <%= f.hidden_field :key %>
    <% record = Struct.new(:first_duration, :second_duration, :third_duration).new(*(f.object.value || {}).values_at('first_duration', 'second_duration', 'third_duration')) %> - <% durations = (Docuseal.multitenant? ? AccountConfigs::REMINDER_DURATIONS.except('one_hour', 'two_hours') : AccountConfigs::REMINDER_DURATIONS).keys.map { |v| [t(v.underscore), v] } %> + <% durations = AccountConfigs::REMINDER_DURATIONS.keys.map { |v| [t(v.underscore), v] } %>
    <%= f.fields_for :value, record do |ff| %> diff --git a/app/views/notifications_settings/_reminder_placeholder.html.erb b/app/views/notifications_settings/_reminder_placeholder.html.erb deleted file mode 100644 index 38b05ce5..00000000 --- a/app/views/notifications_settings/_reminder_placeholder.html.erb +++ /dev/null @@ -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/notifications_settings/index.html.erb b/app/views/notifications_settings/index.html.erb index b163e8e8..39e800b8 100644 --- a/app/views/notifications_settings/index.html.erb +++ b/app/views/notifications_settings/index.html.erb @@ -26,7 +26,6 @@ <%= t('sign_request_email_reminders') %>

    - <%= render 'reminder_banner' %> <%= render 'reminder_form', config: @reminder_config %>
    diff --git a/app/views/pages/landing.html.erb b/app/views/pages/landing.html.erb index 78cc823e..27f0074e 100644 --- a/app/views/pages/landing.html.erb +++ b/app/views/pages/landing.html.erb @@ -5,11 +5,11 @@
    <%= render 'shared/logo', width: '100', height: '100' %>

    - DocuSeal + <%= Wabosign.product_name %>

    - <% if Docuseal.version.present? %> - - v<%= Docuseal.version %> + <% if Wabosign.version.present? %> + + v<%= Wabosign.version %> <% end %>
    @@ -27,7 +27,7 @@

    Easy to Start

    - Run on your own host using Docker container, or deploy on your favorite managed PaaS with a single click. + Run on your own host using Docker container, or deploy on your favorite managed PaaS.

    @@ -41,7 +41,7 @@

    Mobile Optimized

    Review and sign digital documents online from any device. - Docuseal document forms are optimized for screens of all sizes. + Wabosign document forms are optimized for screens of all sizes.

    @@ -67,7 +67,7 @@

    Open Source

    - Source code is available under github.com/docusealco.
    + Source code is available on GitHub.
    Open-source contributors are always ready to help!

    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 e4f777d4..7cd66cf5 100644 --- a/app/views/personalization_settings/_documents_copy_email_form.html.erb +++ b/app/views/personalization_settings/_documents_copy_email_form.html.erb @@ -14,12 +14,10 @@ <%= 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) %> -
    - <%= ff.label :reply_to, t('reply_to'), class: 'label' %> - <%= ff.email_field :reply_to, class: 'base-input', dir: 'auto', placeholder: t(:email) %> -
    - <% end %> +
    + <%= ff.label :reply_to, t('reply_to'), class: 'label' %> + <%= ff.email_field :reply_to, class: 'base-input', dir: 'auto', placeholder: t(:email) %> +
    @@ -33,22 +31,18 @@ <%= ff.check_box :attach_audit_log, { checked: ff.object.attach_audit_log != false, class: 'toggle' }, 'true', 'false' %>
    - <% unless Docuseal.multitenant? %> -
    - - <%= t('bcc_recipients') %> - - <%= ff.check_box :bcc_recipients, { checked: ff.object.bcc_recipients == true, class: 'toggle' }, 'true', 'false' %> -
    - <% end %> - <% if !Docuseal.multitenant? || can?(:manage, :personalization_advanced) %> -
    - - <%= t('send_emails_automatically_on_completion') %> - - <%= ff.check_box :enabled, { checked: ff.object.enabled != false, class: 'toggle' }, 'true', 'false' %> -
    - <% end %> +
    + + <%= t('bcc_recipients') %> + + <%= ff.check_box :bcc_recipients, { checked: ff.object.bcc_recipients == true, class: 'toggle' }, 'true', 'false' %> +
    +
    + + <%= t('send_emails_automatically_on_completion') %> + + <%= ff.check_box :enabled, { checked: ff.object.enabled != false, class: 'toggle' }, 'true', 'false' %> +
    <% end %>
    diff --git a/app/views/personalization_settings/_form_policy_links_form.html.erb b/app/views/personalization_settings/_form_policy_links_form.html.erb index cabf1b83..29df8379 100644 --- a/app/views/personalization_settings/_form_policy_links_form.html.erb +++ b/app/views/personalization_settings/_form_policy_links_form.html.erb @@ -1,4 +1,4 @@ -<% unless Docuseal.multitenant? %> +<% unless Wabosign.multitenant? %>
    diff --git a/app/views/personalization_settings/_logo_placeholder.html.erb b/app/views/personalization_settings/_logo_placeholder.html.erb index 9a8358e3..2a54d497 100644 --- a/app/views/personalization_settings/_logo_placeholder.html.erb +++ b/app/views/personalization_settings/_logo_placeholder.html.erb @@ -2,14 +2,10 @@ <%= svg_icon('info_circle', class: 'w-6 h-6') %>

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

    - <%= t('display_your_company_name_and_logo_when_signing_documents') %> -
    - " data-turbo="false"> - <%= t('learn_more') %> - + Logo upload UI is not bundled with this open-source edition. Drop your custom logo into public/logo.svg and edit app/views/shared/_logo.html.erb to white-label the signing UI.

    diff --git a/app/views/pwa/manifest.json.erb b/app/views/pwa/manifest.json.erb index 68022061..18aafb96 100644 --- a/app/views/pwa/manifest.json.erb +++ b/app/views/pwa/manifest.json.erb @@ -1,6 +1,6 @@ { - "name": "<%= Docuseal.product_name %>", - "short_name": "<%= Docuseal.product_name %>", + "name": "<%= Wabosign.product_name %>", + "short_name": "<%= Wabosign.product_name %>", "id": "/", "icons": [ { @@ -18,7 +18,7 @@ "display": "standalone", "scope": "/", "orientation": "any", - "description": "<%= Docuseal.product_name %> is an open source platform that provides secure and efficient digital document signing and processing.", + "description": "<%= Wabosign.product_name %> is an open source platform that provides secure and efficient digital document signing and processing.", "categories": ["productivity", "utilities"], "theme_color": "#FAF7F4", "background_color": "#FAF7F4" diff --git a/app/views/shared/_email_attribution.html.erb b/app/views/shared/_email_attribution.html.erb index 8cfd4988..23788a1c 100644 --- a/app/views/shared/_email_attribution.html.erb +++ b/app/views/shared/_email_attribution.html.erb @@ -3,8 +3,13 @@

    <% if @current_account&.testing? %> - <%= t('sent_using_product_name_in_testing_mode_html', product_url: "#{Docuseal::PRODUCT_EMAIL_URL}/start", product_name: Docuseal.product_name) %> + <%= t('sent_using_product_name_in_testing_mode_html', product_url: "#{Wabosign::PRODUCT_EMAIL_URL}/start", product_name: Wabosign.product_name) %> <% else %> - <%= t('sent_using_product_name_free_document_signing_html', product_url: "#{Docuseal::PRODUCT_EMAIL_URL}/start", product_name: Docuseal.product_name) %> + <%= t('sent_using_product_name_free_document_signing_html', product_url: "#{Wabosign::PRODUCT_EMAIL_URL}/start", product_name: Wabosign.product_name) %> <% end %>

    +

    + <%= t('based_on') %> + <%= Wabosign::UPSTREAM_NAME %> + (AGPLv3) +

    diff --git a/app/views/shared/_github.html.erb b/app/views/shared/_github.html.erb index 7fa11f0b..4060b7ac 100644 --- a/app/views/shared/_github.html.erb +++ b/app/views/shared/_github.html.erb @@ -1,4 +1,4 @@ - + <%= svg_icon('start', class: 'h-3 w-3') %> 16k diff --git a/app/views/shared/_github_button.html.erb b/app/views/shared/_github_button.html.erb index 5bb4bdde..a8547e9d 100644 --- a/app/views/shared/_github_button.html.erb +++ b/app/views/shared/_github_button.html.erb @@ -1,10 +1,10 @@ - + - GitHub + GitHub diff --git a/app/views/shared/_logo.html.erb b/app/views/shared/_logo.html.erb index 57e6e0d9..3634b097 100644 --- a/app/views/shared/_logo.html.erb +++ b/app/views/shared/_logo.html.erb @@ -1,4 +1,4 @@ - - + + diff --git a/app/views/shared/_meta.html.erb b/app/views/shared/_meta.html.erb index a6d492f9..00f49b18 100644 --- a/app/views/shared/_meta.html.erb +++ b/app/views/shared/_meta.html.erb @@ -1,14 +1,14 @@ -<% if Docuseal.demo? || (request.path != '/' && !devise_controller?) %> +<% if Wabosign.demo? || (request.path != '/' && !devise_controller?) %> <% end %> -<% title = content_for(:html_title) || (signed_in? ? 'DocuSeal' : 'DocuSeal | Open Source Document Signing') %> +<% title = content_for(:html_title) || (signed_in? ? Wabosign.product_name : "#{Wabosign.product_name} | Open Source Document Signing") %> <% description = content_for(:html_description) || 'Open source, self-hosted tool to streamline document filling and signing. Create custom PDF forms to complete and sign with an easy to use online tool.' %> - + <% if content_for(:disable_image_preview) %> @@ -19,8 +19,6 @@ "> <% end %> - - diff --git a/app/views/shared/_navbar.html.erb b/app/views/shared/_navbar.html.erb index c647dc27..9a19f7ad 100644 --- a/app/views/shared/_navbar.html.erb +++ b/app/views/shared/_navbar.html.erb @@ -10,8 +10,8 @@
    <% if signed_in? %>
    - <% if Docuseal.demo? %> - + <% if Wabosign.demo? %> + <%= t('sign_up') %> <% end %> <% end %> - <% if Docuseal.multitenant? && !request.path.in?([registration_path, new_registration_path]) %> + <% if Wabosign.multitenant? && !request.path.in?([registration_path, new_registration_path]) %> <%= link_to registration_path({ lang: params[:lang] }.compact_blank), class: 'btn btn-neutral btn-sm btn-outline' do %> diff --git a/app/views/shared/_navbar_buttons.html.erb b/app/views/shared/_navbar_buttons.html.erb index f8692699..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 "#{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/_powered_by.html.erb b/app/views/shared/_powered_by.html.erb index dd0ee3fd..90b151b2 100644 --- a/app/views/shared/_powered_by.html.erb +++ b/app/views/shared/_powered_by.html.erb @@ -9,5 +9,10 @@ <% else %> <%= t('powered_by') %> <% end %> - <%= Docuseal.product_name %> - <%= t('open_source_documents_software') %> + <%= Wabosign.product_name %> - <%= t('open_source_documents_software') %> +
    +
    + <%= t('based_on') %> + <%= Wabosign::UPSTREAM_NAME %> + (AGPLv3)
    diff --git a/app/views/shared/_settings_nav.html.erb b/app/views/shared/_settings_nav.html.erb index 147b1c31..b321bca4 100644 --- a/app/views/shared/_settings_nav.html.erb +++ b/app/views/shared/_settings_nav.html.erb @@ -12,7 +12,7 @@
  • <%= link_to t('account'), settings_account_path, class: 'text-base hover:bg-base-300' %>
  • - <% unless Docuseal.multitenant? %> + <% unless Wabosign.multitenant? %> <% if can?(:read, EncryptedConfig.new(key: EncryptedConfig::EMAIL_SMTP_KEY, account: current_account)) && ENV['SMTP_ADDRESS'].blank? && true_user == current_user %>
  • <%= link_to t('email'), settings_email_index_path, class: 'text-base hover:bg-base-300' %> @@ -50,47 +50,27 @@
  • <% end %> <%= render 'shared/settings_nav_extra' %> - <% if Docuseal.demo? || !Docuseal.multitenant? %> + <% if Wabosign.demo? || !Wabosign.multitenant? %> <% if can?(:read, AccessToken) %>
  • <%= link_to 'API', settings_api_index_path, class: 'text-base hover:bg-base-300' %>
  • <% end %> <% end %> - <% if Docuseal.demo? || !Docuseal.multitenant? || (current_user != true_user && !current_account.testing?) %> + <% if Wabosign.demo? || !Wabosign.multitenant? || (current_user != true_user && !current_account.testing?) %> <% if can?(:read, WebhookUrl) %>
  • <%= link_to 'Webhooks', settings_webhooks_path, class: 'text-base hover:bg-base-300' %>
  • <% 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 !Wabosign.demo? && can?(:manage, EncryptedConfig) && (current_user == true_user || current_account.testing?) %> + <% 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' %>
  • <% end %> - <% if !Docuseal.multitenant? && can?(:read, McpToken) && can?(:manage, :mcp) %> + <% if can?(:read, McpToken) && can?(:manage, :mcp) %>
  • <%= link_to 'MCP', settings_mcp_index_path, class: 'text-base hover:bg-base-300' %>
  • @@ -113,36 +93,24 @@ <% end %> - <% if Docuseal.multitenant? || cannot?(:manage, :tenants) %> + <% if Wabosign.multitenant? || cannot?(:manage, :tenants) %> diff --git a/app/views/shared/_title.html.erb b/app/views/shared/_title.html.erb index 9830a7ca..1abba732 100644 --- a/app/views/shared/_title.html.erb +++ b/app/views/shared/_title.html.erb @@ -1,2 +1,2 @@ <%= render 'shared/logo' %> -DocuSeal +<%= Wabosign.product_name %> diff --git a/app/views/sms_settings/_placeholder.html.erb b/app/views/sms_settings/_placeholder.html.erb index 13f2e2ea..863f1c1d 100644 --- a/app/views/sms_settings/_placeholder.html.erb +++ b/app/views/sms_settings/_placeholder.html.erb @@ -5,11 +5,7 @@ <%= t('send_signature_requests_via_sms') %>

    - <%= t('unlock_with_docuseal_pro') %> -
    - " data-turbo="false"> - <%= t('learn_more') %> - + SMS signing invitations require an SMS provider integration (e.g. Twilio, AWS SNS) that is not bundled with this open-source edition. Wire up your preferred provider in the submitter mailer/SMS service to enable.

    diff --git a/app/views/sso_settings/_placeholder.html.erb b/app/views/sso_settings/_placeholder.html.erb index c6497097..898cd1c7 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') %> - + SAML 2.0 SSO requires a SAML library integration (e.g. ruby-saml) that is not bundled with this open-source edition. Encrypted config is stored under the saml_configs key on the account.

    diff --git a/app/views/start_form/_banner.html.erb b/app/views/start_form/_banner.html.erb index fb0cb60d..3d8c6b52 100644 --- a/app/views/start_form/_banner.html.erb +++ b/app/views/start_form/_banner.html.erb @@ -1 +1 @@ -<%= render 'start_form/docuseal_logo' %> +<%= render 'start_form/brand_logo' %> diff --git a/app/views/start_form/_docuseal_logo.html.erb b/app/views/start_form/_brand_logo.html.erb similarity index 66% rename from app/views/start_form/_docuseal_logo.html.erb rename to app/views/start_form/_brand_logo.html.erb index 735c607c..4a3f3f9a 100644 --- a/app/views/start_form/_docuseal_logo.html.erb +++ b/app/views/start_form/_brand_logo.html.erb @@ -2,5 +2,5 @@ <%= render 'shared/logo', width: '50px', height: '50px' %> -

    DocuSeal

    +

    <%= Wabosign.product_name %>

    diff --git a/app/views/start_form/completed.html.erb b/app/views/start_form/completed.html.erb index 596964f8..fde1abdf 100644 --- a/app/views/start_form/completed.html.erb +++ b/app/views/start_form/completed.html.erb @@ -21,7 +21,7 @@
    <%= @submitter.with_signature_fields? ? t('document_has_been_signed_already') : t('form_has_been_submitted_already') %>
    - <% if Docuseal.multitenant? || Accounts.can_send_emails?(@submitter.account) %> + <% if Wabosign.multitenant? || Accounts.can_send_emails?(@submitter.account) %> <%= button_to button_title(title: t('send_copy_to_email'), disabled_with: t('sending'), icon: svg_icon('mail_forward', class: 'w-6 h-6')), send_submission_email_index_path, params: { template_slug: @template.slug, email: params[:email] }, class: 'base-button w-full' %> diff --git a/app/views/start_form/email_verification.html.erb b/app/views/start_form/email_verification.html.erb index 248278c5..91b25ca1 100644 --- a/app/views/start_form/email_verification.html.erb +++ b/app/views/start_form/email_verification.html.erb @@ -1,4 +1,4 @@ -<% content_for(:html_title, "#{@template.name} | DocuSeal") %> +<% content_for(:html_title, "#{@template.name} | #{Wabosign.product_name}") %> <% I18n.with_locale(@template.account.locale) do %> <% content_for(:html_description, t('account_name_has_invited_you_to_fill_and_sign_documents_online_effortlessly_with_a_secure_fast_and_user_friendly_digital_document_signing_solution', account_name: @template.account.name)) %> <% end %> diff --git a/app/views/start_form/private.html.erb b/app/views/start_form/private.html.erb index 083cc67c..f8610bf2 100644 --- a/app/views/start_form/private.html.erb +++ b/app/views/start_form/private.html.erb @@ -1,4 +1,4 @@ -<% content_for(:html_title, "#{@template.name} | DocuSeal") %> +<% content_for(:html_title, "#{@template.name} | #{Wabosign.product_name}") %> <% I18n.with_locale(@template.account.locale) do %> <% content_for(:html_description, t('share_link_is_currently_disabled')) %> <% end %> diff --git a/app/views/start_form/show.html.erb b/app/views/start_form/show.html.erb index 2c50dbd0..34911190 100644 --- a/app/views/start_form/show.html.erb +++ b/app/views/start_form/show.html.erb @@ -1,4 +1,4 @@ -<% content_for(:html_title, "#{@template.name} | DocuSeal") %> +<% content_for(:html_title, "#{@template.name} | #{Wabosign.product_name}") %> <% I18n.with_locale(@template.account.locale) do %> <% content_for(:html_description, t('account_name_has_invited_you_to_fill_and_sign_documents_online_effortlessly_with_a_secure_fast_and_user_friendly_digital_document_signing_solution', account_name: @template.account.name)) %> <% end %> diff --git a/app/views/submissions/_bulk_send_placeholder.html.erb b/app/views/submissions/_bulk_send_placeholder.html.erb index f81f6534..ae530771 100644 --- a/app/views/submissions/_bulk_send_placeholder.html.erb +++ b/app/views/submissions/_bulk_send_placeholder.html.erb @@ -5,11 +5,7 @@ <%= t('bulk_send_from_excel_xlsx_or_csv') %>

    - <%= t('unlock_with_docuseal_pro') %> -
    - " data-turbo="false"> - <%= t('learn_more') %> - + Bulk send via CSV/XLSX import is not bundled with this open-source edition. Use the JSON API (POST /api/submissions with an array of submitters) to create submissions in bulk programmatically.

    diff --git a/app/views/submissions/_email_form.html.erb b/app/views/submissions/_email_form.html.erb index 2df01e38..7acf6c9d 100644 --- a/app/views/submissions/_email_form.html.erb +++ b/app/views/submissions/_email_form.html.erb @@ -23,7 +23,7 @@ <% elsif submitters.size == 1 %> - + <%= f.text_area :emails, required: true, class: 'base-textarea w-full !text-lg', placeholder: "#{t('type_emails_here')}...", rows: 2 %> diff --git a/app/views/submissions/_send_email_base.html.erb b/app/views/submissions/_send_email_base.html.erb index f143d875..88ba0cdc 100644 --- a/app/views/submissions/_send_email_base.html.erb +++ b/app/views/submissions/_send_email_base.html.erb @@ -22,7 +22,7 @@ <% end %> - <% if !Docuseal.multitenant? && !can_send_emails %> + <% if !Wabosign.multitenant? && !can_send_emails %>
    <%= svg_icon('info_circle', class: 'w-6 h-6') %>
    diff --git a/app/views/submissions/_send_sms_button.html.erb b/app/views/submissions/_send_sms_button.html.erb index b8df27cf..178ad7cf 100644 --- a/app/views/submissions/_send_sms_button.html.erb +++ b/app/views/submissions/_send_sms_button.html.erb @@ -1,5 +1,7 @@
    -
    - <%= 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/submissions_dashboard/index.html.erb b/app/views/submissions_dashboard/index.html.erb index d61943d6..6686caf7 100644 --- a/app/views/submissions_dashboard/index.html.erb +++ b/app/views/submissions_dashboard/index.html.erb @@ -1,6 +1,6 @@ <% filter_params = params.permit(Submissions::Filter::ALLOWED_PARAMS).compact_blank %> <% is_show_tabs = (@pagy.count.nil? || @pagy.count >= 5) || params[:status].present? || filter_params.present? %> -<% if Docuseal.demo? %><%= render 'shared/demo_alert' %><% end %> +<% if Wabosign.demo? %><%= render 'shared/demo_alert' %><% end %>
    diff --git a/app/views/submissions_preview/completed.html.erb b/app/views/submissions_preview/completed.html.erb index 60370a46..f4448ad6 100644 --- a/app/views/submissions_preview/completed.html.erb +++ b/app/views/submissions_preview/completed.html.erb @@ -22,7 +22,7 @@
    - <% if Docuseal.multitenant? || Accounts.can_send_emails?(@submission.account) %> + <% if Wabosign.multitenant? || Accounts.can_send_emails?(@submission.account) %> <%= form_for '', url: send_submission_email_index_path, method: :post, html: { class: 'space-y-4' } do |f| %>
    <%= f.hidden_field :submission_slug, value: @submission.slug %> diff --git a/app/views/submit_form/_banner.html.erb b/app/views/submit_form/_banner.html.erb index cf07a792..5e2475d0 100644 --- a/app/views/submit_form/_banner.html.erb +++ b/app/views/submit_form/_banner.html.erb @@ -1,3 +1,3 @@
    - <%= render 'submit_form/docuseal_logo' %> + <%= render 'submit_form/brand_logo' %>
    diff --git a/app/views/submit_form/_docuseal_logo.html.erb b/app/views/submit_form/_brand_logo.html.erb similarity index 79% rename from app/views/submit_form/_docuseal_logo.html.erb rename to app/views/submit_form/_brand_logo.html.erb index 645f7fc5..c633f860 100644 --- a/app/views/submit_form/_docuseal_logo.html.erb +++ b/app/views/submit_form/_brand_logo.html.erb @@ -1,4 +1,4 @@ <%= render 'shared/logo', class: 'w-9 h-9 md:w-12 md:h-12' %> - <%= Docuseal.product_name %> + <%= Wabosign.product_name %> diff --git a/app/views/submit_form/_submission_form.html.erb b/app/views/submit_form/_submission_form.html.erb index b56123ff..0abc48ec 100644 --- a/app/views/submit_form/_submission_form.html.erb +++ b/app/views/submit_form/_submission_form.html.erb @@ -2,4 +2,4 @@ <% data_fields = Submissions.filtered_conditions_fields(submitter).to_json %> <% invite_submitters = (submitter.submission.template_submitters || submitter.submission.template.submitters).select { |s| s['invite_by_uuid'] == submitter.uuid && submitter.submission.submitters.none? { |e| e.uuid == s['uuid'] } }.to_json %> <% optional_invite_submitters = (submitter.submission.template_submitters || submitter.submission.template.submitters).select { |s| s['optional_invite_by_uuid'] == submitter.uuid && submitter.submission.submitters.none? { |e| e.uuid == s['uuid'] } }.to_json %> - + diff --git a/app/views/submit_form/completed.html.erb b/app/views/submit_form/completed.html.erb index 85ec64ea..d3650e62 100644 --- a/app/views/submit_form/completed.html.erb +++ b/app/views/submit_form/completed.html.erb @@ -19,7 +19,7 @@
    - <% if (Docuseal.multitenant? || Accounts.can_send_emails?(@submitter.account)) && @submitter.email.present? %> + <% if (Wabosign.multitenant? || Accounts.can_send_emails?(@submitter.account)) && @submitter.email.present? %> <%= button_to button_title(title: t('send_copy_to_email'), disabled_with: t('sending'), icon: svg_icon('mail_forward', class: 'w-6 h-6')), send_submission_email_index_path, params: { submitter_slug: @submitter.slug }, class: 'white-button w-full' %> diff --git a/app/views/submit_form/email_2fa.html.erb b/app/views/submit_form/email_2fa.html.erb index 319a3c80..62584cc7 100644 --- a/app/views/submit_form/email_2fa.html.erb +++ b/app/views/submit_form/email_2fa.html.erb @@ -1,4 +1,4 @@ -<% content_for(:html_title, "#{@submitter.submission.name || @submitter.submission.template.name} | DocuSeal") %> +<% content_for(:html_title, "#{@submitter.submission.name || @submitter.submission.template.name} | #{Wabosign.product_name}") %> <% I18n.with_locale(@submitter.account.locale) do %> <% content_for(:html_description, t('account_name_has_invited_you_to_fill_and_sign_documents_online_effortlessly_with_a_secure_fast_and_user_friendly_digital_document_signing_solution', account_name: @submitter.account.name)) %> <% end %> diff --git a/app/views/submit_form/show.html.erb b/app/views/submit_form/show.html.erb index 0d9a229d..898e2393 100644 --- a/app/views/submit_form/show.html.erb +++ b/app/views/submit_form/show.html.erb @@ -1,4 +1,4 @@ -<% content_for(:html_title, "#{@submitter.submission.name || @submitter.submission.template.name} | DocuSeal") %> +<% content_for(:html_title, "#{@submitter.submission.name || @submitter.submission.template.name} | #{Wabosign.product_name}") %> <% I18n.with_locale(@submitter.account.locale) do %> <% content_for(:html_description, t('account_name_has_invited_you_to_fill_and_sign_documents_online_effortlessly_with_a_secure_fast_and_user_friendly_digital_document_signing_solution', account_name: @submitter.account.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 f1ffebf0..952413e1 100644 --- a/app/views/submit_form_draw_signature/show.html.erb +++ b/app/views/submit_form_draw_signature/show.html.erb @@ -1,5 +1,5 @@ - + <%= render 'layouts/head_tags' %> diff --git a/app/views/submitter_mailer/documents_copy_email.html.erb b/app/views/submitter_mailer/documents_copy_email.html.erb index 9e230cf2..8c49c75b 100644 --- a/app/views/submitter_mailer/documents_copy_email.html.erb +++ b/app/views/submitter_mailer/documents_copy_email.html.erb @@ -5,7 +5,7 @@

    <%= t('please_check_the_copy_of_your_name_in_the_email_attachments', name: @submitter.submission.name || @submitter.submission.template.name) %>

    <%= t('alternatively_you_can_review_and_download_your_copy_using_the_link_below') %>

    - <%= link_to @submitter.submission.name || @submitter.submission.template.name, submissions_preview_url(@submitter.submission.slug, { sig: @sig, host: @custom_domain || ENV.fetch('EMAIL_HOST', Docuseal.default_url_options[:host]) }.compact) %> + <%= link_to @submitter.submission.name || @submitter.submission.template.name, submissions_preview_url(@submitter.submission.slug, { sig: @sig, host: @custom_domain || ENV.fetch('EMAIL_HOST', Wabosign.default_url_options[:host]) }.compact) %>

    <%= t('thanks') %>,
    <%= @current_account.name %> diff --git a/app/views/submitter_mailer/invitation_email.html.erb b/app/views/submitter_mailer/invitation_email.html.erb index 408016df..adcff2f8 100644 --- a/app/views/submitter_mailer/invitation_email.html.erb +++ b/app/views/submitter_mailer/invitation_email.html.erb @@ -1,12 +1,12 @@ <% if @body.present? %> <%= render 'custom_content', content: @body, submitter: @submitter %> <% if !@body.match?(ReplaceEmailVariables::SUBMITTER_LINK) && !@body.match?(ReplaceEmailVariables::SUBMITTER_ID) && !@body.match?(ReplaceEmailVariables::SUBMISSION_LINK) && !@body.match?(ReplaceEmailVariables::TEMPLATE_ID) && !@submitter.submission.source.in?(%w[api embed]) %> -

    <%= link_to nil, submit_form_url(slug: @submitter.slug, t: SubmissionEvents.build_tracking_param(@submitter, 'click_email'), host: @custom_domain || ENV.fetch('EMAIL_HOST', Docuseal.default_url_options[:host])) %>

    +

    <%= link_to nil, submit_form_url(slug: @submitter.slug, t: SubmissionEvents.build_tracking_param(@submitter, 'click_email'), host: @custom_domain || ENV.fetch('EMAIL_HOST', Wabosign.default_url_options[:host])) %>

    <% end %> <% else %>

    <%= t('hi_there') %>,

    <%= I18n.t(@submitter.with_signature_fields? ? :you_have_been_invited_to_sign_the_name : :you_have_been_invited_to_submit_the_name_form, name: @submitter.submission.name || @submitter.submission.template.name) %>

    -

    <%= link_to I18n.t(@submitter.with_signature_fields? ? :review_and_sign : :review_and_submit), submit_form_url(slug: @submitter.slug, t: SubmissionEvents.build_tracking_param(@submitter, 'click_email'), host: @custom_domain || ENV.fetch('EMAIL_HOST', Docuseal.default_url_options[:host])) %>

    +

    <%= link_to I18n.t(@submitter.with_signature_fields? ? :review_and_sign : :review_and_submit), submit_form_url(slug: @submitter.slug, t: SubmissionEvents.build_tracking_param(@submitter, 'click_email'), host: @custom_domain || ENV.fetch('EMAIL_HOST', Wabosign.default_url_options[:host])) %>

    <%= t('please_contact_us_by_replying_to_this_email_if_you_have_any_questions') %>

    <%= t('thanks') %>,
    <%= @current_account.name %> diff --git a/app/views/templates/_dropzone.html.erb b/app/views/templates/_dropzone.html.erb index 5ddec4c5..ab26675e 100644 --- a/app/views/templates/_dropzone.html.erb +++ b/app/views/templates/_dropzone.html.erb @@ -5,7 +5,7 @@

    - + <%= svg_icon('cloud_upload', class: 'w-10 h-10') %> @@ -15,7 +15,7 @@
    <%= t('click_to_upload_or_drag_and_drop_html') %>
    - <% if Docuseal.multitenant? %> + <% if Wabosign.multitenant? %> <%= t('or_add_from') %> <%= svg_icon('brand_gdrive', class: 'w-4 h-4 ml-1') %> @@ -30,7 +30,7 @@
    - " multiple> + " multiple>
    diff --git a/app/views/templates/_embedding.html.erb b/app/views/templates/_embedding.html.erb index 468a51fa..03bb7056 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: "#{Docuseal::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="<%= Docuseal::CDN_URL %>/js/form.js"></script>
    +      
    <script src="<%= Wabosign::CDN_URL %>/js/form.js"></script>
     
     <docuseal-form data-src="<%= start_form_url(slug: template.slug) %>"></docuseal-form>
     
    @@ -88,7 +88,7 @@
    - <% if user.new_record? && !Docuseal.multitenant? %> + <% if user.new_record? && !Wabosign.multitenant? %>
    <%= f.label :password, t('password'), class: 'label' %> <%= f.password_field :password, class: 'base-input' %> diff --git a/app/views/users/_role_select.html.erb b/app/views/users/_role_select.html.erb index d14b2778..c10a57ad 100644 --- a/app/views/users/_role_select.html.erb +++ b/app/views/users/_role_select.html.erb @@ -5,16 +5,9 @@ <% end %> - <% if Docuseal.multitenant? %> - - <% 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/app/views/webhook_hmac/show.html.erb b/app/views/webhook_hmac/show.html.erb index e5d526d0..a68758df 100644 --- a/app/views/webhook_hmac/show.html.erb +++ b/app/views/webhook_hmac/show.html.erb @@ -15,6 +15,6 @@ <%= render 'shared/clipboard_copy', icon: 'copy', text: token, class: 'base-button', icon_class: 'w-6 h-6 text-white', copy_title: t('copy'), copied_title: t('copied') %>
    -

    <%= t('hmac_signature_header_hint_html', header: 'X-Docuseal-Signature'.html_safe) %>

    +

    <%= t('hmac_signature_header_hint_html', header: 'X-Wabosign-Signature'.html_safe) %>

    <% end %> diff --git a/config/application.rb b/config/application.rb index a2bcddaf..2bdb81af 100644 --- a/config/application.rb +++ b/config/application.rb @@ -15,7 +15,7 @@ require_relative '../lib/normalize_client_ip_middleware' Bundler.require(*Rails.groups) -module DocuSeal +module WaboSign class Application < Rails::Application config.load_defaults 8.1 diff --git a/config/database.yml b/config/database.yml index cedeaa09..99f7adf7 100644 --- a/config/database.yml +++ b/config/database.yml @@ -5,11 +5,11 @@ default: &default development: <<: *default - database: docuseal_dev + database: wabosign_dev test: <<: *default - database: docuseal_test + database: wabosign_test production: <% if !ENV['DATABASE_HOST'].to_s.empty? %> diff --git a/config/dotenv.rb b/config/dotenv.rb index cb0f8e7c..e4aae052 100644 --- a/config/dotenv.rb +++ b/config/dotenv.rb @@ -6,12 +6,12 @@ if ENV['RAILS_ENV'] == 'production' workdir = ENV.fetch('WORKDIR', '.') if File.exist?(workdir) && File.stat(workdir).uid != 2000 - puts 'Changing the owner of the docuseal directory...' unless Dir.empty?(workdir) + puts 'Changing the owner of the wabosign directory...' unless Dir.empty?(workdir) FileUtils.chown_R(2000, 2000, workdir) end rescue StandardError - puts 'Unable to change docuseal directory owner' + puts 'Unable to change wabosign directory owner' end end @@ -33,7 +33,7 @@ if ENV['RAILS_ENV'] == 'production' require 'dotenv' require 'securerandom' - dotenv_path = "#{ENV.fetch('WORKDIR', '.')}/docuseal.env" + dotenv_path = "#{ENV.fetch('WORKDIR', '.')}/wabosign.env" unless File.exist?(dotenv_path) default_env = <<~TEXT diff --git a/config/initializers/active_storage.rb b/config/initializers/active_storage.rb index 9481cb2d..dc28f33b 100644 --- a/config/initializers/active_storage.rb +++ b/config/initializers/active_storage.rb @@ -22,7 +22,7 @@ ActiveSupport.on_load(:active_storage_blob) do def self.proxy_url(blob, expires_at: nil, filename: nil, host: nil) Rails.application.routes.url_helpers.blobs_proxy_url( signed_uuid: blob.signed_uuid(expires_at:), filename: filename || blob.filename, - **Docuseal.default_url_options, + **Wabosign.default_url_options, **{ host: }.compact ) end diff --git a/config/locales/i18n.yml b/config/locales/i18n.yml index 055aa022..0b9e36d8 100644 --- a/config/locales/i18n.yml +++ b/config/locales/i18n.yml @@ -80,15 +80,15 @@ en: &en accessiable_by: Accessible by team_access: Team access document_download_filename_format: Document download filename format - docuseal_trusted_signature: DocuSeal Trusted Signature + 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:' sent_using_product_name_in_testing_mode_html: 'Sent using %{product_name} in testing mode' sent_using_product_name_free_document_signing_html: 'Sent using %{product_name} free document signing.' - sent_with_docuseal_pro_html: 'Sent with DocuSeal Pro' - show_send_with_docuseal_pro_attribution_in_emails_html: Show "Sent with DocuSeal Pro" 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 DocuSeal. Your documents and data are never shared with DocuSeal. PDF checksum is provided to generate a trusted signature. + sent_with_wabosign_pro_html: 'Sent with WaboSign Pro' + show_send_with_wabosign_pro_attribution_in_emails_html: Show "Sent with WaboSign Pro" 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:" @@ -190,7 +190,7 @@ en: &en profile_details: Profile Details sign_up_with_google: Sign up with Google sign_up_with_microsoft: Sign up with Microsoft - by_creating_an_account_you_agree_to_our_html: 'By creating an account, you agree to our Privacy Policy and Terms of Service.' + by_creating_an_account_you_agree_to_our_html: 'By creating an account, you agree to our Privacy Policy and Terms of Service.' enter_email_to_continue: Enter email to continue account: Account preferences: Preferences @@ -212,7 +212,7 @@ en: &en combine_completed_documents_and_audit_log: Combine completed documents and Audit Log salesforce_integration: Salesforce Integration salesforce_has_been_connected: Salesforce has been connected. - connect_salesforce_account_to_integrate_with_docuseal: Connect Salesforce account to integrate with DocuSeal + connect_salesforce_account_to_integrate_with_wabosign: Connect Salesforce account to integrate with WaboSign re_connect_salesforce: Re-connect Salesforce connect_salesforce: Connect Salesforce danger_zone: Danger Zone @@ -241,13 +241,13 @@ en: &en resetting_password: Resetting password sign_in_with_name_account: 'Sign in with %{name} account' two_factor_code_from_authenticator_app: Two-Factor Code from Authenticator App - sign_up_in_docuseal_console_to_upgrade_on_premises_app_is_completely_standalone_console_is_used_only_to_manage_your_license: Sign up in DocuSeal Console to upgrade. On-premises app is completely standalone, Console is used only to manage your license. + sign_up_in_wabosign_console_to_upgrade_on_premises_app_is_completely_standalone_console_is_used_only_to_manage_your_license: Sign up in WaboSign Console to upgrade. On-premises app is completely standalone, Console is used only to manage your license. send_from_email: Send from Email optional: optional save: Save saving: Saving changes_have_been_saved: Changes have been saved. - unlock_with_docuseal_pro: Unlock with DocuSeal Pro + unlock_with_wabosign_pro: Unlock with WaboSign Pro use_your_own_certificates_to_sign_and_verify_pdf_files: Use your own certificates to sign and verify PDF files. upload_certificate: Upload Certificate name: Name @@ -347,7 +347,7 @@ en: &en password_has_been_changed: Password has been changed. email_integration: Email Integration send_via_connected_email: Send via connected email - activate_with_docuseal_pro: Activate with DocuSeal Pro + activate_with_wabosign_pro: Activate with WaboSign Pro send_signature_request_to_your_recipients_directly_from_your_email: Send signature request to your recipients directly from your email connect_gmail: Connect Gmail re_connect_gmail: Re-connect Gmail @@ -368,6 +368,8 @@ en: &en sign_out: Sign out page_number: 'Page %{number}' powered_by: Powered by + based_on: based on + view_on_github: View on GitHub qr_code: QR Code print: Print scan_the_qr_code_above_with_your_phone_camera_to_open_and_sign_this_document: Scan the QR code above with your phone camera to open and sign this document. @@ -427,7 +429,7 @@ en: &en upgrade_to_send_unlimited_signature_requests: Upgrade to send unlimited signature requests add_without_sending: Add without sending upgade_now: Upgrade Now - send_signature_request_emails_without_limits_with_docuseal_pro: Send signature request emails without limits with DocuSeal Pro + send_signature_request_emails_without_limits_with_wabosign_pro: Send signature request emails without limits with WaboSign Pro count_emails_used: '%{count} emails used' has_been_connected: has been connected sms_not_configured: SMS not Configured @@ -529,7 +531,7 @@ en: &en new_user: New User unarchive: Unarchive last_session: Last session - unlock_more_user_roles_with_docuseal_pro: Unlock more user roles with DocuSeal Pro. + unlock_more_user_roles_with_wabosign_pro: Unlock more user roles with WaboSign Pro. view_active: View Active team_account: Team account team_accounts: Team Accounts @@ -744,7 +746,7 @@ en: &en use_otp_code_to_sign_in_or_click_the_link_below_html: 'Use %{code} code to sign in or click the link below:' complete_sign_in: Complete Sign In please_reply_to_this_email_if_you_dont_recognize_this_sign_in_attempt: Please reply to this email if you don't recognize this sign in attempt. - docuseal_support: DocuSeal Support + wabosign_support: WaboSign Support use_the_edit_form_to_move_it_to_another_team: Use the edit form to move it to another team. too_many_sms_attempts_try_again_in_a_few_seconds: Too many SMS attempts. Try again in a few seconds. number_phone_number_is_invalid: "+%{number} phone number is invalid" @@ -753,25 +755,25 @@ en: &en seamlessly_automate_your_document_signing_process_with_make_com: Seamlessly automate your document signing process with Make.com. find_suitable_zapier_templates_to_automate_your_workflow: Find suitable Zapier templates to automate your workflow. get_started: Get started - click_here_to_learn_more_about_user_roles_and_permissions_html: 'Click here to learn more about user roles and permissions.' + click_here_to_learn_more_about_user_roles_and_permissions_html: 'Click here to learn more about user roles and permissions.' count_10_signature_request_emails_sent_this_month_upgrade_to_pro_to_send_unlimited_signature_request_email: '%{count} / 10 signature request emails sent this month. Upgrade to Pro to send unlimited signature request emails.' test_mode_emails_limit_will_be_reset_within_24_hours: Test mode emails limit will be reset within 24 hours. - on_a_scale_of_1_to_10_how_satisfied_are_you_with_the_docuseal_product_: On a scale of 1 to 10, how satisfied are you with the DocuSeal product? + on_a_scale_of_1_to_10_how_satisfied_are_you_with_the_wabosign_product_: On a scale of 1 to 10, how satisfied are you with the WaboSign product? tell_us_more_about_your_experience: Tell us more about your experience extremely_dissatisfied: Extremely Dissatisfied extremely_satisfied: Extremely Satisfied your_pro_plan_payment_is_overdue: Your Pro plan payment is overdue. click_here_to_update_your_payment_details_and_clear_the_invoice_to_ensure_uninterrupted_service_html: Click here to update your payment details and clear the invoice to ensure uninterrupted service. overdue_payment: Overdue Payment - your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_docuseal_or_cancel_your_subscription: Your Pro Plan has been suspended due to unpaid invoices. You can update your payment details to settle the invoice and continue using DocuSeal or cancel your subscription. + your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_wabosign_or_cancel_your_subscription: Your Pro Plan has been suspended due to unpaid invoices. You can update your payment details to settle the invoice and continue using WaboSign or cancel your subscription. manage_subscription: Manage Subscription submission_created_by_email_html: 'Submission created by %{email}' submission_created_by_email_via_source_html: 'Submission created by %{email} via %{source}' submission_created_via_source_html: 'Submission created via %{source}' pro_user_seats_used: Pro user seats used manage_plan: Manage plan - this_submission_has_multiple_signers_which_prevents_the_use_of_a_sharing_link_html: This submission has multiple signers, which prevents the use of a sharing link as it's unclear which signer is responsible for specific fields. To resolve this, follow this guide to define the default signer details. - welcome_to_docuseal: Welcome to DocuSeal + this_submission_has_multiple_signers_which_prevents_the_use_of_a_sharing_link_html: This submission has multiple signers, which prevents the use of a sharing link as it's unclear which signer is responsible for specific fields. To resolve this, follow this guide to define the default signer details. + welcome_to_wabosign: Welcome to WaboSign start_a_quick_tour_to_learn_how_to_create_and_send_your_first_document: Start a quick tour to learn how to create and send your first document start_tour: Start Tour name_a_z: Name A-Z @@ -847,13 +849,13 @@ en: &en use_otp_code_to_access_the_api_key_html: Use %{code} code to access the API key. please_reply_to_this_email_if_you_dont_recognize_this_request: Please reply to this email if you don't recognize this request. your_user_account_has_been_archived_contact_your_administrator_to_restore_access_to_your_account: Your user account has been archived. Contact your administrator to restore access to your account. - your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Your email could not be reached. This may happen if there was a typo in your address or if your mailbox is not available. Please contact support@docuseal.com to log in. + your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Your email could not be reached. This may happen if there was a typo in your address or if your mailbox is not available. Please contact wabosign@wabo.cc to log in. efficient_search_with_search_index: Efficient search with search index reindex: Reindex build_search_index: Build Search Index require_two_factor_authentication_2fa_with_an_authenticator_app_e_g_google_authenticator_authy_all_users_signing_documents_must_pass_the_second_factor_verification_using_a_secure_code_in_addition_to_their_password: Require two-factor authentication (2FA) with an authenticator app (e.g., Google Authenticator, Authy). All users signing documents must pass the second factor verification using a secure code in addition to their password. - add_a_unique_signature_id_and_timestamp_to_each_signature_for_audit_and_traceability_purposes_along_with_the_timestamp_part_of_docuseals_21_cfr_part_11_compliance_settings: "Add a unique Signature ID and timestamp to each signature for audit and traceability purposes along with the timestamp. Part of DocuSeal's 21 CFR Part 11 compliance settings." - require_signer_to_provide_a_reason_for_signing_before_completing_their_signature_e_g_approvals_certifications_part_of_docuseals_21_cfr_part_11_compliance_settings: "Require signers to provide a reason for signing before completing their signature (e.g., approvals, certifications). Part of DocuSeal's 21 CFR Part 11 compliance settings." + add_a_unique_signature_id_and_timestamp_to_each_signature_for_audit_and_traceability_purposes_along_with_the_timestamp_part_of_wabosigns_21_cfr_part_11_compliance_settings: "Add a unique Signature ID and timestamp to each signature for audit and traceability purposes along with the timestamp. Part of WaboSign's 21 CFR Part 11 compliance settings." + require_signer_to_provide_a_reason_for_signing_before_completing_their_signature_e_g_approvals_certifications_part_of_wabosigns_21_cfr_part_11_compliance_settings: "Require signers to provide a reason for signing before completing their signature (e.g., approvals, certifications). Part of WaboSign's 21 CFR Part 11 compliance settings." allow_signers_to_create_signatures_by_typing_their_name_instead_of_drawing_or_uploading_one: Allow signers to create signatures by typing their name instead of drawing or uploading one. allow_signers_to_resubmit_forms_after_completion_useful_when_corrections_or_multiple_submissions_are_needed: Allow signers to resubmit forms after completion, useful when corrections or multiple submissions are needed. allow_recipients_to_decline_signing_a_document_the_decline_reason_notification_will_be_sent_to_the_signature_requester: Allow recipients to decline signing a document. The decline reason notification will be sent to the signature requester. @@ -928,7 +930,7 @@ en: &en mcp_token_has_been_removed: MCP token has been removed. enable_mcp_server: Enable MCP server all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled: All existing MCP connections will be stopped immediately when this setting is disabled. - connect_to_docuseal_mcp: Connect to DocuSeal MCP + connect_to_wabosign_mcp: Connect to WaboSign MCP add_the_following_to_your_mcp_client_configuration: Add the following to your MCP client configuration works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client: Works with Claude Desktop, Cursor, Windsurf, VS Code, and any MCP-compatible client. your_email_address_has_been_changed: Your email address has been changed @@ -1028,7 +1030,7 @@ en: &en settings: 'Settings' settings_account_description: 'With comprehensive account settings, you can customize the eSigning experience and invite more users.' support: 'Support' - support_description: 'You can use our self-service AI assistant or email us at support@docuseal.com if you have any questions.' + support_description: 'You can use our self-service AI assistant or email us at wabosign@wabo.cc if you have any questions.' settings_template_description: 'Use this button to access your account settings page.' doorkeeper: scopes: @@ -1130,15 +1132,15 @@ 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' - docuseal_trusted_signature: Firma de confianza DocuSeal + 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:' sent_using_product_name_in_testing_mode_html: 'Enviado usando %{product_name} en Modo de Prueba' sent_using_product_name_free_document_signing_html: 'Enviado usando la firma de documentos gratuita de %{product_name}.' - sent_with_docuseal_pro_html: 'Enviado con DocuSeal Pro' - show_send_with_docuseal_pro_attribution_in_emails_html: Mostrar el mensaje "Enviado con DocuSeal Pro" 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 DocuSeal. Sus documentos y datos nunca se comparten con DocuSeal. Se proporciona un checksum de PDF para generar una firma de confianza. + sent_with_wabosign_pro_html: 'Enviado con WaboSign Pro' + show_send_with_wabosign_pro_attribution_in_emails_html: Mostrar el mensaje "Enviado con WaboSign Pro" 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}".' @@ -1240,7 +1242,7 @@ es: &es profile_details: Detalles del perfil sign_up_with_google: Registrarse con Google sign_up_with_microsoft: Registrarse con Microsoft - by_creating_an_account_you_agree_to_our_html: 'Al crear una cuenta, aceptas nuestra Política de Privacidad y Términos de Servicio.' + by_creating_an_account_you_agree_to_our_html: 'Al crear una cuenta, aceptas nuestra Política de Privacidad y Términos de Servicio.' enter_email_to_continue: Ingresa tu correo electrónico para continuar account: Cuenta preferences: Preferencias @@ -1262,7 +1264,7 @@ es: &es combine_completed_documents_and_audit_log: Combinar documentos completados y Registro de Auditoría salesforce_integration: Integración con Salesforce salesforce_has_been_connected: Salesforce ha sido conectado. - connect_salesforce_account_to_integrate_with_docuseal: Conectar cuenta de Salesforce para integrar con DocuSeal + connect_salesforce_account_to_integrate_with_wabosign: Conectar cuenta de Salesforce para integrar con WaboSign re_connect_salesforce: Volver a conectar Salesforce connect_salesforce: Conectar Salesforce danger_zone: Zona de peligro @@ -1291,13 +1293,13 @@ es: &es resetting_password: Restableciendo contraseña sign_in_with_name_account: 'Iniciar sesión con la cuenta de %{name}' two_factor_code_from_authenticator_app: Código de dos factores de la aplicación Authenticator - sign_up_in_docuseal_console_to_upgrade_on_premises_app_is_completely_standalone_console_is_used_only_to_manage_your_license: Regístrate en la consola de DocuSeal para actualizar. La aplicación local es completamente independiente, la consola solo se utiliza para gestionar tu licencia. + sign_up_in_wabosign_console_to_upgrade_on_premises_app_is_completely_standalone_console_is_used_only_to_manage_your_license: Regístrate en la consola de WaboSign para actualizar. La aplicación local es completamente independiente, la consola solo se utiliza para gestionar tu licencia. send_from_email: Enviar desde correo electrónico optional: opcional save: Guardar saving: Guardando changes_have_been_saved: Los cambios han sido guardados. - unlock_with_docuseal_pro: Desbloquear con DocuSeal Pro + unlock_with_wabosign_pro: Desbloquear con WaboSign Pro use_your_own_certificates_to_sign_and_verify_pdf_files: Usa tus propios certificados para firmar y verificar archivos PDF. upload_certificate: Subir certificado name: Nombre @@ -1397,7 +1399,7 @@ es: &es password_has_been_changed: La contraseña ha sido cambiada. email_integration: Integración de correo electrónico send_via_connected_email: Enviar vía correo electrónico conectado - activate_with_docuseal_pro: Activar con DocuSeal Pro + activate_with_wabosign_pro: Activar con WaboSign Pro send_signature_request_to_your_recipients_directly_from_your_email: Envía la solicitud de firma a tus destinatarios directamente desde tu correo electrónico connect_gmail: Conectar Gmail re_connect_gmail: Volver a conectar Gmail @@ -1418,6 +1420,8 @@ es: &es sign_out: Cerrar sesión page_number: 'Página %{number}' powered_by: Desarrollado por + based_on: based on + view_on_github: View on GitHub qr_code: Código QR print: Imprimir scan_the_qr_code_above_with_your_phone_camera_to_open_and_sign_this_document: Escanea el código QR de arriba con la cámara de tu teléfono para abrir y firmar este documento. @@ -1477,7 +1481,7 @@ es: &es upgrade_to_send_unlimited_signature_requests: Actualiza para enviar solicitudes de firma ilimitadas add_without_sending: Agregar sin enviar upgade_now: Actualizar ahora - send_signature_request_emails_without_limits_with_docuseal_pro: Envía solicitudes de firma sin límites con DocuSeal Pro + send_signature_request_emails_without_limits_with_wabosign_pro: Envía solicitudes de firma sin límites con WaboSign Pro count_emails_used: '%{count} correos electrónicos utilizados' has_been_connected: ha sido conectado sms_not_configured: SMS no configurado @@ -1579,7 +1583,7 @@ es: &es new_user: Nuevo usuario unarchive: Desarchivar last_session: Última sesión - unlock_more_user_roles_with_docuseal_pro: Desbloquea más roles de usuario con DocuSeal Pro. + unlock_more_user_roles_with_wabosign_pro: Desbloquea más roles de usuario con WaboSign Pro. view_active: Ver activos team_account: Cuenta de equipo team_accounts: Cuentas de equipo @@ -1791,7 +1795,7 @@ es: &es use_otp_code_to_sign_in_or_click_the_link_below_html: 'Usa el código %{code} para iniciar sesión o haz clic en el enlace a continuación:' complete_sign_in: Completar Inicio de Sesión please_reply_to_this_email_if_you_dont_recognize_this_sign_in_attempt: Responde a este correo electrónico si no reconoces este intento de inicio de sesión. - docuseal_support: Soporte DocuSeal + wabosign_support: Soporte WaboSign use_the_edit_form_to_move_it_to_another_team: Usa el formulario de edición para moverlo a otro equipo. too_many_sms_attempts_try_again_in_a_few_seconds: Demasiados intentos de SMS. Intenta de nuevo en unos segundos. number_phone_number_is_invalid: "El número de teléfono +%{number} no es válido" @@ -1800,25 +1804,25 @@ es: &es seamlessly_automate_your_document_signing_process_with_make_com: Automatiza sin problemas tu proceso de firma de documentos con Make.com. find_suitable_zapier_templates_to_automate_your_workflow: Encuentra plantillas de Zapier adecuadas para automatizar tu flujo de trabajo. get_started: Comenzar - click_here_to_learn_more_about_user_roles_and_permissions_html: 'Haz clic aquí para obtener más información sobre los roles y permisos de usuario.' + click_here_to_learn_more_about_user_roles_and_permissions_html: 'Haz clic aquí para obtener más información sobre los roles y permisos de usuario.' count_10_signature_request_emails_sent_this_month_upgrade_to_pro_to_send_unlimited_signature_request_email: '%{count} / 10 correos electrónicos de solicitud de firma enviados este mes. Mejora a Pro para enviar solicitudes de firma ilimitadas.' test_mode_emails_limit_will_be_reset_within_24_hours: El límite de correos electrónicos en modo de prueba se restablecerá en 24 horas. - on_a_scale_of_1_to_10_how_satisfied_are_you_with_the_docuseal_product_: 'En una escala del 1 al 10, ¿qué tan satisfecho estás con el producto DocuSeal?' + on_a_scale_of_1_to_10_how_satisfied_are_you_with_the_wabosign_product_: 'En una escala del 1 al 10, ¿qué tan satisfecho estás con el producto WaboSign?' tell_us_more_about_your_experience: Cuéntanos más sobre tu experiencia extremely_dissatisfied: Extremadamente insatisfecho extremely_satisfied: Extremadamente satisfecho your_pro_plan_payment_is_overdue: El pago de tu plan Pro está atrasado. click_here_to_update_your_payment_details_and_clear_the_invoice_to_ensure_uninterrupted_service_html: 'Haz clic aquí para actualizar tus datos de pago y liquidar la factura para garantizar un servicio ininterrumpido.' overdue_payment: Pago Atrasado - your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_docuseal_or_cancel_your_subscription: Tu plan Pro ha sido suspendido debido a facturas impagas. Puedes actualizar tus datos de pago para liquidar la factura y seguir usando DocuSeal o cancelar tu suscripción. + your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_wabosign_or_cancel_your_subscription: Tu plan Pro ha sido suspendido debido a facturas impagas. Puedes actualizar tus datos de pago para liquidar la factura y seguir usando WaboSign o cancelar tu suscripción. manage_subscription: Gestionar Suscripción submission_created_by_email_html: 'Envío creado por %{email}' submission_created_by_email_via_source_html: 'Envío creado por %{email} a través de %{source}' submission_created_via_source_html: 'Envío creado a través de %{source}' pro_user_seats_used: Plazas de usuario Pro en uso manage_plan: Gestionar plan - this_submission_has_multiple_signers_which_prevents_the_use_of_a_sharing_link_html: 'Este envío tiene múltiples firmantes, lo que impide el uso de un enlace para compartir, ya que no está claro qué firmante es responsable de los campos específicos. Para resolver esto, sigue esta guía para definir los detalles predeterminados del firmante.' - welcome_to_docuseal: Bienvenido a DocuSeal + this_submission_has_multiple_signers_which_prevents_the_use_of_a_sharing_link_html: 'Este envío tiene múltiples firmantes, lo que impide el uso de un enlace para compartir, ya que no está claro qué firmante es responsable de los campos específicos. Para resolver esto, sigue esta guía para definir los detalles predeterminados del firmante.' + welcome_to_wabosign: Bienvenido a WaboSign start_a_quick_tour_to_learn_how_to_create_and_send_your_first_document: Inicia una guía rápida para aprender a crear y enviar tu primer documento. start_tour: Iniciar guía name_a_z: Nombre A-Z @@ -1894,13 +1898,13 @@ es: &es use_otp_code_to_access_the_api_key_html: Usa el código %{code} para acceder a la clave API. please_reply_to_this_email_if_you_dont_recognize_this_request: Responde a este correo si no reconoces esta solicitud. your_user_account_has_been_archived_contact_your_administrator_to_restore_access_to_your_account: Tu cuenta de usuario ha sido archivada. Contacta a tu administrador para restaurar el acceso a tu cuenta. - your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: No se pudo acceder a tu correo electrónico. Esto puede ocurrir si hubo un error tipográfico en tu dirección o si tu buzón no está disponible. Por favor, contacta a support@docuseal.com para iniciar sesión. + your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: No se pudo acceder a tu correo electrónico. Esto puede ocurrir si hubo un error tipográfico en tu dirección o si tu buzón no está disponible. Por favor, contacta a wabosign@wabo.cc para iniciar sesión. efficient_search_with_search_index: Búsqueda eficiente con índice de búsqueda reindex: Reindexar build_search_index: Construir índice de búsqueda require_two_factor_authentication_2fa_with_an_authenticator_app_e_g_google_authenticator_authy_all_users_signing_documents_must_pass_the_second_factor_verification_using_a_secure_code_in_addition_to_their_password: Requerir autenticación de dos factores (2FA) con una aplicación de autenticación (p. ej., Google Authenticator, Authy). Todos los usuarios que firman documentos deben pasar la verificación del segundo factor usando un código seguro además de su contraseña. - add_a_unique_signature_id_and_timestamp_to_each_signature_for_audit_and_traceability_purposes_along_with_the_timestamp_part_of_docuseals_21_cfr_part_11_compliance_settings: Agregar un ID de firma único y una marca de tiempo a cada firma para fines de auditoría y trazabilidad junto con la marca de tiempo. Parte de la configuración de cumplimiento 21 CFR Parte 11 de DocuSeal. - require_signer_to_provide_a_reason_for_signing_before_completing_their_signature_e_g_approvals_certifications_part_of_docuseals_21_cfr_part_11_compliance_settings: Requerir que los firmantes proporcionen un motivo para firmar antes de completar su firma (p. ej., aprobaciones, certificaciones). Parte de la configuración de cumplimiento 21 CFR Parte 11 de DocuSeal. + add_a_unique_signature_id_and_timestamp_to_each_signature_for_audit_and_traceability_purposes_along_with_the_timestamp_part_of_wabosigns_21_cfr_part_11_compliance_settings: Agregar un ID de firma único y una marca de tiempo a cada firma para fines de auditoría y trazabilidad junto con la marca de tiempo. Parte de la configuración de cumplimiento 21 CFR Parte 11 de WaboSign. + require_signer_to_provide_a_reason_for_signing_before_completing_their_signature_e_g_approvals_certifications_part_of_wabosigns_21_cfr_part_11_compliance_settings: Requerir que los firmantes proporcionen un motivo para firmar antes de completar su firma (p. ej., aprobaciones, certificaciones). Parte de la configuración de cumplimiento 21 CFR Parte 11 de WaboSign. allow_signers_to_create_signatures_by_typing_their_name_instead_of_drawing_or_uploading_one: Permitir que los firmantes creen firmas escribiendo su nombre en lugar de dibujar o subir una. allow_signers_to_resubmit_forms_after_completion_useful_when_corrections_or_multiple_submissions_are_needed: Permitir que los firmantes vuelvan a enviar formularios después de completarlos, útil cuando se necesitan correcciones o múltiples envíos. allow_recipients_to_decline_signing_a_document_the_decline_reason_notification_will_be_sent_to_the_signature_requester: Permitir que los destinatarios rechacen firmar un documento. La notificación del motivo del rechazo se enviará al solicitante de la firma. @@ -1975,7 +1979,7 @@ es: &es mcp_token_has_been_removed: El token MCP ha sido eliminado. enable_mcp_server: Habilitar servidor MCP all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled: Todas las conexiones MCP existentes se detendrán inmediatamente cuando se desactive esta configuración. - connect_to_docuseal_mcp: Conectar a DocuSeal MCP + connect_to_wabosign_mcp: Conectar a WaboSign MCP add_the_following_to_your_mcp_client_configuration: Agregue lo siguiente a la configuración de su cliente MCP works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client: Funciona con Claude Desktop, Cursor, Windsurf, VS Code y cualquier cliente compatible con MCP. your_email_address_has_been_changed: Tu dirección de correo electrónico ha sido cambiada @@ -2075,7 +2079,7 @@ es: &es settings: 'Configuración' settings_account_description: 'Con una configuración completa de la cuenta, puedes personalizar la experiencia de firma y añadir más usuarios.' support: 'Soporte' - support_description: 'Puedes usar nuestro asistente de IA o escribirnos a support@docuseal.com si tienes preguntas.' + support_description: 'Puedes usar nuestro asistente de IA o escribirnos a wabosign@wabo.cc si tienes preguntas.' settings_template_description: 'Usa este botón para acceder a la configuración de tu cuenta.' doorkeeper: scopes: @@ -2177,15 +2181,15 @@ 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' - docuseal_trusted_signature: "Firma Fiduciaria DocuSeal" + 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:' sent_using_product_name_in_testing_mode_html: 'Inviato utilizzando %{product_name} in Modalità di Test' sent_using_product_name_free_document_signing_html: 'Inviato utilizzando la firma di documenti gratuita di %{product_name}.' - sent_with_docuseal_pro_html: 'Inviato con DocuSeal Pro' - show_send_with_docuseal_pro_attribution_in_emails_html: Mostra la dicitura "Inviato con DocuSeal Pro" 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 DocuSeal. I tuoi documenti e i tuoi dati non vengono mai condivisi con DocuSeal. Il checksum PDF è fornito per generare una firma di fiducia." + sent_with_wabosign_pro_html: 'Inviato con WaboSign Pro' + show_send_with_wabosign_pro_attribution_in_emails_html: Mostra la dicitura "Inviato con WaboSign Pro" 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}".' @@ -2287,7 +2291,7 @@ it: &it profile_details: Dettagli del profilo sign_up_with_google: Registrati con Google sign_up_with_microsoft: Registrati con Microsoft - by_creating_an_account_you_agree_to_our_html: 'Creando un account, accetti la nostra Privacy Policy e i nostri Termini di servizio.' + by_creating_an_account_you_agree_to_our_html: 'Creando un account, accetti la nostra Privacy Policy e i nostri Termini di servizio.' enter_email_to_continue: "Inserisci l'email per continuare" account: Account preferences: Preferenze @@ -2309,7 +2313,7 @@ it: &it combine_completed_documents_and_audit_log: Combinare i documenti completati e il Registro di Audit salesforce_integration: Integrazione con Salesforce salesforce_has_been_connected: Salesforce è stato connesso. - connect_salesforce_account_to_integrate_with_docuseal: "Connetti l'account Salesforce per integrare con DocuSeal" + connect_salesforce_account_to_integrate_with_wabosign: "Connetti l'account Salesforce per integrare con WaboSign" re_connect_salesforce: Riconnetti Salesforce connect_salesforce: Connetti Salesforce danger_zone: Zona di pericolo @@ -2338,13 +2342,13 @@ it: &it resetting_password: Reimpostazione password in corso sign_in_with_name_account: "Accedi con l'account %{name}" two_factor_code_from_authenticator_app: "Codice a due fattori dall'app Authenticator" - sign_up_in_docuseal_console_to_upgrade_on_premises_app_is_completely_standalone_console_is_used_only_to_manage_your_license: "Registrati nella console di DocuSeal per aggiornare. L'applicazione on-premise è completamente autonoma, la console viene utilizzata solo per gestire la tua licenza." + sign_up_in_wabosign_console_to_upgrade_on_premises_app_is_completely_standalone_console_is_used_only_to_manage_your_license: "Registrati nella console di WaboSign per aggiornare. L'applicazione on-premise è completamente autonoma, la console viene utilizzata solo per gestire la tua licenza." send_from_email: Invia da Email optional: opzionale save: Salva saving: Salvataggio in corso changes_have_been_saved: Le modifiche sono state salvate. - unlock_with_docuseal_pro: Sblocca con DocuSeal Pro + unlock_with_wabosign_pro: Sblocca con WaboSign Pro use_your_own_certificates_to_sign_and_verify_pdf_files: Usa i tuoi certificati per firmare e verificare i file PDF. upload_certificate: Carica certificato name: Nome @@ -2444,7 +2448,7 @@ it: &it password_has_been_changed: La password è stata cambiata. email_integration: Integrazione email send_via_connected_email: Invia tramite email connessa - activate_with_docuseal_pro: Attiva con DocuSeal Pro + activate_with_wabosign_pro: Attiva con WaboSign Pro send_signature_request_to_your_recipients_directly_from_your_email: Invia la richiesta di firma ai tuoi destinatari direttamente dalla tua email connect_gmail: Connetti Gmail re_connect_gmail: Riconnetti Gmail @@ -2465,6 +2469,8 @@ it: &it sign_out: Esci page_number: 'Pagina %{number}' powered_by: Fornito da + based_on: based on + view_on_github: View on GitHub qr_code: Codice QR print: Stampa scan_the_qr_code_above_with_your_phone_camera_to_open_and_sign_this_document: Scansiona il codice QR qui sopra con la fotocamera del tuo telefono per aprire e firmare questo documento. @@ -2524,7 +2530,7 @@ it: &it upgrade_to_send_unlimited_signature_requests: Aggiorna per inviare richieste di firma illimitate add_without_sending: Aggiungi senza inviare upgade_now: Aggiorna ora - send_signature_request_emails_without_limits_with_docuseal_pro: Invia email di richiesta di firma senza limiti con DocuSeal Pro + send_signature_request_emails_without_limits_with_wabosign_pro: Invia email di richiesta di firma senza limiti con WaboSign Pro count_emails_used: '%{count} email utilizzate' has_been_connected: è stato connesso sms_not_configured: SMS non configurato @@ -2626,7 +2632,7 @@ it: &it new_user: Nuovo utente unarchive: Disarchivia last_session: Ultima sessione - unlock_more_user_roles_with_docuseal_pro: Sblocca più ruoli utente con DocuSeal Pro. + unlock_more_user_roles_with_wabosign_pro: Sblocca più ruoli utente con WaboSign Pro. view_active: Visualizza attivi team_account: Account di squadra team_accounts: Account di squadra @@ -2838,7 +2844,7 @@ it: &it use_otp_code_to_sign_in_or_click_the_link_below_html: 'Usa il codice %{code} per accedere o clicca sul link qui sotto:' complete_sign_in: "Completa l'Accesso" please_reply_to_this_email_if_you_dont_recognize_this_sign_in_attempt: Rispondi a questa e-mail se non riconosci questo tentativo di accesso. - docuseal_support: Supporto DocuSeal + wabosign_support: Supporto WaboSign use_the_edit_form_to_move_it_to_another_team: Usa il modulo di modifica per spostarlo in un altro team. too_many_sms_attempts_try_again_in_a_few_seconds: Troppi tentativi di SMS. Riprova tra qualche secondo. number_phone_number_is_invalid: "Il numero di telefono +%{number} non è valido" @@ -2847,25 +2853,25 @@ it: &it seamlessly_automate_your_document_signing_process_with_make_com: Automatizza senza problemi il tuo processo di firma dei documenti con Make.com. find_suitable_zapier_templates_to_automate_your_workflow: Trova modelli Zapier adatti per automatizzare il tuo flusso di lavoro. get_started: Inizia - click_here_to_learn_more_about_user_roles_and_permissions_html: 'Fai clic qui per saperne di più sui ruoli e le autorizzazioni degli utenti.' + click_here_to_learn_more_about_user_roles_and_permissions_html: 'Fai clic qui per saperne di più sui ruoli e le autorizzazioni degli utenti.' count_10_signature_request_emails_sent_this_month_upgrade_to_pro_to_send_unlimited_signature_request_email: '%{count} / 10 e-mail di richiesta di firma inviate questo mese. Passa a Pro per inviare richieste di firma illimitate.' test_mode_emails_limit_will_be_reset_within_24_hours: Il limite di e-mail in modalità di test verrà ripristinato entro 24 ore. - on_a_scale_of_1_to_10_how_satisfied_are_you_with_the_docuseal_product_: 'Su una scala da 1 a 10, quanto sei soddisfatto del prodotto DocuSeal?' + on_a_scale_of_1_to_10_how_satisfied_are_you_with_the_wabosign_product_: 'Su una scala da 1 a 10, quanto sei soddisfatto del prodotto WaboSign?' tell_us_more_about_your_experience: Raccontaci di più sulla tua esperienza extremely_dissatisfied: Estremamente insoddisfatto extremely_satisfied: Estremamente soddisfatto your_pro_plan_payment_is_overdue: Il pagamento del tuo piano Pro è in ritardo. click_here_to_update_your_payment_details_and_clear_the_invoice_to_ensure_uninterrupted_service_html: 'Fai clic qui per aggiornare i tuoi dati di pagamento e saldare la fattura per garantire un servizio ininterrotto.' overdue_payment: Pagamento Scaduto - your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_docuseal_or_cancel_your_subscription: Il tuo piano Pro è stato sospeso a causa di fatture non pagate. Puoi aggiornare i tuoi dati di pagamento per saldare la fattura e continuare a utilizzare DocuSeal o annullare l'abbonamento. + your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_wabosign_or_cancel_your_subscription: Il tuo piano Pro è stato sospeso a causa di fatture non pagate. Puoi aggiornare i tuoi dati di pagamento per saldare la fattura e continuare a utilizzare WaboSign o annullare l'abbonamento. manage_subscription: Gestisci Abbonamento submission_created_by_email_html: 'Invio creato da %{email}' submission_created_by_email_via_source_html: 'Invio creato da %{email} tramite %{source}' submission_created_via_source_html: 'Invio creato tramite %{source}' pro_user_seats_used: Posti utente Pro in uso manage_plan: Gestisci piano - this_submission_has_multiple_signers_which_prevents_the_use_of_a_sharing_link_html: "Questa sottomissione ha più firmatari, il che impedisce l'uso di un link di condivisione poiché non è chiaro quale firmatario sia responsabile di specifici campi. Per risolvere questo problema, segui questa guida per definire i dettagli predefiniti del firmatario." - welcome_to_docuseal: Benvenuto in DocuSeal + this_submission_has_multiple_signers_which_prevents_the_use_of_a_sharing_link_html: "Questa sottomissione ha più firmatari, il che impedisce l'uso di un link di condivisione poiché non è chiaro quale firmatario sia responsabile di specifici campi. Per risolvere questo problema, segui questa guida per definire i dettagli predefiniti del firmatario." + welcome_to_wabosign: Benvenuto in WaboSign start_a_quick_tour_to_learn_how_to_create_and_send_your_first_document: Inizia un tour rapido per imparare a creare e inviare il tuo primo documento. start_tour: Inizia il tour name_a_z: Nome A-Z @@ -2941,13 +2947,13 @@ it: &it use_otp_code_to_access_the_api_key_html: Usa il codice %{code} per accedere alla chiave API. please_reply_to_this_email_if_you_dont_recognize_this_request: Rispondi a questa email se non riconosci questa richiesta. your_user_account_has_been_archived_contact_your_administrator_to_restore_access_to_your_account: Il tuo account utente è stato archiviato. Contatta il tuo amministratore per ripristinare l'accesso al tuo account. - your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Non è stato possibile raggiungere la tua email. Questo può accadere se c'è stato un errore di digitazione nell'indirizzo o se la tua casella di posta non è disponibile. Contatta support@docuseal.com per accedere. + your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Non è stato possibile raggiungere la tua email. Questo può accadere se c'è stato un errore di digitazione nell'indirizzo o se la tua casella di posta non è disponibile. Contatta wabosign@wabo.cc per accedere. efficient_search_with_search_index: Ricerca efficiente con indice di ricerca reindex: Reindicizza build_search_index: Crea indice di ricerca require_two_factor_authentication_2fa_with_an_authenticator_app_e_g_google_authenticator_authy_all_users_signing_documents_must_pass_the_second_factor_verification_using_a_secure_code_in_addition_to_their_password: "Richiedere l'autenticazione a due fattori (2FA) con un'app di autenticazione (es. Google Authenticator, Authy). Tutti gli utenti che firmano documenti devono superare la verifica del secondo fattore utilizzando un codice sicuro oltre alla password." - add_a_unique_signature_id_and_timestamp_to_each_signature_for_audit_and_traceability_purposes_along_with_the_timestamp_part_of_docuseals_21_cfr_part_11_compliance_settings: Aggiungere un ID firma univoco e una marca temporale a ogni firma per scopi di audit e tracciabilità insieme alla marca temporale. Parte delle impostazioni di conformità 21 CFR Parte 11 di DocuSeal. - require_signer_to_provide_a_reason_for_signing_before_completing_their_signature_e_g_approvals_certifications_part_of_docuseals_21_cfr_part_11_compliance_settings: Richiedere ai firmatari di fornire una motivazione prima di completare la firma (es. approvazioni, certificazioni). Parte delle impostazioni di conformità 21 CFR Parte 11 di DocuSeal. + add_a_unique_signature_id_and_timestamp_to_each_signature_for_audit_and_traceability_purposes_along_with_the_timestamp_part_of_wabosigns_21_cfr_part_11_compliance_settings: Aggiungere un ID firma univoco e una marca temporale a ogni firma per scopi di audit e tracciabilità insieme alla marca temporale. Parte delle impostazioni di conformità 21 CFR Parte 11 di WaboSign. + require_signer_to_provide_a_reason_for_signing_before_completing_their_signature_e_g_approvals_certifications_part_of_wabosigns_21_cfr_part_11_compliance_settings: Richiedere ai firmatari di fornire una motivazione prima di completare la firma (es. approvazioni, certificazioni). Parte delle impostazioni di conformità 21 CFR Parte 11 di WaboSign. allow_signers_to_create_signatures_by_typing_their_name_instead_of_drawing_or_uploading_one: Consentire ai firmatari di creare firme digitando il proprio nome invece di disegnarle o caricarle. allow_signers_to_resubmit_forms_after_completion_useful_when_corrections_or_multiple_submissions_are_needed: Consentire ai firmatari di reinviare i moduli dopo il completamento, utile quando sono necessarie correzioni o più invii. allow_recipients_to_decline_signing_a_document_the_decline_reason_notification_will_be_sent_to_the_signature_requester: Consentire ai destinatari di rifiutare di firmare un documento. La notifica del motivo del rifiuto verrà inviata al richiedente della firma. @@ -3022,7 +3028,7 @@ it: &it mcp_token_has_been_removed: Il token MCP è stato rimosso. enable_mcp_server: Abilita server MCP all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled: Tutte le connessioni MCP esistenti verranno interrotte immediatamente quando questa impostazione viene disattivata. - connect_to_docuseal_mcp: Connetti a DocuSeal MCP + connect_to_wabosign_mcp: Connetti a WaboSign MCP add_the_following_to_your_mcp_client_configuration: Aggiungi quanto segue alla configurazione del tuo client MCP works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client: Funziona con Claude Desktop, Cursor, Windsurf, VS Code e qualsiasi client compatibile con MCP. your_email_address_has_been_changed: Il tuo indirizzo email è stato modificato @@ -3122,7 +3128,7 @@ it: &it settings: 'Impostazioni' settings_account_description: "Con impostazioni complete dell'account, puoi personalizzare l'esperienza di firma elettronica e invitare altri utenti." support: 'Supporto' - support_description: 'Puoi usare il nostro assistente AI oppure scriverci a support@docuseal.com se hai domande.' + support_description: 'Puoi usare il nostro assistente AI oppure scriverci a wabosign@wabo.cc se hai domande.' settings_template_description: "Usa questo pulsante per accedere alla pagina delle impostazioni dell'account." doorkeeper: scopes: @@ -3224,15 +3230,15 @@ fr: &fr awaiting_completion_by_the_other_party: En attente de finalisation par l’autre partie enforce_recipients_order: Imposer l’ordre des destinataires first_party: Première partie - docuseal_trusted_signature: Signature de confiance DocuSeal + 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 :' sent_using_product_name_in_testing_mode_html: Envoyé avec %{product_name} en mode test sent_using_product_name_free_document_signing_html: Envoyé avec %{product_name} signature de documents gratuite. - sent_with_docuseal_pro_html: Envoyé avec DocuSeal Pro - show_send_with_docuseal_pro_attribution_in_emails_html: Afficher l’attribution "Envoyé avec DocuSeal Pro" dans les 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: Signez des documents avec un certificat de confiance fourni par DocuSeal. Vos documents et données ne sont jamais partagés avec DocuSeal. Une empreinte (checksum) PDF est fournie pour générer une signature de confiance. + sent_with_wabosign_pro_html: Envoyé avec WaboSign Pro + show_send_with_wabosign_pro_attribution_in_emails_html: Afficher l’attribution "Envoyé avec WaboSign Pro" dans les 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: 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}". @@ -3334,7 +3340,7 @@ fr: &fr profile_details: Détails du profil sign_up_with_google: S’inscrire avec Google sign_up_with_microsoft: S’inscrire avec Microsoft - by_creating_an_account_you_agree_to_our_html: En créant un compte, vous acceptez notre Politique de confidentialité et nos Conditions d’utilisation. + by_creating_an_account_you_agree_to_our_html: En créant un compte, vous acceptez notre Politique de confidentialité et nos Conditions d’utilisation. enter_email_to_continue: Entrez votre e‑mail pour continuer account: Compte preferences: Préférences @@ -3356,7 +3362,7 @@ fr: &fr combine_completed_documents_and_audit_log: Combiner les documents complétés et le journal d’audit salesforce_integration: Intégration Salesforce salesforce_has_been_connected: Salesforce a été connecté. - connect_salesforce_account_to_integrate_with_docuseal: Connectez un compte Salesforce pour l’intégrer à DocuSeal + connect_salesforce_account_to_integrate_with_wabosign: Connectez un compte Salesforce pour l’intégrer à WaboSign re_connect_salesforce: Reconnecter Salesforce connect_salesforce: Connecter Salesforce danger_zone: Zone de danger @@ -3385,13 +3391,13 @@ fr: &fr resetting_password: Réinitialisation du mot de passe sign_in_with_name_account: Se connecter avec le compte %{name} two_factor_code_from_authenticator_app: Code 2FA de l’application d’authentification - sign_up_in_docuseal_console_to_upgrade_on_premises_app_is_completely_standalone_console_is_used_only_to_manage_your_license: Inscrivez-vous sur la Console DocuSeal pour mettre à niveau. L’application on‑premises est entièrement autonome ; la Console sert uniquement à gérer votre licence. + sign_up_in_wabosign_console_to_upgrade_on_premises_app_is_completely_standalone_console_is_used_only_to_manage_your_license: Inscrivez-vous sur la Console WaboSign pour mettre à niveau. L’application on‑premises est entièrement autonome ; la Console sert uniquement à gérer votre licence. send_from_email: Envoyer depuis l’e‑mail optional: facultatif save: Enregistrer saving: Enregistrement changes_have_been_saved: Les modifications ont été enregistrées. - unlock_with_docuseal_pro: Débloquer avec DocuSeal Pro + unlock_with_wabosign_pro: Débloquer avec WaboSign Pro use_your_own_certificates_to_sign_and_verify_pdf_files: Utilisez vos propres certificats pour signer et vérifier des fichiers PDF. upload_certificate: Téléverser un certificat name: Nom @@ -3491,7 +3497,7 @@ fr: &fr password_has_been_changed: Le mot de passe a été modifié. email_integration: Intégration e‑mail send_via_connected_email: Envoyer via l’e‑mail connecté - activate_with_docuseal_pro: Activer avec DocuSeal Pro + activate_with_wabosign_pro: Activer avec WaboSign Pro send_signature_request_to_your_recipients_directly_from_your_email: Envoyez des demandes de signature directement depuis votre e‑mail connect_gmail: Connecter Gmail re_connect_gmail: Reconnecter Gmail @@ -3512,6 +3518,8 @@ fr: &fr sign_out: Se déconnecter page_number: Page %{number} powered_by: Propulsé par + based_on: based on + view_on_github: View on GitHub qr_code: Code QR print: Imprimer scan_the_qr_code_above_with_your_phone_camera_to_open_and_sign_this_document: Scannez le code QR ci-dessus avec l'appareil photo de votre téléphone pour ouvrir et signer ce document. @@ -3571,7 +3579,7 @@ fr: &fr upgrade_to_send_unlimited_signature_requests: Passez à la version Pro pour envoyer un nombre illimité de demandes de signature add_without_sending: Ajouter sans envoyer upgade_now: Mettre à niveau maintenant - send_signature_request_emails_without_limits_with_docuseal_pro: Envoyez des e‑mails de demande de signature sans limites avec DocuSeal Pro + send_signature_request_emails_without_limits_with_wabosign_pro: Envoyez des e‑mails de demande de signature sans limites avec WaboSign Pro count_emails_used: "%{count} e‑mails utilisés" has_been_connected: a été connecté sms_not_configured: SMS non configuré @@ -3673,7 +3681,7 @@ fr: &fr new_user: Nouvel utilisateur unarchive: Désarchiver last_session: Dernière session - unlock_more_user_roles_with_docuseal_pro: Débloquez davantage de rôles utilisateurs avec DocuSeal Pro. + unlock_more_user_roles_with_wabosign_pro: Débloquez davantage de rôles utilisateurs avec WaboSign Pro. view_active: Voir actifs team_account: Compte d’équipe team_accounts: Comptes d’équipe @@ -3885,7 +3893,7 @@ fr: &fr use_otp_code_to_sign_in_or_click_the_link_below_html: 'Utilisez le code %{code} pour vous connecter ou cliquez sur le lien ci‑dessous :' complete_sign_in: Terminer la connexion please_reply_to_this_email_if_you_dont_recognize_this_sign_in_attempt: Veuillez répondre à cet e‑mail si vous ne reconnaissez pas cette tentative de connexion. - docuseal_support: Support DocuSeal + wabosign_support: Support WaboSign use_the_edit_form_to_move_it_to_another_team: Utilisez le formulaire d’édition pour le déplacer vers une autre équipe. too_many_sms_attempts_try_again_in_a_few_seconds: Trop de tentatives SMS. Réessayez dans quelques secondes. number_phone_number_is_invalid: Le numéro de téléphone +%{number} est invalide @@ -3894,25 +3902,25 @@ fr: &fr seamlessly_automate_your_document_signing_process_with_make_com: Automatisez en toute fluidité votre processus de signature de documents avec Make.com. find_suitable_zapier_templates_to_automate_your_workflow: Trouvez des modèles Zapier adaptés pour automatiser votre flux de travail. get_started: Commencer - click_here_to_learn_more_about_user_roles_and_permissions_html: Cliquez ici pour en savoir plus sur les rôles et permissions des utilisateurs. + click_here_to_learn_more_about_user_roles_and_permissions_html: Cliquez ici pour en savoir plus sur les rôles et permissions des utilisateurs. count_10_signature_request_emails_sent_this_month_upgrade_to_pro_to_send_unlimited_signature_request_email: "%{count} / 10 e‑mails de demande de signature envoyés ce mois‑ci. Passez à Pro pour envoyer des e‑mails de demande de signature illimités." test_mode_emails_limit_will_be_reset_within_24_hours: La limite d’e‑mails en mode test sera réinitialisée sous 24 heures. - on_a_scale_of_1_to_10_how_satisfied_are_you_with_the_docuseal_product_: Sur une échelle de 1 à 10, quel est votre niveau de satisfaction du produit DocuSeal ? + on_a_scale_of_1_to_10_how_satisfied_are_you_with_the_wabosign_product_: Sur une échelle de 1 à 10, quel est votre niveau de satisfaction du produit WaboSign ? tell_us_more_about_your_experience: Dites‑nous en plus sur votre expérience extremely_dissatisfied: Extrêmement insatisfait extremely_satisfied: Extrêmement satisfait your_pro_plan_payment_is_overdue: Le paiement de votre offre Pro est en retard. click_here_to_update_your_payment_details_and_clear_the_invoice_to_ensure_uninterrupted_service_html: Cliquez ici pour mettre à jour vos informations de paiement et régler la facture afin de garantir la continuité du service. overdue_payment: Paiement en retard - your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_docuseal_or_cancel_your_subscription: "Votre offre Pro a été suspendue en raison de factures impayées.\nVous pouvez mettre à jour vos informations de paiement pour régler la facture et continuer à utiliser DocuSeal, ou annuler votre abonnement." + your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_wabosign_or_cancel_your_subscription: "Votre offre Pro a été suspendue en raison de factures impayées.\nVous pouvez mettre à jour vos informations de paiement pour régler la facture et continuer à utiliser WaboSign, ou annuler votre abonnement." manage_subscription: Gérer l’abonnement submission_created_by_email_html: "Soumission créée par %{email}" submission_created_by_email_via_source_html: "Soumission créée par %{email} via %{source}" submission_created_via_source_html: "Soumission créée via %{source}" pro_user_seats_used: Places d’utilisateurs Pro utilisées manage_plan: Gérer la formule - this_submission_has_multiple_signers_which_prevents_the_use_of_a_sharing_link_html: Cette soumission comporte plusieurs signataires, ce qui empêche l’utilisation d’un lien de partage car il n’est pas clair quel signataire est responsable de quels champs. Pour résoudre cela, suivez ce guide pour définir les détails du signataire par défaut. - welcome_to_docuseal: Bienvenue sur DocuSeal + this_submission_has_multiple_signers_which_prevents_the_use_of_a_sharing_link_html: Cette soumission comporte plusieurs signataires, ce qui empêche l’utilisation d’un lien de partage car il n’est pas clair quel signataire est responsable de quels champs. Pour résoudre cela, suivez ce guide pour définir les détails du signataire par défaut. + welcome_to_wabosign: Bienvenue sur WaboSign start_a_quick_tour_to_learn_how_to_create_and_send_your_first_document: Lancez une visite rapide pour apprendre à créer et envoyer votre premier document start_tour: Démarrer la visite name_a_z: Nom A‑Z @@ -3984,13 +3992,13 @@ fr: &fr use_otp_code_to_access_the_api_key_html: Utilisez le code %{code} pour accéder à la clé API. please_reply_to_this_email_if_you_dont_recognize_this_request: Veuillez répondre à cet e‑mail si vous ne reconnaissez pas cette demande. your_user_account_has_been_archived_contact_your_administrator_to_restore_access_to_your_account: Votre compte utilisateur a été archivé. Contactez votre administrateur pour rétablir l’accès à votre compte. - your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Votre e‑mail n’a pas pu être joint. Cela peut se produire en cas de faute de frappe dans votre adresse ou si votre boîte aux lettres n’est pas disponible. Veuillez contacter support@docuseal.com pour vous connecter. + your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Votre e‑mail n’a pas pu être joint. Cela peut se produire en cas de faute de frappe dans votre adresse ou si votre boîte aux lettres n’est pas disponible. Veuillez contacter wabosign@wabo.cc pour vous connecter. efficient_search_with_search_index: Recherche efficace avec index de recherche reindex: Réindexer build_search_index: Construire l’index de recherche require_two_factor_authentication_2fa_with_an_authenticator_app_e_g_google_authenticator_authy_all_users_signing_documents_must_pass_the_second_factor_verification_using_a_secure_code_in_addition_to_their_password: Exiger l’authentification à deux facteurs (2FA) avec une application d’authentification (p. ex., Google Authenticator, Authy). Tous les utilisateurs qui signent des documents doivent passer la vérification du second facteur à l’aide d’un code sécurisé en plus de leur mot de passe. - add_a_unique_signature_id_and_timestamp_to_each_signature_for_audit_and_traceability_purposes_along_with_the_timestamp_part_of_docuseals_21_cfr_part_11_compliance_settings: Ajouter un identifiant de signature unique et un horodatage à chaque signature à des fins d’audit et de traçabilité, avec l’horodatage. Fait partie des paramètres de conformité 21 CFR Part 11 de DocuSeal. - require_signer_to_provide_a_reason_for_signing_before_completing_their_signature_e_g_approvals_certifications_part_of_docuseals_21_cfr_part_11_compliance_settings: Exiger que les signataires fournissent un motif de signature avant de finaliser leur signature (p. ex., approbations, certifications). Fait partie des paramètres de conformité 21 CFR Part 11 de DocuSeal. + add_a_unique_signature_id_and_timestamp_to_each_signature_for_audit_and_traceability_purposes_along_with_the_timestamp_part_of_wabosigns_21_cfr_part_11_compliance_settings: Ajouter un identifiant de signature unique et un horodatage à chaque signature à des fins d’audit et de traçabilité, avec l’horodatage. Fait partie des paramètres de conformité 21 CFR Part 11 de WaboSign. + require_signer_to_provide_a_reason_for_signing_before_completing_their_signature_e_g_approvals_certifications_part_of_wabosigns_21_cfr_part_11_compliance_settings: Exiger que les signataires fournissent un motif de signature avant de finaliser leur signature (p. ex., approbations, certifications). Fait partie des paramètres de conformité 21 CFR Part 11 de WaboSign. allow_signers_to_create_signatures_by_typing_their_name_instead_of_drawing_or_uploading_one: Autoriser les signataires à créer des signatures en tapant leur nom au lieu de dessiner ou téléverser une signature. allow_signers_to_resubmit_forms_after_completion_useful_when_corrections_or_multiple_submissions_are_needed: Autoriser les signataires à soumettre à nouveau les formulaires après finalisation, utile pour des corrections ou soumissions multiples. allow_recipients_to_decline_signing_a_document_the_decline_reason_notification_will_be_sent_to_the_signature_requester: Autoriser les destinataires à refuser de signer un document. Le motif du refus sera notifié au demandeur de signature. @@ -4066,7 +4074,7 @@ fr: &fr mcp_token_has_been_removed: Le jeton MCP a été supprimé. enable_mcp_server: Activer le serveur MCP all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled: Toutes les connexions MCP existantes seront arrêtées immédiatement lorsque ce paramètre est désactivé. - connect_to_docuseal_mcp: Se connecter à DocuSeal MCP + connect_to_wabosign_mcp: Se connecter à WaboSign MCP add_the_following_to_your_mcp_client_configuration: Ajoutez ce qui suit à la configuration de votre client MCP works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client: Fonctionne avec Claude Desktop, Cursor, Windsurf, VS Code et tout client compatible MCP. your_email_address_has_been_changed: Votre adresse e-mail a été modifiée @@ -4166,7 +4174,7 @@ fr: &fr settings: Paramètres settings_account_description: Des paramètres de compte complets pour personnaliser l’expérience de signature et inviter d’autres utilisateurs. support: Support - support_description: Utilisez notre assistant IA en libre‑service ou contactez‑nous à support@docuseal.com pour toute question. + support_description: Utilisez notre assistant IA en libre‑service ou contactez‑nous à wabosign@wabo.cc pour toute question. settings_template_description: Utilisez ce bouton pour accéder à la page des paramètres de votre compte. doorkeeper: scopes: @@ -4268,15 +4276,15 @@ 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' - docuseal_trusted_signature: Assinatura Confiável DocuSeal + 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:' sent_using_product_name_in_testing_mode_html: 'Enviado usando %{product_name} no Modo de Teste' sent_using_product_name_free_document_signing_html: 'Enviado usando a assinatura gratuita de documentos de %{product_name}.' - sent_with_docuseal_pro_html: 'Enviado com DocuSeal Pro' - show_send_with_docuseal_pro_attribution_in_emails_html: Mostrar "Enviado com DocuSeal Pro" 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 DocuSeal. Seus documentos e dados nunca são compartilhados com a DocuSeal. O checksum do PDF é fornecido para gerar uma assinatura confiável. + sent_with_wabosign_pro_html: 'Enviado com WaboSign Pro' + show_send_with_wabosign_pro_attribution_in_emails_html: Mostrar "Enviado com WaboSign Pro" 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}".' @@ -4378,7 +4386,7 @@ pt: &pt profile_details: Detalhes do perfil sign_up_with_google: Inscrever-se com Google sign_up_with_microsoft: Inscrever-se com Microsoft - by_creating_an_account_you_agree_to_our_html: 'Ao criar uma conta, você concorda com nossa Política de Privacidade e Termos de Serviço.' + by_creating_an_account_you_agree_to_our_html: 'Ao criar uma conta, você concorda com nossa Política de Privacidade e Termos de Serviço.' enter_email_to_continue: Insira o e-mail para continuar account: Conta preferences: Preferências @@ -4400,7 +4408,7 @@ pt: &pt combine_completed_documents_and_audit_log: Combinar documentos concluídos e log de auditoria salesforce_integration: Integração com Salesforce salesforce_has_been_connected: Salesforce foi conectado. - connect_salesforce_account_to_integrate_with_docuseal: Conecte a conta Salesforce para integrar com o DocuSeal + connect_salesforce_account_to_integrate_with_wabosign: Conecte a conta Salesforce para integrar com o WaboSign re_connect_salesforce: Reconectar Salesforce connect_salesforce: Conectar Salesforce danger_zone: Zona de perigo @@ -4429,13 +4437,13 @@ pt: &pt resetting_password: Redefinindo senha sign_in_with_name_account: 'Entrar com conta %{name}' two_factor_code_from_authenticator_app: Código de autenticação de dois fatores do aplicativo Authenticator - sign_up_in_docuseal_console_to_upgrade_on_premises_app_is_completely_standalone_console_is_used_only_to_manage_your_license: Inscreva-se no console do DocuSeal para fazer o upgrade. O aplicativo local é totalmente independente, o console é usado apenas para gerenciar sua licença. + sign_up_in_wabosign_console_to_upgrade_on_premises_app_is_completely_standalone_console_is_used_only_to_manage_your_license: Inscreva-se no console do WaboSign para fazer o upgrade. O aplicativo local é totalmente independente, o console é usado apenas para gerenciar sua licença. send_from_email: Enviar do e-mail optional: opcional save: Salvar saving: Salvando changes_have_been_saved: As alterações foram salvas. - unlock_with_docuseal_pro: Desbloquear com o DocuSeal Pro + unlock_with_wabosign_pro: Desbloquear com o WaboSign Pro use_your_own_certificates_to_sign_and_verify_pdf_files: Use seus próprios certificados para assinar e verificar arquivos PDF. upload_certificate: Enviar certificado name: Nome @@ -4535,7 +4543,7 @@ pt: &pt password_has_been_changed: A senha foi alterada. email_integration: Integração de e-mail send_via_connected_email: Enviar via e-mail conectado - activate_with_docuseal_pro: Ativar com DocuSeal Pro + activate_with_wabosign_pro: Ativar com WaboSign Pro send_signature_request_to_your_recipients_directly_from_your_email: Envie solicitações de assinatura diretamente do seu e-mail connect_gmail: Conectar Gmail re_connect_gmail: Reconectar Gmail @@ -4556,6 +4564,8 @@ pt: &pt sign_out: Sair page_number: 'Página %{number}' powered_by: Desenvolvido por + based_on: based on + view_on_github: View on GitHub qr_code: Código QR print: Imprimir scan_the_qr_code_above_with_your_phone_camera_to_open_and_sign_this_document: Escaneie o código QR acima com a câmera do seu telefone para abrir e assinar este documento. @@ -4615,7 +4625,7 @@ pt: &pt upgrade_to_send_unlimited_signature_requests: Faça upgrade para enviar solicitações de assinatura ilimitadas add_without_sending: Adicionar sem enviar upgade_now: Fazer upgrade agora - send_signature_request_emails_without_limits_with_docuseal_pro: Enviar e-mails de solicitação de assinatura sem limites com o DocuSeal Pro + send_signature_request_emails_without_limits_with_wabosign_pro: Enviar e-mails de solicitação de assinatura sem limites com o WaboSign Pro count_emails_used: '%{count} e-mails usados' has_been_connected: foi conectado sms_not_configured: SMS não configurado @@ -4717,7 +4727,7 @@ pt: &pt new_user: Novo usuário unarchive: Desarquivar last_session: Última sessão - unlock_more_user_roles_with_docuseal_pro: Desbloqueie mais funções de usuário com DocuSeal Pro. + unlock_more_user_roles_with_wabosign_pro: Desbloqueie mais funções de usuário com WaboSign Pro. view_active: Ver ativos team_account: Conta de equipe team_accounts: Contas de equipe @@ -4929,7 +4939,7 @@ pt: &pt use_otp_code_to_sign_in_or_click_the_link_below_html: 'Use o código %{code} para entrar ou clique no link abaixo:' complete_sign_in: Concluir Login please_reply_to_this_email_if_you_dont_recognize_this_sign_in_attempt: Responda a este e-mail se você não reconhecer esta tentativa de login. - docuseal_support: Suporte DocuSeal + wabosign_support: Suporte WaboSign use_the_edit_form_to_move_it_to_another_team: Use o formulário de edição para movê-lo para outra equipe. too_many_sms_attempts_try_again_in_a_few_seconds: Muitas tentativas de SMS. Tente novamente em alguns segundos. number_phone_number_is_invalid: "O número de telefone +%{number} é inválido" @@ -4938,25 +4948,25 @@ pt: &pt seamlessly_automate_your_document_signing_process_with_make_com: Automatize perfeitamente seu processo de assinatura de documentos com o Make.com. find_suitable_zapier_templates_to_automate_your_workflow: Encontre modelos Zapier adequados para automatizar seu fluxo de trabalho. get_started: Começar - click_here_to_learn_more_about_user_roles_and_permissions_html: 'Clique aqui para saber mais sobre os papéis e permissões dos usuários.' + click_here_to_learn_more_about_user_roles_and_permissions_html: 'Clique aqui para saber mais sobre os papéis e permissões dos usuários.' count_10_signature_request_emails_sent_this_month_upgrade_to_pro_to_send_unlimited_signature_request_email: '%{count} / 10 e-mails de solicitação de assinatura enviados este mês. Faça upgrade para Pro para enviar solicitações de assinatura ilimitadas.' test_mode_emails_limit_will_be_reset_within_24_hours: O limite de e-mails no modo de teste será redefinido em 24 horas. - on_a_scale_of_1_to_10_how_satisfied_are_you_with_the_docuseal_product_: 'Em uma escala de 1 a 10, quão satisfeito você está com o produto DocuSeal?' + on_a_scale_of_1_to_10_how_satisfied_are_you_with_the_wabosign_product_: 'Em uma escala de 1 a 10, quão satisfeito você está com o produto WaboSign?' tell_us_more_about_your_experience: Conte-nos mais sobre sua experiência extremely_dissatisfied: Extremamente insatisfeito extremely_satisfied: Extremamente satisfeito your_pro_plan_payment_is_overdue: O pagamento do seu plano Pro está atrasado. click_here_to_update_your_payment_details_and_clear_the_invoice_to_ensure_uninterrupted_service_html: 'Clique aqui para atualizar seus dados de pagamento e quitar a fatura para garantir um serviço ininterrupto.' overdue_payment: Pagamento Atrasado - your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_docuseal_or_cancel_your_subscription: Seu plano Pro foi suspenso devido a faturas não pagas. Você pode atualizar seus dados de pagamento para quitar a fatura e continuar usando o DocuSeal ou cancelar sua assinatura. + your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_wabosign_or_cancel_your_subscription: Seu plano Pro foi suspenso devido a faturas não pagas. Você pode atualizar seus dados de pagamento para quitar a fatura e continuar usando o WaboSign ou cancelar sua assinatura. manage_subscription: Gerenciar Assinatura submission_created_by_email_html: 'Envio criado por %{email}' submission_created_by_email_via_source_html: 'Envio criado por %{email} via %{source}' submission_created_via_source_html: 'Envio criado via %{source}' pro_user_seats_used: Lugares de usuário Pro em uso manage_plan: Gerenciar plano - this_submission_has_multiple_signers_which_prevents_the_use_of_a_sharing_link_html: 'Este envio tem vários signatários, o que impede o uso de um link de compartilhamento, pois não está claro qual signatário é responsável por quais campos. Para resolver isso, siga este guia para definir os detalhes padrão do signatário.' - welcome_to_docuseal: Bem-vindo ao DocuSeal + this_submission_has_multiple_signers_which_prevents_the_use_of_a_sharing_link_html: 'Este envio tem vários signatários, o que impede o uso de um link de compartilhamento, pois não está claro qual signatário é responsável por quais campos. Para resolver isso, siga este guia para definir os detalhes padrão do signatário.' + welcome_to_wabosign: Bem-vindo ao WaboSign start_a_quick_tour_to_learn_how_to_create_and_send_your_first_document: Comece um tour rápido para aprender a criar e enviar seu primeiro documento. start_tour: Iniciar tour name_a_z: Nome A-Z @@ -5032,13 +5042,13 @@ pt: &pt use_otp_code_to_access_the_api_key_html: Use o código %{code} para acessar a chave API. please_reply_to_this_email_if_you_dont_recognize_this_request: Responda a este e-mail se você não reconhecer esta solicitação. your_user_account_has_been_archived_contact_your_administrator_to_restore_access_to_your_account: Sua conta de usuário foi arquivada. Entre em contato com o administrador para restaurar o acesso à sua conta. - your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Seu e-mail não pôde ser acessado. Isso pode acontecer se houve um erro de digitação no endereço ou se sua caixa de correio não estiver disponível. Entre em contato com support@docuseal.com para fazer login. + your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Seu e-mail não pôde ser acessado. Isso pode acontecer se houve um erro de digitação no endereço ou se sua caixa de correio não estiver disponível. Entre em contato com wabosign@wabo.cc para fazer login. efficient_search_with_search_index: Pesquisa eficiente com índice de busca reindex: Reindexar build_search_index: Construir índice de busca require_two_factor_authentication_2fa_with_an_authenticator_app_e_g_google_authenticator_authy_all_users_signing_documents_must_pass_the_second_factor_verification_using_a_secure_code_in_addition_to_their_password: "Exigir autenticação de dois fatores (2FA) com um aplicativo autenticador (ex.: Google Authenticator, Authy). Todos os usuários que assinam documentos devem passar pela verificação do segundo fator usando um código seguro além da senha." - add_a_unique_signature_id_and_timestamp_to_each_signature_for_audit_and_traceability_purposes_along_with_the_timestamp_part_of_docuseals_21_cfr_part_11_compliance_settings: Adicionar um ID de assinatura exclusivo e um carimbo de data/hora a cada assinatura para fins de auditoria e rastreabilidade junto com o carimbo de data/hora. Parte das configurações de conformidade 21 CFR Parte 11 do DocuSeal. - require_signer_to_provide_a_reason_for_signing_before_completing_their_signature_e_g_approvals_certifications_part_of_docuseals_21_cfr_part_11_compliance_settings: "Exigir que os signatários forneçam uma razão antes de completar a assinatura (ex.: aprovações, certificações). Parte das configurações de conformidade 21 CFR Parte 11 do DocuSeal." + add_a_unique_signature_id_and_timestamp_to_each_signature_for_audit_and_traceability_purposes_along_with_the_timestamp_part_of_wabosigns_21_cfr_part_11_compliance_settings: Adicionar um ID de assinatura exclusivo e um carimbo de data/hora a cada assinatura para fins de auditoria e rastreabilidade junto com o carimbo de data/hora. Parte das configurações de conformidade 21 CFR Parte 11 do WaboSign. + require_signer_to_provide_a_reason_for_signing_before_completing_their_signature_e_g_approvals_certifications_part_of_wabosigns_21_cfr_part_11_compliance_settings: "Exigir que os signatários forneçam uma razão antes de completar a assinatura (ex.: aprovações, certificações). Parte das configurações de conformidade 21 CFR Parte 11 do WaboSign." allow_signers_to_create_signatures_by_typing_their_name_instead_of_drawing_or_uploading_one: Permitir que os signatários criem assinaturas digitando seu nome em vez de desenhá-las ou carregá-las. allow_signers_to_resubmit_forms_after_completion_useful_when_corrections_or_multiple_submissions_are_needed: Permitir que os signatários reenviem formulários após o término, útil quando são necessárias correções ou múltiplos envios. allow_recipients_to_decline_signing_a_document_the_decline_reason_notification_will_be_sent_to_the_signature_requester: Permitir que os destinatários recusem assinar um documento. A notificação do motivo da recusa será enviada ao solicitante da assinatura. @@ -5113,7 +5123,7 @@ pt: &pt mcp_token_has_been_removed: O token MCP foi removido. enable_mcp_server: Ativar servidor MCP all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled: Todas as conexões MCP existentes serão interrompidas imediatamente quando esta configuração for desativada. - connect_to_docuseal_mcp: Conectar ao DocuSeal MCP + connect_to_wabosign_mcp: Conectar ao WaboSign MCP add_the_following_to_your_mcp_client_configuration: Adicione o seguinte à configuração do seu cliente MCP works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client: Funciona com Claude Desktop, Cursor, Windsurf, VS Code e qualquer cliente compatível com MCP. your_email_address_has_been_changed: Seu endereço de e-mail foi alterado @@ -5213,7 +5223,7 @@ pt: &pt settings: 'Configurações' settings_account_description: 'Com configurações completas de conta, você pode personalizar a experiência de assinatura eletrônica e convidar mais usuários.' support: 'Suporte' - support_description: 'Você pode usar nosso assistente de IA ou nos escrever para support@docuseal.com se tiver dúvidas.' + support_description: 'Você pode usar nosso assistente de IA ou nos escrever para wabosign@wabo.cc se tiver dúvidas.' settings_template_description: 'Use este botão para acessar a página de configurações da sua conta.' doorkeeper: scopes: @@ -5315,15 +5325,15 @@ de: &de accessiable_by: Zugänglich für team_access: Teamzugang document_download_filename_format: Format des Dateinamens beim Herunterladen von Dokumenten - docuseal_trusted_signature: DocuSeal-Vertrauenssignatur + 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:' sent_using_product_name_in_testing_mode_html: 'Gesendet über %{product_name} im Testmodus' sent_using_product_name_free_document_signing_html: 'Gesendet mit der kostenlosen Dokumentensignierung von %{product_name}.' - sent_with_docuseal_pro_html: Gesendet mit DocuSeal Pro - show_send_with_docuseal_pro_attribution_in_emails_html: '"Gesendet mit DocuSeal Pro" 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 DocuSeal. Ihre Dokumente und Daten werden niemals mit DocuSeal geteilt. Eine PDF-Prüfsumme wird bereitgestellt, um eine vertrauenswürdige Signatur zu generieren. + sent_with_wabosign_pro_html: Gesendet mit WaboSign Pro + show_send_with_wabosign_pro_attribution_in_emails_html: '"Gesendet mit WaboSign Pro" 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:' @@ -5425,7 +5435,7 @@ de: &de profile_details: Profildetails sign_up_with_google: Mit Google registrieren sign_up_with_microsoft: Mit Microsoft registrieren - by_creating_an_account_you_agree_to_our_html: 'Durch die Erstellung eines Kontos stimmen Sie unseren Datenschutzrichtlinien und Nutzungsbedingungen zu.' + by_creating_an_account_you_agree_to_our_html: 'Durch die Erstellung eines Kontos stimmen Sie unseren Datenschutzrichtlinien und Nutzungsbedingungen zu.' enter_email_to_continue: E-Mail eingeben, um fortzufahren account: Konto preferences: Einstellungen @@ -5447,7 +5457,7 @@ de: &de combine_completed_documents_and_audit_log: Abgeschlossene Dokumente und Prüfprotokoll kombinieren salesforce_integration: Salesforce-Integration salesforce_has_been_connected: Salesforce wurde verbunden. - connect_salesforce_account_to_integrate_with_docuseal: Verbinden Sie Ihr Salesforce-Konto, um es mit DocuSeal zu integrieren + connect_salesforce_account_to_integrate_with_wabosign: Verbinden Sie Ihr Salesforce-Konto, um es mit WaboSign zu integrieren re_connect_salesforce: Salesforce erneut verbinden connect_salesforce: Salesforce verbinden danger_zone: Gefahrenzone @@ -5476,13 +5486,13 @@ de: &de resetting_password: Passwort wird zurückgesetzt sign_in_with_name_account: 'Mit %{name}-Konto anmelden' two_factor_code_from_authenticator_app: Zwei-Faktor-Code aus der Authenticator-App - sign_up_in_docuseal_console_to_upgrade_on_premises_app_is_completely_standalone_console_is_used_only_to_manage_your_license: Melden Sie sich in der DocuSeal-Konsole an, um ein Upgrade durchzuführen. Die lokale App ist vollständig eigenständig; die Konsole wird nur zur Verwaltung Ihrer Lizenz verwendet. + sign_up_in_wabosign_console_to_upgrade_on_premises_app_is_completely_standalone_console_is_used_only_to_manage_your_license: Melden Sie sich in der WaboSign-Konsole an, um ein Upgrade durchzuführen. Die lokale App ist vollständig eigenständig; die Konsole wird nur zur Verwaltung Ihrer Lizenz verwendet. send_from_email: Von E-Mail senden optional: optional save: Speichern saving: Wird gespeichert changes_have_been_saved: Änderungen wurden gespeichert. - unlock_with_docuseal_pro: Mit DocuSeal Pro freischalten + unlock_with_wabosign_pro: Mit WaboSign Pro freischalten use_your_own_certificates_to_sign_and_verify_pdf_files: Verwenden Sie Ihre eigenen Zertifikate, um PDF-Dateien zu signieren und zu verifizieren. upload_certificate: Zertifikat hochladen name: Name @@ -5582,7 +5592,7 @@ de: &de password_has_been_changed: Das Passwort wurde geändert. email_integration: E-Mail-Integration send_via_connected_email: Über verbundenes E-Mail-Konto senden - activate_with_docuseal_pro: Mit DocuSeal Pro aktivieren + activate_with_wabosign_pro: Mit WaboSign Pro aktivieren send_signature_request_to_your_recipients_directly_from_your_email: Senden Sie Signaturanfragen direkt aus Ihrem E-Mail-Konto connect_gmail: Gmail verbinden re_connect_gmail: Gmail erneut verbinden @@ -5603,6 +5613,8 @@ de: &de sign_out: Abmelden page_number: 'Seite %{number}' powered_by: Bereitgestellt von + based_on: based on + view_on_github: View on GitHub qr_code: QR-Code print: Drucken scan_the_qr_code_above_with_your_phone_camera_to_open_and_sign_this_document: Scannen Sie den QR-Code oben mit Ihrer Handykamera, um dieses Dokument zu öffnen und zu unterzeichnen. @@ -5662,7 +5674,7 @@ de: &de upgrade_to_send_unlimited_signature_requests: Upgrade durchführen, um unbegrenzte Signaturanfragen zu senden add_without_sending: Hinzufügen ohne zu senden upgade_now: Jetzt upgraden - send_signature_request_emails_without_limits_with_docuseal_pro: Signaturanfragen per E-Mail ohne Limits mit DocuSeal Pro senden + send_signature_request_emails_without_limits_with_wabosign_pro: Signaturanfragen per E-Mail ohne Limits mit WaboSign Pro senden count_emails_used: '%{count} E-Mails verwendet' has_been_connected: wurde verbunden sms_not_configured: SMS nicht konfiguriert @@ -5764,7 +5776,7 @@ de: &de new_user: Neuer Benutzer unarchive: Entarchivieren last_session: Letzte Sitzung - unlock_more_user_roles_with_docuseal_pro: Weitere Benutzerrollen mit DocuSeal Pro freischalten. + unlock_more_user_roles_with_wabosign_pro: Weitere Benutzerrollen mit WaboSign Pro freischalten. view_active: Aktive anzeigen team_account: Teamkonto team_accounts: Teamkonten @@ -5976,7 +5988,7 @@ de: &de use_otp_code_to_sign_in_or_click_the_link_below_html: 'Verwenden Sie den Code %{code}, um sich anzumelden, oder klicken Sie auf den untenstehenden Link:' complete_sign_in: Anmeldung abschließen please_reply_to_this_email_if_you_dont_recognize_this_sign_in_attempt: Bitte antworten Sie auf diese E-Mail, wenn Sie diesen Anmeldeversuch nicht erkennen. - docuseal_support: DocuSeal Support + wabosign_support: WaboSign Support use_the_edit_form_to_move_it_to_another_team: Verwenden Sie das Bearbeitungsformular, um es in ein anderes Team zu verschieben. too_many_sms_attempts_try_again_in_a_few_seconds: Zu viele SMS-Versuche. Versuchen Sie es in ein paar Sekunden erneut. number_phone_number_is_invalid: "Die Telefonnummer +%{number} ist ungültig" @@ -5985,25 +5997,25 @@ de: &de seamlessly_automate_your_document_signing_process_with_make_com: Automatisieren Sie Ihren Dokumentenunterzeichnungsprozess nahtlos mit Make.com. find_suitable_zapier_templates_to_automate_your_workflow: Finden Sie passende Zapier-Vorlagen, um Ihren Workflow zu automatisieren. get_started: Loslegen - click_here_to_learn_more_about_user_roles_and_permissions_html: 'Klicken Sie hier, um mehr über Benutzerrollen und -berechtigungen zu erfahren.' + click_here_to_learn_more_about_user_roles_and_permissions_html: 'Klicken Sie hier, um mehr über Benutzerrollen und -berechtigungen zu erfahren.' count_10_signature_request_emails_sent_this_month_upgrade_to_pro_to_send_unlimited_signature_request_email: '%{count} / 10 E-Mails für Signaturanfragen wurden diesen Monat gesendet. Upgraden Sie zu Pro, um unbegrenzte Signaturanfragen zu senden.' test_mode_emails_limit_will_be_reset_within_24_hours: Das Limit für E-Mails im Testmodus wird innerhalb von 24 Stunden zurückgesetzt. - on_a_scale_of_1_to_10_how_satisfied_are_you_with_the_docuseal_product_: 'Auf einer Skala von 1 bis 10: Wie zufrieden sind Sie mit dem DocuSeal-Produkt?' + on_a_scale_of_1_to_10_how_satisfied_are_you_with_the_wabosign_product_: 'Auf einer Skala von 1 bis 10: Wie zufrieden sind Sie mit dem WaboSign-Produkt?' tell_us_more_about_your_experience: Erzählen Sie uns mehr über Ihre Erfahrung extremely_dissatisfied: Extrem unzufrieden extremely_satisfied: Extrem zufrieden your_pro_plan_payment_is_overdue: Ihre Zahlung für den Pro-Plan ist überfällig. click_here_to_update_your_payment_details_and_clear_the_invoice_to_ensure_uninterrupted_service_html: 'Klicken Sie hier, um Ihre Zahlungsdaten zu aktualisieren und die Rechnung zu begleichen, um einen unterbrechungsfreien Service sicherzustellen.' overdue_payment: Überfällige Zahlung - your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_docuseal_or_cancel_your_subscription: Ihr Pro-Plan wurde aufgrund unbezahlter Rechnungen ausgesetzt. Sie können Ihre Zahlungsdaten aktualisieren, um die Rechnung zu begleichen und DocuSeal weiterhin zu nutzen, oder Ihr Abonnement kündigen. + your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_wabosign_or_cancel_your_subscription: Ihr Pro-Plan wurde aufgrund unbezahlter Rechnungen ausgesetzt. Sie können Ihre Zahlungsdaten aktualisieren, um die Rechnung zu begleichen und WaboSign weiterhin zu nutzen, oder Ihr Abonnement kündigen. manage_subscription: Abonnement verwalten submission_created_by_email_html: 'Einreichung erstellt von %{email}' submission_created_by_email_via_source_html: 'Einreichung erstellt von %{email} über %{source}' submission_created_via_source_html: 'Einreichung erstellt über %{source}' pro_user_seats_used: Verwendete Pro-Benutzerplätze manage_plan: Plan verwalten - this_submission_has_multiple_signers_which_prevents_the_use_of_a_sharing_link_html: 'Diese Einreichung hat mehrere Unterzeichner, was die Nutzung eines Freigabelinks verhindert, da unklar ist, welcher Unterzeichner für welche Felder verantwortlich ist. Um dies zu lösen, folgen Sie dieser Anleitung, um die Standarddetails des Unterzeichners festzulegen.' - welcome_to_docuseal: Willkommen bei DocuSeal + this_submission_has_multiple_signers_which_prevents_the_use_of_a_sharing_link_html: 'Diese Einreichung hat mehrere Unterzeichner, was die Nutzung eines Freigabelinks verhindert, da unklar ist, welcher Unterzeichner für welche Felder verantwortlich ist. Um dies zu lösen, folgen Sie dieser Anleitung, um die Standarddetails des Unterzeichners festzulegen.' + welcome_to_wabosign: Willkommen bei WaboSign start_a_quick_tour_to_learn_how_to_create_and_send_your_first_document: Starten Sie eine kurze Tour, um zu lernen, wie Sie Ihr erstes Dokument erstellen und versenden. start_tour: Starten name_a_z: Name A-Z @@ -6079,13 +6091,13 @@ de: &de use_otp_code_to_access_the_api_key_html: Verwenden Sie den Code %{code}, um auf den API-Schlüssel zuzugreifen. please_reply_to_this_email_if_you_dont_recognize_this_request: Bitte antworten Sie auf diese E-Mail, wenn Sie diese Anfrage nicht erkennen. your_user_account_has_been_archived_contact_your_administrator_to_restore_access_to_your_account: Ihr Benutzerkonto wurde archiviert. Wenden Sie sich an Ihren Administrator, um den Zugriff wiederherzustellen. - your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Ihre E-Mail konnte nicht erreicht werden. Dies kann passieren, wenn sich ein Tippfehler in Ihrer Adresse befindet oder Ihr Postfach nicht verfügbar ist. Bitte kontaktieren Sie support@docuseal.com, um sich anzumelden. + your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Ihre E-Mail konnte nicht erreicht werden. Dies kann passieren, wenn sich ein Tippfehler in Ihrer Adresse befindet oder Ihr Postfach nicht verfügbar ist. Bitte kontaktieren Sie wabosign@wabo.cc, um sich anzumelden. efficient_search_with_search_index: Effiziente Suche mit Suchindex reindex: Neu indexieren build_search_index: Suchindex erstellen require_two_factor_authentication_2fa_with_an_authenticator_app_e_g_google_authenticator_authy_all_users_signing_documents_must_pass_the_second_factor_verification_using_a_secure_code_in_addition_to_their_password: Zwei-Faktor-Authentifizierung (2FA) mit einer Authentifizierungs-App (z. B. Google Authenticator, Authy) erforderlich. Alle Benutzer, die Dokumente unterzeichnen, müssen zusätzlich zu ihrem Passwort die zweite Faktorprüfung mit einem sicheren Code bestehen. - add_a_unique_signature_id_and_timestamp_to_each_signature_for_audit_and_traceability_purposes_along_with_the_timestamp_part_of_docuseals_21_cfr_part_11_compliance_settings: Fügen Sie jeder Signatur eine eindeutige Signatur-ID und einen Zeitstempel für Prüf- und Nachverfolgbarkeitszwecke hinzu. Teil der DocuSeal-Einstellungen zur 21 CFR Part 11-Compliance. - require_signer_to_provide_a_reason_for_signing_before_completing_their_signature_e_g_approvals_certifications_part_of_docuseals_21_cfr_part_11_compliance_settings: Unterzeichner müssen vor Abschluss ihrer Signatur einen Grund für die Unterzeichnung angeben (z. B. Genehmigungen, Zertifizierungen). Teil der DocuSeal-Einstellungen zur 21 CFR Part 11-Compliance. + add_a_unique_signature_id_and_timestamp_to_each_signature_for_audit_and_traceability_purposes_along_with_the_timestamp_part_of_wabosigns_21_cfr_part_11_compliance_settings: Fügen Sie jeder Signatur eine eindeutige Signatur-ID und einen Zeitstempel für Prüf- und Nachverfolgbarkeitszwecke hinzu. Teil der WaboSign-Einstellungen zur 21 CFR Part 11-Compliance. + require_signer_to_provide_a_reason_for_signing_before_completing_their_signature_e_g_approvals_certifications_part_of_wabosigns_21_cfr_part_11_compliance_settings: Unterzeichner müssen vor Abschluss ihrer Signatur einen Grund für die Unterzeichnung angeben (z. B. Genehmigungen, Zertifizierungen). Teil der WaboSign-Einstellungen zur 21 CFR Part 11-Compliance. allow_signers_to_create_signatures_by_typing_their_name_instead_of_drawing_or_uploading_one: Unterzeichner dürfen Signaturen erstellen, indem sie ihren Namen eingeben, statt eine Signatur zu zeichnen oder hochzuladen. allow_signers_to_resubmit_forms_after_completion_useful_when_corrections_or_multiple_submissions_are_needed: Unterzeichner dürfen Formulare nach Abschluss erneut einreichen – nützlich für Korrekturen oder mehrere Einreichungen. allow_recipients_to_decline_signing_a_document_the_decline_reason_notification_will_be_sent_to_the_signature_requester: Empfänger dürfen die Unterzeichnung eines Dokuments ablehnen. Die Benachrichtigung mit dem Ablehnungsgrund wird an den Anforderer der Signatur gesendet. @@ -6160,7 +6172,7 @@ de: &de mcp_token_has_been_removed: Das MCP-Token wurde entfernt. enable_mcp_server: MCP-Server aktivieren all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled: Alle bestehenden MCP-Verbindungen werden sofort gestoppt, wenn diese Einstellung deaktiviert wird. - connect_to_docuseal_mcp: Mit DocuSeal MCP verbinden + connect_to_wabosign_mcp: Mit WaboSign MCP verbinden add_the_following_to_your_mcp_client_configuration: Fügen Sie Folgendes zu Ihrer MCP-Client-Konfiguration hinzu works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client: Funktioniert mit Claude Desktop, Cursor, Windsurf, VS Code und jedem MCP-kompatiblen Client. your_email_address_has_been_changed: Ihre E-Mail-Adresse wurde geändert @@ -6260,7 +6272,7 @@ de: &de settings: 'Einstellungen' settings_account_description: 'Mit umfangreichen Kontoeinstellungen können Sie das Signiererlebnis anpassen und weitere Benutzer einladen.' support: 'Support' - support_description: 'Sie können unseren KI-Assistenten nutzen oder uns bei Fragen an support@docuseal.com schreiben.' + support_description: 'Sie können unseren KI-Assistenten nutzen oder uns bei Fragen an wabosign@wabo.cc schreiben.' settings_template_description: 'Über diese Schaltfläche gelangen Sie zu den Kontoeinstellungen.' doorkeeper: scopes: @@ -6365,7 +6377,7 @@ pl: profile_details: Szczegóły profilu sign_up_with_google: Zarejestruj się przez Google sign_up_with_microsoft: Zarejestruj się przez Microsoft - by_creating_an_account_you_agree_to_our_html: 'Tworząc konto, akceptujesz naszą Politykę Prywatności i Regulamin.' + by_creating_an_account_you_agree_to_our_html: 'Tworząc konto, akceptujesz naszą Politykę Prywatności i Regulamin.' enter_email_to_continue: Wprowadź e-mail, aby kontynuować the_code_has_been_sent_to_your_email: Kod został wysłany na Twój e-mail. enter_the_verification_code_from_your_email: Wprowadź kod weryfikacyjny z Twojego e-maila. @@ -6373,6 +6385,8 @@ pl: verification_code: Kod Weryfikacyjny resend_code: Wyślij Kod Ponownie powered_by: 'Napędzany przez' + based_on: based on + view_on_github: View on GitHub count_documents_signed_with_html: '%{count} dokumentów podpisanych za pomocą' open_source_documents_software: 'oprogramowanie do dokumentów open source' eu_data_residency: Dane w UE @@ -6392,7 +6406,7 @@ pl: your_verification_code_to_access_the_name: 'Twój kod weryfikacyjny do uzyskania dostępu do "%{name}":' please_reply_to_this_email_if_you_didnt_request_this: Odpowiedz na ten e-mail, jeśli nie prosiłeś o to. your_user_account_has_been_archived_contact_your_administrator_to_restore_access_to_your_account: Twoje konto użytkownika zostało zarchiwizowane. Skontaktuj się z administratorem, aby przywrócić dostęp do konta. - your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Nie udało się uzyskać dostępu do Twojego adresu e-mail. Może to być spowodowane literówką w adresie lub niedostępnością skrzynki. Skontaktuj się z support@docuseal.com, aby się zalogować. + your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Nie udało się uzyskać dostępu do Twojego adresu e-mail. Może to być spowodowane literówką w adresie lub niedostępnością skrzynki. Skontaktuj się z wabosign@wabo.cc, aby się zalogować. verification_required_refresh_the_page_and_pass_2fa: Weryfikacja wymagana, odśwież stronę i przejdź uwierzytelnienie dwuskładnikowe. the_sender_has_requested_a_two_factor_authentication_via_one_time_password_sent_to_your_email_html: Nadawca zażądał uwierzytelniania dwuskładnikowego za pośrednictwem hasła jednorazowego wysłanego na Twój adres e-mail %{email}. please_contact_the_requester_to_specify_your_email_for_two_factor_authentication: Skontaktuj się z nadawcą, aby podać swój adres e-mail do uwierzytelniania dwuskładnikowego. @@ -6466,7 +6480,7 @@ uk: profile_details: Дані профілю sign_up_with_google: Зареєструватися через Google sign_up_with_microsoft: Зареєструватися через Microsoft - by_creating_an_account_you_agree_to_our_html: 'Створюючи акаунт, ви погоджуєтесь з нашою Політикою конфіденційності і Умовами надання послуг.' + by_creating_an_account_you_agree_to_our_html: 'Створюючи акаунт, ви погоджуєтесь з нашою Політикою конфіденційності і Умовами надання послуг.' enter_email_to_continue: Введіть електронну пошту, щоб продовжити the_code_has_been_sent_to_your_email: Код було надіслано на вашу електронну пошту. enter_the_verification_code_from_your_email: Введіть код перевірки з вашої електронної пошти. @@ -6474,6 +6488,8 @@ uk: verification_code: Код перевірки resend_code: Надіслати код знову powered_by: 'Працює на базі' + based_on: based on + view_on_github: View on GitHub count_documents_signed_with_html: '%{count} документів підписано за допомогою' open_source_documents_software: 'відкрите програмне забезпечення для документів' eu_data_residency: 'Зберігання даних в ЄС' @@ -6493,7 +6509,7 @@ uk: your_verification_code_to_access_the_name: 'Ваш код доступу до "%{name}":' please_reply_to_this_email_if_you_didnt_request_this: Відповідайте на цей лист, якщо ви цього не запитували. your_user_account_has_been_archived_contact_your_administrator_to_restore_access_to_your_account: Ваш обліковий запис було архівовано. Зверніться до адміністратора, щоб відновити доступ. - your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Не вдалося отримати доступ до вашої електронної пошти. Це може статися, якщо була допущена помилка в адресі або ваша скринька недоступна. Зверніться до support@docuseal.com, щоб увійти. + your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Не вдалося отримати доступ до вашої електронної пошти. Це може статися, якщо була допущена помилка в адресі або ваша скринька недоступна. Зверніться до wabosign@wabo.cc, щоб увійти. verification_required_refresh_the_page_and_pass_2fa: Необхідна верифікація, оновіть сторінку та пройдіть двофакторну автентифікацію. the_sender_has_requested_a_two_factor_authentication_via_one_time_password_sent_to_your_email_html: Відправник запитав двофакторну автентифікацію за допомогою одноразового пароля, надісланого на вашу електронну пошту %{email}. please_contact_the_requester_to_specify_your_email_for_two_factor_authentication: Будь ласка, зв'яжіться з відправником, щоб вказати вашу електронну пошту для двофакторної автентифікації. @@ -6567,7 +6583,7 @@ cs: profile_details: Detaily profilu sign_up_with_google: Zaregistrovat se pomocí Googlu sign_up_with_microsoft: Zaregistrovat se pomocí Microsoftu - by_creating_an_account_you_agree_to_our_html: 'Vytvořením účtu souhlasíte s našimi Zásadami ochrany osobních údajů a Podmínkami služby.' + by_creating_an_account_you_agree_to_our_html: 'Vytvořením účtu souhlasíte s našimi Zásadami ochrany osobních údajů a Podmínkami služby.' enter_email_to_continue: Zadejte e-mail pro pokračování the_code_has_been_sent_to_your_email: Kód byl odeslán na váš e-mail. enter_the_verification_code_from_your_email: Zadejte ověřovací kód z vašeho e-mailu. @@ -6575,6 +6591,8 @@ cs: verification_code: Ověřovací kód resend_code: Znovu odeslat kód powered_by: 'Poháněno' + based_on: based on + view_on_github: View on GitHub count_documents_signed_with_html: '%{count} dokumentů podepsáno pomocí' open_source_documents_software: 'open source software pro dokumenty' eu_data_residency: 'Uložení dat v EU' @@ -6594,7 +6612,7 @@ cs: your_verification_code_to_access_the_name: 'Váš ověřovací kód pro přístup k "%{name}":' please_reply_to_this_email_if_you_didnt_request_this: Odpovězte na tento e-mail, pokud jste o to nežádali. your_user_account_has_been_archived_contact_your_administrator_to_restore_access_to_your_account: Váš uživatelský účet byl archivován. Kontaktujte svého administrátora pro obnovení přístupu. - your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Na váš e-mail se nepodařilo doručit zprávu. To se může stát, pokud je v adrese překlep nebo vaše schránka není dostupná. Pro přihlášení kontaktujte support@docuseal.com. + your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Na váš e-mail se nepodařilo doručit zprávu. To se může stát, pokud je v adrese překlep nebo vaše schránka není dostupná. Pro přihlášení kontaktujte wabosign@wabo.cc. verification_required_refresh_the_page_and_pass_2fa: Ověření vyžadováno. Aktualizujte stránku a dokončete dvoufaktorové ověření. the_sender_has_requested_a_two_factor_authentication_via_one_time_password_sent_to_your_email_html: Odesílatel požádal o dvoufaktorové ověření pomocí jednorázového hesla odeslaného na vaši e-mailovou adresu %{email}. please_contact_the_requester_to_specify_your_email_for_two_factor_authentication: Prosím kontaktujte odesílatele a uveďte svůj e-mail pro dvoufaktorové ověření. @@ -6668,7 +6686,7 @@ he: profile_details: פרטי הפרופיל sign_up_with_google: הירשם עם גוגל sign_up_with_microsoft: הירשם עם מיקרוסופט - by_creating_an_account_you_agree_to_our_html: 'על ידי יצירת חשבון, אתה מסכים למדיניות הפרטיות ולתנאי השירות שלנו.' + by_creating_an_account_you_agree_to_our_html: 'על ידי יצירת חשבון, אתה מסכים למדיניות הפרטיות ולתנאי השירות שלנו.' enter_email_to_continue: הכנס דוא"ל כדי להמשיך the_code_has_been_sent_to_your_email: הקוד נשלח לדוא"ל שלך. enter_the_verification_code_from_your_email: הזן את קוד האימות מדוא"ל שלך. @@ -6676,6 +6694,8 @@ he: verification_code: קוד אימות resend_code: שלח קוד מחדש powered_by: 'מופעל על ידי' + based_on: based on + view_on_github: View on GitHub count_documents_signed_with_html: '%{count} מסמכים נחתמו באמצעות' open_source_documents_software: 'תוכנה בקוד פתוח למסמכים' eu_data_residency: 'נתונים באיחוד האירופי' @@ -6695,7 +6715,7 @@ he: your_verification_code_to_access_the_name: 'קוד האימות שלך לגישה ל-%{name}:' please_reply_to_this_email_if_you_didnt_request_this: 'השב למייל זה אם לא ביקשת זאת.' your_user_account_has_been_archived_contact_your_administrator_to_restore_access_to_your_account: החשבון שלך הועבר לארכיון. פנה למנהל המערכת כדי לשחזר את הגישה. - your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: לא ניתן היה לגשת לדוא"ל שלך. ייתכן שזה קרה עקב שגיאת כתיב בכתובת או אם תיבת הדואר אינה זמינה. אנא פנה ל־support@docuseal.com כדי להתחבר. + your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: לא ניתן היה לגשת לדוא"ל שלך. ייתכן שזה קרה עקב שגיאת כתיב בכתובת או אם תיבת הדואר אינה זמינה. אנא פנה ל־wabosign@wabo.cc כדי להתחבר. verification_required_refresh_the_page_and_pass_2fa: נדרש אימות. רענן את הדף והשלם אימות דו-שלבי. the_sender_has_requested_a_two_factor_authentication_via_one_time_password_sent_to_your_email_html: השולח ביקש אימות דו-שלבי באמצעות סיסמה חד-פעמית שנשלחה לכתובת הדוא"ל שלך %{email}. please_contact_the_requester_to_specify_your_email_for_two_factor_authentication: אנא פנה לשולח וציין את כתובת הדוא"ל שלך לאימות דו-שלבי. @@ -6766,16 +6786,16 @@ nl: &nl accessiable_by: Toegankelijk voor team_access: Teamtoegang document_download_filename_format: Bestandsnaamformaat voor documentdownload - docuseal_trusted_signature: DocuSeal Vertrouwde handtekening + 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:' sent_using_product_name_in_testing_mode_html: Verzonden met %{product_name} in testmodus sent_using_product_name_free_document_signing_html: Verzonden met %{product_name} gratis documentondertekening. - sent_with_docuseal_pro_html: Verzonden met DocuSeal Pro - show_send_with_docuseal_pro_attribution_in_emails_html: Toon de vermelding 'Verzonden met DocuSeal Pro' in e-mails + sent_with_wabosign_pro_html: Verzonden met WaboSign Pro + show_send_with_wabosign_pro_attribution_in_emails_html: Toon de vermelding 'Verzonden met WaboSign Pro' in 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 - : Onderteken documenten met een vertrouwd certificaat geleverd door DocuSeal. Uw documenten en gegevens worden nooit gedeeld met DocuSeal. PDF-checksum wordt verstrekt om een vertrouwde handtekening te genereren. + : Onderteken documenten met een vertrouwd certificaat geleverd door WaboSign. Uw documenten en gegevens worden nooit gedeeld met WaboSign. PDF-checksum wordt verstrekt om een vertrouwde handtekening te genereren. you_have_been_invited_to_submit_the_name_form: U bent uitgenodigd om het formulier "%{name}" in te dienen. you_have_been_invited_to_sign_the_name: U bent uitgenodigd om "%{name}" te ondertekenen. alternatively_you_can_review_and_download_your_copy_using_the_link_below: 'U kunt uw exemplaar ook bekijken en downloaden via de onderstaande link:' @@ -6877,7 +6897,7 @@ nl: &nl profile_details: Profielgegevens sign_up_with_google: Registreren met Google sign_up_with_microsoft: Registreren met Microsoft - by_creating_an_account_you_agree_to_our_html: Door een account aan te maken gaat u akkoord met ons Privacybeleid en onze Servicevoorwaarden. + by_creating_an_account_you_agree_to_our_html: Door een account aan te maken gaat u akkoord met ons Privacybeleid en onze Servicevoorwaarden. enter_email_to_continue: Voer e-mailadres in om door te gaan account: Account preferences: Voorkeuren @@ -6899,7 +6919,7 @@ nl: &nl combine_completed_documents_and_audit_log: Voltooide documenten en auditlogboek combineren salesforce_integration: Salesforce-integratie salesforce_has_been_connected: Salesforce is verbonden. - connect_salesforce_account_to_integrate_with_docuseal: Verbind een Salesforce-account om te integreren met DocuSeal + connect_salesforce_account_to_integrate_with_wabosign: Verbind een Salesforce-account om te integreren met WaboSign re_connect_salesforce: Salesforce opnieuw verbinden connect_salesforce: Salesforce verbinden danger_zone: Gevarenzone @@ -6928,13 +6948,13 @@ nl: &nl resetting_password: Wachtwoord resetten sign_in_with_name_account: Inloggen met %{name}-account two_factor_code_from_authenticator_app: Twee-factorcode van authenticator-app - sign_up_in_docuseal_console_to_upgrade_on_premises_app_is_completely_standalone_console_is_used_only_to_manage_your_license: Meld u aan in de DocuSeal Console om te upgraden. De on-premises app is volledig zelfstandig; de Console wordt alleen gebruikt om uw licentie te beheren. + sign_up_in_wabosign_console_to_upgrade_on_premises_app_is_completely_standalone_console_is_used_only_to_manage_your_license: Meld u aan in de WaboSign Console om te upgraden. De on-premises app is volledig zelfstandig; de Console wordt alleen gebruikt om uw licentie te beheren. send_from_email: Verzenden vanaf e-mailadres optional: optioneel save: Opslaan saving: Opslaan changes_have_been_saved: Wijzigingen zijn opgeslagen. - unlock_with_docuseal_pro: Ontgrendel met DocuSeal Pro + unlock_with_wabosign_pro: Ontgrendel met WaboSign Pro use_your_own_certificates_to_sign_and_verify_pdf_files: Gebruik uw eigen certificaten om PDF-bestanden te ondertekenen en te verifiëren. upload_certificate: Certificaat uploaden name: Naam @@ -7034,7 +7054,7 @@ nl: &nl password_has_been_changed: Wachtwoord is gewijzigd. email_integration: E-mailintegratie send_via_connected_email: Verzenden via gekoppeld e-mailaccount - activate_with_docuseal_pro: Activeren met DocuSeal Pro + activate_with_wabosign_pro: Activeren met WaboSign Pro send_signature_request_to_your_recipients_directly_from_your_email: Stuur een ondertekenverzoek rechtstreeks vanuit uw eigen e-mail naar uw ontvangers connect_gmail: Gmail verbinden re_connect_gmail: Gmail opnieuw verbinden @@ -7055,6 +7075,8 @@ nl: &nl sign_out: Afmelden page_number: Pagina %{number} powered_by: Aangedreven door + based_on: based on + view_on_github: View on GitHub qr_code: QR-code print: Afdrukken scan_the_qr_code_above_with_your_phone_camera_to_open_and_sign_this_document: Scan de bovenstaande QR-code met je telefooncamera om dit document te openen en te ondertekenen. @@ -7114,7 +7136,7 @@ nl: &nl upgrade_to_send_unlimited_signature_requests: Upgrade om onbeperkte ondertekenverzoeken te verzenden add_without_sending: Toevoegen zonder te verzenden upgade_now: Nu upgraden - send_signature_request_emails_without_limits_with_docuseal_pro: Verzend onbeperkt e-mails voor ondertekenverzoeken met DocuSeal Pro + send_signature_request_emails_without_limits_with_wabosign_pro: Verzend onbeperkt e-mails voor ondertekenverzoeken met WaboSign Pro count_emails_used: "%{count} e-mails gebruikt" has_been_connected: is verbonden sms_not_configured: SMS niet geconfigureerd @@ -7216,7 +7238,7 @@ nl: &nl new_user: Nieuwe gebruiker unarchive: Dearchiveren last_session: Laatste sessie - unlock_more_user_roles_with_docuseal_pro: Ontgrendel meer gebruikersrollen met DocuSeal Pro. + unlock_more_user_roles_with_wabosign_pro: Ontgrendel meer gebruikersrollen met WaboSign Pro. view_active: Actieve items bekijken team_account: Teamaccount team_accounts: Teamaccounts @@ -7428,7 +7450,7 @@ nl: &nl use_otp_code_to_sign_in_or_click_the_link_below_html: 'Gebruik de code %{code} om in te loggen of klik op de onderstaande link:' complete_sign_in: Inloggen voltooien please_reply_to_this_email_if_you_dont_recognize_this_sign_in_attempt: Reageer op deze e-mail als u deze aanmeldpoging niet herkent. - docuseal_support: DocuSeal Support + wabosign_support: WaboSign Support use_the_edit_form_to_move_it_to_another_team: Gebruik het bewerkingsformulier om het naar een ander team te verplaatsen. too_many_sms_attempts_try_again_in_a_few_seconds: Te veel SMS-pogingen. Probeer het over enkele seconden opnieuw. number_phone_number_is_invalid: Telefoonnummer +%{number} is ongeldig @@ -7437,25 +7459,25 @@ nl: &nl seamlessly_automate_your_document_signing_process_with_make_com: Automatiseer uw documentondertekeningsproces naadloos met Make.com. find_suitable_zapier_templates_to_automate_your_workflow: Vind geschikte Zapier-sjablonen om uw workflow te automatiseren. get_started: Aan de slag - click_here_to_learn_more_about_user_roles_and_permissions_html: Klik hier voor meer informatie over gebruikersrollen en machtigingen. + click_here_to_learn_more_about_user_roles_and_permissions_html: Klik hier voor meer informatie over gebruikersrollen en machtigingen. count_10_signature_request_emails_sent_this_month_upgrade_to_pro_to_send_unlimited_signature_request_email: "%{count} / 10 e-mails voor ondertekenverzoeken deze maand verzonden. Upgrade naar Pro om onbeperkt e-mails voor ondertekenverzoeken te verzenden." test_mode_emails_limit_will_be_reset_within_24_hours: Limiet voor testmodus-e-mails wordt binnen 24 uur opnieuw ingesteld. - on_a_scale_of_1_to_10_how_satisfied_are_you_with_the_docuseal_product_: Op een schaal van 1 tot 10, hoe tevreden bent u over het DocuSeal-product? + on_a_scale_of_1_to_10_how_satisfied_are_you_with_the_wabosign_product_: Op een schaal van 1 tot 10, hoe tevreden bent u over het WaboSign-product? tell_us_more_about_your_experience: Vertel ons meer over uw ervaring extremely_dissatisfied: Zeer ontevreden extremely_satisfied: Zeer tevreden your_pro_plan_payment_is_overdue: Uw betaling voor het Pro-abonnement is achterstallig. click_here_to_update_your_payment_details_and_clear_the_invoice_to_ensure_uninterrupted_service_html: Klik hier om uw betaalgegevens bij te werken en de factuur te voldoen om ononderbroken service te garanderen. overdue_payment: Achterstallige betaling - your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_docuseal_or_cancel_your_subscription: Uw Pro-abonnement is opgeschort vanwege onbetaalde facturen. U kunt uw betaalgegevens bijwerken om de factuur te voldoen en DocuSeal te blijven gebruiken of uw abonnement opzeggen. + your_pro_plan_has_been_suspended_due_to_unpaid_invoices_you_can_update_your_payment_details_to_settle_the_invoice_and_continue_using_wabosign_or_cancel_your_subscription: Uw Pro-abonnement is opgeschort vanwege onbetaalde facturen. U kunt uw betaalgegevens bijwerken om de factuur te voldoen en WaboSign te blijven gebruiken of uw abonnement opzeggen. manage_subscription: Abonnement beheren submission_created_by_email_html: "Inzending aangemaakt door %{email}" submission_created_by_email_via_source_html: "Inzending aangemaakt door %{email} via %{source}" submission_created_via_source_html: "Inzending aangemaakt via %{source}" pro_user_seats_used: Gebruikersplaatsen Pro gebruikt manage_plan: Abonnement beheren - this_submission_has_multiple_signers_which_prevents_the_use_of_a_sharing_link_html: Deze inzending heeft meerdere ondertekenaars, waardoor het gebruik van een deellink niet mogelijk is omdat onduidelijk is welke ondertekenaar verantwoordelijk is voor specifieke velden. Volg deze handleiding om de standaardgegevens van de ondertekenaar te definiëren. - welcome_to_docuseal: Welkom bij DocuSeal + this_submission_has_multiple_signers_which_prevents_the_use_of_a_sharing_link_html: Deze inzending heeft meerdere ondertekenaars, waardoor het gebruik van een deellink niet mogelijk is omdat onduidelijk is welke ondertekenaar verantwoordelijk is voor specifieke velden. Volg deze handleiding om de standaardgegevens van de ondertekenaar te definiëren. + welcome_to_wabosign: Welkom bij WaboSign start_a_quick_tour_to_learn_how_to_create_and_send_your_first_document: Start een korte rondleiding om te leren hoe u uw eerste document maakt en verzendt start_tour: Rondleiding starten name_a_z: Naam A-Z @@ -7527,13 +7549,13 @@ nl: &nl use_otp_code_to_access_the_api_key_html: Gebruik de code %{code} om toegang te krijgen tot de API-sleutel. please_reply_to_this_email_if_you_dont_recognize_this_request: Reageer op deze e-mail als u dit verzoek niet herkent. your_user_account_has_been_archived_contact_your_administrator_to_restore_access_to_your_account: Uw gebruikersaccount is gearchiveerd. Neem contact op met uw beheerder om de toegang tot uw account te herstellen. - your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Uw e-mailadres kon niet worden bereikt. Dit kan gebeuren als er een typefout in uw adres zit of als uw mailbox niet beschikbaar is. Neem contact op met support@docuseal.com om in te loggen. + your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: Uw e-mailadres kon niet worden bereikt. Dit kan gebeuren als er een typefout in uw adres zit of als uw mailbox niet beschikbaar is. Neem contact op met wabosign@wabo.cc om in te loggen. efficient_search_with_search_index: Efficiënt zoeken met zoekindex reindex: Opnieuw indexeren build_search_index: Zoekindex opbouwen require_two_factor_authentication_2fa_with_an_authenticator_app_e_g_google_authenticator_authy_all_users_signing_documents_must_pass_the_second_factor_verification_using_a_secure_code_in_addition_to_their_password: Tweeledige verificatie (2FA) met een authenticator-app (bijv. Google Authenticator, Authy) vereisen. Alle gebruikers die documenten ondertekenen moeten naast hun wachtwoord de tweede factor verifiëren met een beveiligde code. - add_a_unique_signature_id_and_timestamp_to_each_signature_for_audit_and_traceability_purposes_along_with_the_timestamp_part_of_docuseals_21_cfr_part_11_compliance_settings: Voeg voor audit- en traceerbaarheidsdoeleinden een unieke handtekening-ID en tijdstempel toe aan elke handtekening. Onderdeel van de 21 CFR Part 11-nalevingsinstellingen van DocuSeal. - require_signer_to_provide_a_reason_for_signing_before_completing_their_signature_e_g_approvals_certifications_part_of_docuseals_21_cfr_part_11_compliance_settings: Vereist dat de ondertekenaar vóór het voltooien van zijn handtekening een reden opgeeft (bijv. goedkeuringen, certificeringen). Onderdeel van de 21 CFR Part 11-nalevingsinstellingen van DocuSeal. + add_a_unique_signature_id_and_timestamp_to_each_signature_for_audit_and_traceability_purposes_along_with_the_timestamp_part_of_wabosigns_21_cfr_part_11_compliance_settings: Voeg voor audit- en traceerbaarheidsdoeleinden een unieke handtekening-ID en tijdstempel toe aan elke handtekening. Onderdeel van de 21 CFR Part 11-nalevingsinstellingen van WaboSign. + require_signer_to_provide_a_reason_for_signing_before_completing_their_signature_e_g_approvals_certifications_part_of_wabosigns_21_cfr_part_11_compliance_settings: Vereist dat de ondertekenaar vóór het voltooien van zijn handtekening een reden opgeeft (bijv. goedkeuringen, certificeringen). Onderdeel van de 21 CFR Part 11-nalevingsinstellingen van WaboSign. allow_signers_to_create_signatures_by_typing_their_name_instead_of_drawing_or_uploading_one: Sta ondertekenaars toe handtekeningen te maken door hun naam te typen in plaats van te tekenen of te uploaden. allow_signers_to_resubmit_forms_after_completion_useful_when_corrections_or_multiple_submissions_are_needed: Sta ondertekenaars toe formulieren na voltooiing opnieuw in te dienen; nuttig wanneer correcties of meerdere inzendingen nodig zijn. allow_recipients_to_decline_signing_a_document_the_decline_reason_notification_will_be_sent_to_the_signature_requester: Sta ontvangers toe het ondertekenen van een document te weigeren. De melding met de reden van weigering wordt naar de aanvrager van de handtekening gestuurd. @@ -7608,7 +7630,7 @@ nl: &nl mcp_token_has_been_removed: Het MCP-token is verwijderd. enable_mcp_server: MCP-server inschakelen all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled: Alle bestaande MCP-verbindingen worden onmiddellijk gestopt wanneer deze instelling wordt uitgeschakeld. - connect_to_docuseal_mcp: Verbinden met DocuSeal MCP + connect_to_wabosign_mcp: Verbinden met WaboSign MCP add_the_following_to_your_mcp_client_configuration: Voeg het volgende toe aan uw MCP-clientconfiguratie works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client: Werkt met Claude Desktop, Cursor, Windsurf, VS Code en elke MCP-compatibele client. your_email_address_has_been_changed: Uw e-mailadres is gewijzigd @@ -7708,7 +7730,7 @@ nl: &nl settings: Instellingen settings_account_description: Met uitgebreide accountinstellingen kunt u de eSigning-ervaring aanpassen en meer gebruikers uitnodigen. support: Ondersteuning - support_description: U kunt onze selfservice AI-assistent gebruiken of ons e-mailen op support@docuseal.com als u vragen heeft. + support_description: U kunt onze selfservice AI-assistent gebruiken of ons e-mailen op wabosign@wabo.cc als u vragen heeft. settings_template_description: Gebruik deze knop om naar uw accountinstellingenpagina te gaan. doorkeeper: scopes: @@ -7813,7 +7835,7 @@ ar: profile_details: تفاصيل الملف الشخصي sign_up_with_google: الاشتراك باستخدام جوجل sign_up_with_microsoft: الاشتراك باستخدام مايكروسوفت - by_creating_an_account_you_agree_to_our_html: 'من خلال إنشاء حساب، فإنك توافق على سياسة الخصوصية وشروط الخدمة الخاصة بنا.' + by_creating_an_account_you_agree_to_our_html: 'من خلال إنشاء حساب، فإنك توافق على سياسة الخصوصية وشروط الخدمة الخاصة بنا.' enter_email_to_continue: أدخل البريد الإلكتروني للمتابعة the_code_has_been_sent_to_your_email: تم إرسال الرمز إلى بريدك الإلكتروني. enter_the_verification_code_from_your_email: أدخل رمز التحقق من بريدك الإلكتروني. @@ -7821,6 +7843,8 @@ ar: verification_code: رمز التحقق resend_code: إعادة إرسال الرمز powered_by: 'مشغل بواسطة' + based_on: based on + view_on_github: View on GitHub count_documents_signed_with_html: 'تم توقيع %{count} مستندًا باستخدام' open_source_documents_software: 'برنامج مستندات مفتوح المصدر' eu_data_residency: 'بيانات في الاتحاد الأوروبي' @@ -7840,7 +7864,7 @@ ar: your_verification_code_to_access_the_name: 'رمز التحقق الخاص بك للوصول إلى "%{name}":' please_reply_to_this_email_if_you_didnt_request_this: 'يرجى الرد على هذا البريد إذا لم تطلب ذلك.' your_user_account_has_been_archived_contact_your_administrator_to_restore_access_to_your_account: تمت أرشفة حسابك. يرجى التواصل مع المسؤول لاستعادة الوصول إلى حسابك. - your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: تعذّر الوصول إلى بريدك الإلكتروني. قد يحدث هذا في حال وجود خطأ في العنوان أو إذا كان صندوق البريد غير متاح. يرجى التواصل مع support@docuseal.com لتسجيل الدخول. + your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: تعذّر الوصول إلى بريدك الإلكتروني. قد يحدث هذا في حال وجود خطأ في العنوان أو إذا كان صندوق البريد غير متاح. يرجى التواصل مع wabosign@wabo.cc لتسجيل الدخول. verification_required_refresh_the_page_and_pass_2fa: مطلوب التحقق. قم بتحديث الصفحة وأكمل المصادقة الثنائية. the_sender_has_requested_a_two_factor_authentication_via_one_time_password_sent_to_your_email_html: طلب المرسل المصادقة الثنائية عبر كلمة مرور لمرة واحدة مرسلة إلى عنوان بريدك الإلكتروني %{email}. please_contact_the_requester_to_specify_your_email_for_two_factor_authentication: يرجى الاتصال بالمرسل لتحديد عنوان بريدك الإلكتروني للمصادقة الثنائية. @@ -7914,7 +7938,7 @@ ko: profile_details: 프로필 세부 정보 sign_up_with_google: Google로 가입 sign_up_with_microsoft: Microsoft로 가입 - by_creating_an_account_you_agree_to_our_html: '계정을 생성함으로써, 개인정보 처리방침서비스 약관에 동의하게 됩니다.' + by_creating_an_account_you_agree_to_our_html: '계정을 생성함으로써, 개인정보 처리방침서비스 약관에 동의하게 됩니다.' enter_email_to_continue: 계속하려면 이메일을 입력하세요 the_code_has_been_sent_to_your_email: 코드가 이메일로 전송되었습니다. enter_the_verification_code_from_your_email: 이메일로 받은 인증 코드를 입력하세요. @@ -7922,6 +7946,8 @@ ko: verification_code: 인증 코드 resend_code: 코드 재전송 powered_by: '제공:' + based_on: based on + view_on_github: View on GitHub count_documents_signed_with_html: '%{count}개의 문서가 다음을 통해 서명됨' open_source_documents_software: '오픈소스 문서 소프트웨어' eu_data_residency: 'EU 데이터 저장 위치' @@ -7941,7 +7967,7 @@ ko: your_verification_code_to_access_the_name: '"%{name}"에 액세스하기 위한 인증 코드:' please_reply_to_this_email_if_you_didnt_request_this: 요청하지 않았다면 이 이메일에 회신하세요. your_user_account_has_been_archived_contact_your_administrator_to_restore_access_to_your_account: 사용자 계정이 보관되었습니다. 계정 접근을 복원하려면 관리자에게 문의하세요. - your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: 이메일에 접근할 수 없습니다. 주소에 오타가 있거나 메일박스가 사용 불가능한 경우 발생할 수 있습니다. 로그인하려면 support@docuseal.com에 문의하세요. + your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: 이메일에 접근할 수 없습니다. 주소에 오타가 있거나 메일박스가 사용 불가능한 경우 발생할 수 있습니다. 로그인하려면 wabosign@wabo.cc에 문의하세요. verification_required_refresh_the_page_and_pass_2fa: 인증이 필요합니다. 페이지를 새로 고치고 2단계 인증을 완료하세요. the_sender_has_requested_a_two_factor_authentication_via_one_time_password_sent_to_your_email_html: 발신자가 %{email} 이메일 주소로 전송된 일회용 비밀번호를 통해 2단계 인증을 요청했습니다. please_contact_the_requester_to_specify_your_email_for_two_factor_authentication: 2단계 인증을 위해 이메일 주소를 지정하려면 요청자에게 문의하세요. @@ -8015,7 +8041,7 @@ ja: profile_details: プロフィールの詳細 sign_up_with_google: Googleで登録 sign_up_with_microsoft: Microsoftで登録 - by_creating_an_account_you_agree_to_our_html: 'プライバシーポリシーおよび利用規約に同意の上、アカウントを作成します。' + by_creating_an_account_you_agree_to_our_html: 'プライバシーポリシーおよび利用規約に同意の上、アカウントを作成します。' enter_email_to_continue: 続行するにはメールを入力してください the_code_has_been_sent_to_your_email: コードがあなたのメールに送信されました enter_the_verification_code_from_your_email: メールに記載された認証コードを入力してください @@ -8023,6 +8049,8 @@ ja: verification_code: 認証コード resend_code: コードを再送信 powered_by: '提供元:' + based_on: based on + view_on_github: View on GitHub count_documents_signed_with_html: '%{count} 件のドキュメントが以下で署名されました' open_source_documents_software: 'オープンソースのドキュメントソフトウェア' eu_data_residency: 'EU データ保存場所' @@ -8042,7 +8070,7 @@ ja: your_verification_code_to_access_the_name: '"%{name}" へアクセスするための認証コード:' please_reply_to_this_email_if_you_didnt_request_this: このリクエストを行っていない場合は、このメールに返信してください。 your_user_account_has_been_archived_contact_your_administrator_to_restore_access_to_your_account: あなたのユーザーアカウントはアーカイブされました。アクセスを復元するには管理者に連絡してください。 - your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: メールにアクセスできませんでした。アドレスの入力ミスやメールボックスが利用できない場合に発生することがあります。ログインするには support@docuseal.com に連絡してください。 + your_email_could_not_be_reached_this_may_happen_if_there_was_a_typo_in_your_address_or_if_your_mailbox_is_not_available_please_contact_support_email_to_log_in: メールにアクセスできませんでした。アドレスの入力ミスやメールボックスが利用できない場合に発生することがあります。ログインするには wabosign@wabo.cc に連絡してください。 verification_required_refresh_the_page_and_pass_2fa: 認証が必要です。ページを更新して2段階認証を完了してください。 the_sender_has_requested_a_two_factor_authentication_via_one_time_password_sent_to_your_email_html: 送信者は、%{email} メールアドレスに送信されたワンタイムパスワードによる2段階認証を要求しました。 please_contact_the_requester_to_specify_your_email_for_two_factor_authentication: 2段階認証用にメールアドレスを指定するために、送信者にお問い合わせください。 diff --git a/config/routes.rb b/config/routes.rb index 3ae4c1b3..09a1d20f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -3,7 +3,7 @@ Rails.application.routes.draw do mount LetterOpenerWeb::Engine, at: '/letter_opener' if Rails.env.development? - if !Docuseal.multitenant? && defined?(Sidekiq::Web) + if !Wabosign.multitenant? && defined?(Sidekiq::Web) authenticated :user, ->(u) { u.sidekiq? } do mount Sidekiq::Web => '/jobs' end @@ -56,7 +56,7 @@ Rails.application.routes.draw do resources :account_custom_fields, only: %i[create] resources :user_configs, only: %i[create] resources :encrypted_user_configs, only: %i[destroy] - resources :timestamp_server, only: %i[create] unless Docuseal.multitenant? + resources :timestamp_server, only: %i[create] resources :dashboard, only: %i[index] resources :setup, only: %i[index create] resource :newsletter, only: %i[show update] @@ -99,7 +99,7 @@ Rails.application.routes.draw do resource :debug, only: %i[show], controller: 'templates_debug' if Rails.env.development? resources :documents, only: %i[index create], controller: 'template_documents' resources :clone_and_replace, only: %i[create], controller: 'templates_clone_and_replace' - resources :detect_fields, only: %i[create], controller: 'templates_detect_fields' unless Docuseal.multitenant? + resources :detect_fields, only: %i[create], controller: 'templates_detect_fields' resources :restore, only: %i[create], controller: 'templates_restore' resources :archived, only: %i[index], controller: 'templates_archived_submissions' resources :submissions, only: %i[new create] @@ -121,7 +121,7 @@ Rails.application.routes.draw do resource :blobs_proxy, only: %i[show], path: '/blobs_proxy/:signed_uuid/*filename', controller: 'api/active_storage_blobs_proxy' - if Docuseal.multitenant? + if Wabosign.multitenant? resource :blobs_proxy_legacy, only: %i[show], path: '/blobs/proxy/:signed_id/*filename', controller: 'api/active_storage_blobs_proxy_legacy', @@ -174,13 +174,13 @@ Rails.application.routes.draw do end scope '/settings', as: :settings do - unless Docuseal.multitenant? + unless Wabosign.multitenant? resources :storage, only: %i[index create], controller: 'storage_settings' resources :search_entries_reindex, only: %i[create] resources :sms, only: %i[index], controller: 'sms_settings' resources :mcp, only: %i[index new create destroy], controller: 'mcp_settings' end - if Docuseal.demo? || !Docuseal.multitenant? + if Wabosign.demo? || !Wabosign.multitenant? resources :api, only: %i[index create], controller: 'api_settings' resource :reveal_access_token, only: %i[show create], controller: 'reveal_access_token' end diff --git a/db/migrate/20240428112400_populate_account_linked_accounts.rb b/db/migrate/20240428112400_populate_account_linked_accounts.rb index 02103330..292fa9fe 100644 --- a/db/migrate/20240428112400_populate_account_linked_accounts.rb +++ b/db/migrate/20240428112400_populate_account_linked_accounts.rb @@ -10,7 +10,7 @@ class PopulateAccountLinkedAccounts < ActiveRecord::Migration[7.1] end def up - return if Docuseal.multitenant? + return if Wabosign.multitenant? MigrationAccount.order(:id).each do |account| next if account.id == 1 diff --git a/db/migrate/20260515183000_rename_docuseal_aatl_cert.rb b/db/migrate/20260515183000_rename_docuseal_aatl_cert.rb new file mode 100644 index 00000000..9276c9e2 --- /dev/null +++ b/db/migrate/20260515183000_rename_docuseal_aatl_cert.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +class RenameDocusealAatlCert < ActiveRecord::Migration[8.1] + def up + return unless defined?(EncryptedConfig) + + EncryptedConfig.where(key: EncryptedConfig::ESIGN_CERTS_KEY).find_each do |config| + custom = config.value['custom'] + next unless custom.is_a?(Array) + + changed = false + custom.each do |entry| + next unless entry.is_a?(Hash) && entry['name'] == 'docuseal_aatl' + + entry['name'] = 'wabosign_aatl' + changed = true + end + + config.save!(touch: false) if changed + end + end + + def down + return unless defined?(EncryptedConfig) + + EncryptedConfig.where(key: EncryptedConfig::ESIGN_CERTS_KEY).find_each do |config| + custom = config.value['custom'] + next unless custom.is_a?(Array) + + changed = false + custom.each do |entry| + next unless entry.is_a?(Hash) && entry['name'] == 'wabosign_aatl' + + entry['name'] = 'docuseal_aatl' + changed = true + end + + config.save!(touch: false) if changed + end + end +end diff --git a/docker-compose.yml b/docker-compose.yml index fcc697be..ba6171d3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,14 +3,14 @@ services: depends_on: postgres: condition: service_healthy - image: docuseal/docuseal:latest + image: wabolabs/wabosign:latest ports: - 3000:3000 volumes: - - ./docuseal:/data/docuseal + - ./wabosign:/data/wabosign environment: - FORCE_SSL=${HOST} - - DATABASE_URL=postgresql://postgres:postgres@postgres:5432/docuseal + - DATABASE_URL=postgresql://postgres:postgres@postgres:5432/wabosign postgres: image: postgres:18 @@ -19,7 +19,7 @@ services: environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres - POSTGRES_DB: docuseal + POSTGRES_DB: wabosign healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 5s diff --git a/docs/openapi.json b/docs/openapi.json index 9afd740c..2345eee8 100644 --- a/docs/openapi.json +++ b/docs/openapi.json @@ -2,22 +2,22 @@ "openapi": "3.0.0", "servers": [ { - "url": "https://api.docuseal.com", - "description": "Global Server" + "url": "https://sign.wabo.cc/api", + "description": "Production" }, { - "url": "https://api.docuseal.eu", + "url": "https://sign.wabo.cc/api", "description": "EU Server" } ], "info": { "version": "1.0.0", - "title": "DocuSeal API", - "description": "DocuSeal API specs", + "title": "WaboSign API", + "description": "WaboSign API specs (forked from DocuSeal, AGPLv3)", "contact": { - "name": "DocuSeal", - "email": "admin@docuseal.com", - "url": "https://www.docuseal.com" + "name": "WaboSign", + "email": "wabosign@wabo.cc", + "url": "https://sign.wabo.cc" } }, "components": { diff --git a/lib/account_configs.rb b/lib/account_configs.rb index 06fec78f..99a530d0 100644 --- a/lib/account_configs.rb +++ b/lib/account_configs.rb @@ -30,7 +30,7 @@ module AccountConfigs def find_for_account(account, key) configs = account.account_configs.find_by(key:) - configs ||= Account.order(:id).first.account_configs.find_by(key:) unless Docuseal.multitenant? + configs ||= Account.order(:id).first.account_configs.find_by(key:) unless Wabosign.multitenant? configs end diff --git a/lib/accounts.rb b/lib/accounts.rb index 41b7d761..2dd99849 100644 --- a/lib/accounts.rb +++ b/lib/accounts.rb @@ -13,7 +13,7 @@ module Accounts new_user.uuid = SecureRandom.uuid new_user.account = new_account new_user.encrypted_password = SecureRandom.hex - new_user.email = "#{SecureRandom.hex}@docuseal.com" + new_user.email = "#{SecureRandom.hex}@#{Wabosign::HOST}" account.templates.each do |template| new_template = template.dup @@ -107,22 +107,22 @@ module Accounts def load_signing_pkcs(account) cert_data = - if Docuseal.multitenant? + if Wabosign.multitenant? data = EncryptedConfig.find_by(account:, key: EncryptedConfig::ESIGN_CERTS_KEY)&.value - return Docuseal.default_pkcs if data.blank? + return Wabosign.default_pkcs if data.blank? data else - return Docuseal.default_pkcs if Docuseal::CERTS.present? + return Wabosign.default_pkcs if Wabosign::CERTS.present? EncryptedConfig.find_by(account:, key: EncryptedConfig::ESIGN_CERTS_KEY)&.value || EncryptedConfig.find_by(key: EncryptedConfig::ESIGN_CERTS_KEY).value end if (default_cert = cert_data['custom']&.find { |e| e['status'] == 'default' }) - if default_cert['name'] == Docuseal::AATL_CERT_NAME - Docuseal.default_pkcs + if default_cert['name'] == Wabosign::AATL_CERT_NAME + Wabosign.default_pkcs else OpenSSL::PKCS12.new(Base64.urlsafe_decode64(default_cert['data']), default_cert['password'].to_s) end @@ -132,12 +132,12 @@ module Accounts end def load_timeserver_url(account) - if Docuseal.multitenant? - Docuseal::TIMESERVER_URL + if Wabosign.multitenant? + Wabosign::TIMESERVER_URL else url = EncryptedConfig.find_by(account:, key: EncryptedConfig::TIMESTAMP_SERVER_URL_KEY)&.value - unless Docuseal.multitenant? + unless Wabosign.multitenant? url ||= Account.order(:id).first.encrypted_configs.find_by(key: EncryptedConfig::TIMESTAMP_SERVER_URL_KEY)&.value end @@ -148,12 +148,12 @@ module Accounts def load_trusted_certs(account) cert_data = - if Docuseal.multitenant? + if Wabosign.multitenant? value = EncryptedConfig.find_by(account:, key: EncryptedConfig::ESIGN_CERTS_KEY)&.value || {} - Docuseal::CERTS.merge(value) - elsif Docuseal::CERTS.present? - Docuseal::CERTS + Wabosign::CERTS.merge(value) + elsif Wabosign::CERTS.present? + Wabosign::CERTS else EncryptedConfig.find_by(key: EncryptedConfig::ESIGN_CERTS_KEY)&.value || {} end @@ -170,11 +170,11 @@ module Accounts *default_pkcs.ca_certs, *custom_certs.map(&:certificate), *custom_certs.flat_map(&:ca_certs).compact, - *Docuseal.trusted_certs] + *Wabosign.trusted_certs] end def can_send_emails?(_account, **_params) - return true if Docuseal.multitenant? + return true if Wabosign.multitenant? return true if Rails.env.development? return true if ENV['SMTP_ADDRESS'].present? diff --git a/lib/action_mailer_configs_interceptor.rb b/lib/action_mailer_configs_interceptor.rb index 5b2ad19b..01631795 100644 --- a/lib/action_mailer_configs_interceptor.rb +++ b/lib/action_mailer_configs_interceptor.rb @@ -9,7 +9,7 @@ module ActionMailerConfigsInterceptor def delivering_email(message) return message unless Rails.env.production? - if Docuseal.demo? + if Wabosign.demo? message.delivery_method(:test) return message @@ -27,7 +27,7 @@ module ActionMailerConfigsInterceptor return message end - unless Docuseal.multitenant? + unless Wabosign.multitenant? email_configs = EncryptedConfig.order(:account_id).find_by(key: EncryptedConfig::EMAIL_SMTP_KEY) if email_configs diff --git a/lib/download_utils.rb b/lib/download_utils.rb index 8b352502..75a30c73 100644 --- a/lib/download_utils.rb +++ b/lib/download_utils.rb @@ -35,7 +35,7 @@ module DownloadUtils module_function - def call(url, validate: Docuseal.multitenant?) + def call(url, validate: Wabosign.multitenant?) uri = begin URI(url) rescue URI::Error @@ -57,7 +57,7 @@ module DownloadUtils raise UnableToDownload, "Error loading: #{uri}. Can't download from localhost." if uri.host.in?(LOCALHOSTS) end - def conn(validate: Docuseal.multitenant?) + def conn(validate: Wabosign.multitenant?) Faraday.new do |faraday| faraday.response :follow_redirects, callback: lambda { |_, new_env| validate_uri!(new_env[:url]) if validate diff --git a/lib/generate_certificate.rb b/lib/generate_certificate.rb index 4803c69b..f0d44f38 100644 --- a/lib/generate_certificate.rb +++ b/lib/generate_certificate.rb @@ -7,7 +7,7 @@ module GenerateCertificate module_function - def call(name = Docuseal.product_name) + def call(name = Wabosign.product_name) root_cert, root_key = generate_root_ca(name) sub_cert, sub_key = generate_sub_ca(name, root_cert, root_key) diff --git a/lib/load_active_storage_configs.rb b/lib/load_active_storage_configs.rb index d3f308fe..bb086b1a 100644 --- a/lib/load_active_storage_configs.rb +++ b/lib/load_active_storage_configs.rb @@ -16,7 +16,7 @@ module LoadActiveStorageConfigs end def reload - return if Docuseal.multitenant? + return if Wabosign.multitenant? return if IS_ENV_CONFIGURED return if Rails.env.test? return if Rails.env.development? diff --git a/lib/mcp/handle_request.rb b/lib/mcp/handle_request.rb index 83d6725f..70fd628c 100644 --- a/lib/mcp/handle_request.rb +++ b/lib/mcp/handle_request.rb @@ -26,8 +26,8 @@ module Mcp result: { protocolVersion: '2025-11-25', serverInfo: { - name: 'DocuSeal', - version: Docuseal.version.to_s + name: Wabosign.product_name, + version: Wabosign.version.to_s }, capabilities: { tools: { diff --git a/lib/mcp/tools/create_template.rb b/lib/mcp/tools/create_template.rb index f19b353e..04a7b36e 100644 --- a/lib/mcp/tools/create_template.rb +++ b/lib/mcp/tools/create_template.rb @@ -90,7 +90,7 @@ module Mcp id: template.id, name: template.name, edit_url: Rails.application.routes.url_helpers.edit_template_url(template, - **Docuseal.default_url_options) + **Wabosign.default_url_options) }.to_json } ] diff --git a/lib/mcp/tools/search_documents.rb b/lib/mcp/tools/search_documents.rb index bf1f56f5..471db764 100644 --- a/lib/mcp/tools/search_documents.rb +++ b/lib/mcp/tools/search_documents.rb @@ -44,7 +44,7 @@ module Mcp data = submissions.map do |submission| url = Rails.application.routes.url_helpers.submission_url( - submission.id, **Docuseal.default_url_options + submission.id, **Wabosign.default_url_options ) { diff --git a/lib/rate_limit.rb b/lib/rate_limit.rb index 3f01705c..62677de1 100644 --- a/lib/rate_limit.rb +++ b/lib/rate_limit.rb @@ -7,7 +7,7 @@ module RateLimit module_function - def call(key, limit:, ttl:, enabled: Docuseal.multitenant?) + def call(key, limit:, ttl:, enabled: Wabosign.multitenant?) return true unless enabled value = STORE.increment(key, 1, expires_in: ttl) diff --git a/lib/replace_email_variables.rb b/lib/replace_email_variables.rb index 392c585d..5ec557ca 100644 --- a/lib/replace_email_variables.rb +++ b/lib/replace_email_variables.rb @@ -159,18 +159,18 @@ module ReplaceEmailVariables end def build_url_options_for(submitter, is_email: true) - if Docuseal.multitenant? && + if Wabosign.multitenant? && (config = AccountConfig.find_by(account_id: submitter.account_id, key: :custom_domain)) { host: config.value, protocol: 'https' } elsif is_email && EMAIL_HOST.present? { host: EMAIL_HOST, protocol: ENV['FORCE_SSL'].present? ? 'https' : 'http' } else - Docuseal.default_url_options + Wabosign.default_url_options end end def build_submission_link(submission) - Rails.application.routes.url_helpers.submission_url(submission, **Docuseal.default_url_options) + Rails.application.routes.url_helpers.submission_url(submission, **Wabosign.default_url_options) end def build_submission_submitters(submission) diff --git a/lib/send_webhook_request.rb b/lib/send_webhook_request.rb index 2eb346e9..6d0aef25 100644 --- a/lib/send_webhook_request.rb +++ b/lib/send_webhook_request.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module SendWebhookRequest - USER_AGENT = 'DocuSeal.com Webhook' + USER_AGENT = 'WaboSign Webhook' LOCALHOSTS = DownloadUtils::LOCALHOSTS @@ -17,7 +17,7 @@ module SendWebhookRequest def call(webhook_url, event_uuid:, event_type:, record:, data:, attempt: 0) uri = parse_uri(webhook_url.url) - if Docuseal.multitenant? + if Wabosign.multitenant? raise HttpsError, 'Only HTTPS is allowed.' if (uri.scheme != 'https' || [443, nil].exclude?(uri.port)) && !AccountConfig.exists?(key: :allow_http, account_id: webhook_url.account_id) @@ -39,7 +39,7 @@ module SendWebhookRequest data: data }.to_json - req.headers['X-Docuseal-Signature'] = WebhookUrls::Signatures.sign(webhook_url.hmac_secret, body: req.body) + req.headers['X-Wabosign-Signature'] = WebhookUrls::Signatures.sign(webhook_url.hmac_secret, body: req.body) req.options.read_timeout = 15 req.options.open_timeout = 8 diff --git a/lib/submissions.rb b/lib/submissions.rb index 33081926..8c7df844 100644 --- a/lib/submissions.rb +++ b/lib/submissions.rb @@ -6,7 +6,7 @@ module Submissions module_function def search(current_user, submissions, keyword, search_values: false, search_template: false) - if Docuseal.fulltext_search? + if Wabosign.fulltext_search? fulltext_search(current_user, submissions, keyword, search_template:) else plain_search(submissions, keyword, search_values:, search_template:) diff --git a/lib/submissions/generate_audit_trail.rb b/lib/submissions/generate_audit_trail.rb index 35736652..45d04048 100644 --- a/lib/submissions/generate_audit_trail.rb +++ b/lib/submissions/generate_audit_trail.rb @@ -43,7 +43,7 @@ module Submissions io = StringIO.new - document.trailer.info[:Creator] = "#{Docuseal.product_name} (#{Docuseal::PRODUCT_URL})" + document.trailer.info[:Creator] = "#{Wabosign.product_name} (#{Wabosign::PRODUCT_URL})" if pkcs sign_params = { @@ -72,7 +72,7 @@ module Submissions def build_audit_trail(submission) account = submission.account verify_url = Rails.application.routes.url_helpers.settings_esign_url( - **Docuseal.default_url_options, host: ENV.fetch('EMAIL_HOST', Docuseal.default_url_options[:host]) + **Wabosign.default_url_options, host: ENV.fetch('EMAIL_HOST', Wabosign.default_url_options[:host]) ) page_size = @@ -84,7 +84,7 @@ module Submissions composer = HexaPDF::Composer.new(skip_page_creation: true) - if Docuseal.pdf_format == 'pdf/a-3b' + if Wabosign.pdf_format == 'pdf/a-3b' composer.document.task(:pdfa, level: '3b') elsif FONT_NAME == 'GoNotoKurrent' composer.document.task(:pdfa) @@ -404,7 +404,7 @@ module Submissions if with_file_links ActiveStorage::Blob.proxy_url(attachment.blob) else - r.submissions_preview_url(submission.slug, **Docuseal.default_url_options) + r.submissions_preview_url(submission.slug, **Wabosign.default_url_options) end { link:, text: "#{attachment.filename}\n", style: :link } @@ -511,7 +511,7 @@ module Submissions end def sign_reason - 'Signed with DocuSeal.com' + "Signed with #{Wabosign.product_name}" end def select_attachments(submitter) @@ -533,8 +533,8 @@ module Submissions def add_logo(column, _submission = nil) column.image(PdfIcons.logo_io, width: 40, height: 40, position: :float) - column.formatted_text([{ text: 'DocuSeal', - link: Docuseal::PRODUCT_EMAIL_URL }], + column.formatted_text([{ text: Wabosign.product_name, + link: Wabosign::PRODUCT_EMAIL_URL }], font_size: 20, font: [FONT_NAME, { variant: :bold }], width: 100, diff --git a/lib/submissions/generate_combined_attachment.rb b/lib/submissions/generate_combined_attachment.rb index bafd20a7..3320e2b6 100644 --- a/lib/submissions/generate_combined_attachment.rb +++ b/lib/submissions/generate_combined_attachment.rb @@ -15,9 +15,9 @@ module Submissions io = StringIO.new - pdf.trailer.info[:Creator] = "#{Docuseal.product_name} (#{Docuseal::PRODUCT_URL})" + pdf.trailer.info[:Creator] = "#{Wabosign.product_name} (#{Wabosign::PRODUCT_URL})" - if Docuseal.pdf_format == 'pdf/a-3b' + if Wabosign.pdf_format == 'pdf/a-3b' pdf.task(:pdfa, level: '3b') pdf.config['font.map'] = GenerateResultAttachments::PDFA_FONT_MAP end diff --git a/lib/submissions/generate_export_files.rb b/lib/submissions/generate_export_files.rb index f1096db2..3714a3e3 100644 --- a/lib/submissions/generate_export_files.rb +++ b/lib/submissions/generate_export_files.rb @@ -114,7 +114,7 @@ module Submissions }, { name: column_name(I18n.t('link'), submitter_name, submitters_count), - value: submitter.completed_at? ? nil : r.submit_form_url(slug: submitter.slug, **Docuseal.default_url_options) + value: submitter.completed_at? ? nil : r.submit_form_url(slug: submitter.slug, **Wabosign.default_url_options) } ].reject { |e| e[:value].blank? } end diff --git a/lib/submissions/generate_result_attachments.rb b/lib/submissions/generate_result_attachments.rb index a26025d8..c4d24a1d 100644 --- a/lib/submissions/generate_result_attachments.rb +++ b/lib/submissions/generate_result_attachments.rb @@ -37,7 +37,7 @@ module Submissions bold_italic: FONT_BOLD_NAME }.freeze - SIGN_REASON = 'Signed with DocuSeal.com' + SIGN_REASON = "Signed with #{Wabosign.product_name}".freeze RTL_REGEXP = TextUtils::RTL_REGEXP @@ -242,7 +242,7 @@ module Submissions next if e.is_a?(Integer) || e.is_a?(Symbol) || e.is_a?(HexaPDF::PDFArray) e.present? && e[:A] && !e[:A].is_a?(HexaPDF::PDFArray) && - e[:A][:URI].to_s.starts_with?('file:///docuseal_field') + e[:A][:URI].to_s.starts_with?('file:///wabosign_field') end || page[:Annots] width = page.box.width @@ -506,7 +506,7 @@ module Submissions if with_file_links ActiveStorage::Blob.proxy_url(attachment.blob) else - r.submissions_preview_url(submission.slug, **Docuseal.default_url_options) + r.submissions_preview_url(submission.slug, **Wabosign.default_url_options) end page[:Annots] << pdf.add( @@ -730,7 +730,7 @@ module Submissions pdf.trailer.info[:Creator] = info_creator - if Docuseal.pdf_format == 'pdf/a-3b' + if Wabosign.pdf_format == 'pdf/a-3b' pdf.task(:pdfa, level: '3b') pdf.config['font.map'] = PDFA_FONT_MAP end @@ -984,7 +984,7 @@ module Submissions reason_name = submitter.email || submitter.name || submitter.phone config = - if Docuseal.multitenant? + if Wabosign.multitenant? AccountConfig.where(account: submitter.account, key: AccountConfig::ESIGNING_PREFERENCE_KEY) .first_or_initialize(value: 'single') else @@ -1003,7 +1003,7 @@ module Submissions end def info_creator - "#{Docuseal.product_name} (#{Docuseal::PRODUCT_URL})" + "#{Wabosign.product_name} (#{Wabosign::PRODUCT_URL})" end def detached_signature?(_submitter) diff --git a/lib/submitters.rb b/lib/submitters.rb index 6e14b594..172df04a 100644 --- a/lib/submitters.rb +++ b/lib/submitters.rb @@ -30,7 +30,7 @@ module Submitters module_function def search(current_user, submitters, keyword) - if Docuseal.fulltext_search? + if Wabosign.fulltext_search? fulltext_search(current_user, submitters, keyword) else plain_search(submitters, keyword) diff --git a/lib/submitters/form_configs.rb b/lib/submitters/form_configs.rb index 1b21fa70..64e39788 100644 --- a/lib/submitters/form_configs.rb +++ b/lib/submitters/form_configs.rb @@ -18,7 +18,7 @@ module Submitters AccountConfig::WITH_SUBMITTER_TIMEZONE_KEY, AccountConfig::WITH_TIMESTAMP_SECONDS_KEY, AccountConfig::WITH_SIGNATURE_ID_REASON_KEY, - *(Docuseal.multitenant? ? [] : [AccountConfig::POLICY_LINKS_KEY])].freeze + *(Wabosign.multitenant? ? [] : [AccountConfig::POLICY_LINKS_KEY])].freeze module_function diff --git a/lib/submitters/serialize_for_api.rb b/lib/submitters/serialize_for_api.rb index db76b3c8..ea349799 100644 --- a/lib/submitters/serialize_for_api.rb +++ b/lib/submitters/serialize_for_api.rb @@ -46,7 +46,7 @@ module Submitters if with_urls additional_attrs['embed_src'] = - Rails.application.routes.url_helpers.submit_form_url(slug: submitter.slug, **Docuseal.default_url_options) + Rails.application.routes.url_helpers.submit_form_url(slug: submitter.slug, **Wabosign.default_url_options) end submitter.as_json(SERIALIZE_PARAMS).merge(additional_attrs) diff --git a/lib/submitters/serialize_for_webhook.rb b/lib/submitters/serialize_for_webhook.rb index 4eb7a715..43de61a6 100644 --- a/lib/submitters/serialize_for_webhook.rb +++ b/lib/submitters/serialize_for_webhook.rb @@ -33,7 +33,7 @@ module Submitters 'values' => values, 'documents' => documents, 'audit_log_url' => submitter.submission.audit_log_url(expires_at:), - 'submission_url' => r.submissions_preview_url(submission.slug, **Docuseal.default_url_options), + 'submission_url' => r.submissions_preview_url(submission.slug, **Wabosign.default_url_options), 'template' => submission.template.as_json( only: %i[id name external_id created_at updated_at], methods: %i[folder_name] ), @@ -42,7 +42,7 @@ module Submitters 'audit_log_url' => submission.audit_log_url(expires_at:), 'combined_document_url' => submission.combined_document_url(expires_at:), 'status' => build_submission_status(submission), - 'url' => r.submissions_preview_url(submission.slug, **Docuseal.default_url_options), + 'url' => r.submissions_preview_url(submission.slug, **Wabosign.default_url_options), 'variables' => (submission.variables || {}).as_json, 'created_at' => submission.created_at.as_json }) diff --git a/lib/templates.rb b/lib/templates.rb index ad45a3fc..21445766 100644 --- a/lib/templates.rb +++ b/lib/templates.rb @@ -44,7 +44,7 @@ module Templates end def search(current_user, templates, keyword) - if Docuseal.fulltext_search? + if Wabosign.fulltext_search? fulltext_search(current_user, templates, keyword) else plain_search(templates, keyword) diff --git a/lib/templates/image_to_fields.rb b/lib/templates/image_to_fields.rb index 3dcd97d3..d8660611 100755 --- a/lib/templates/image_to_fields.rb +++ b/lib/templates/image_to_fields.rb @@ -524,7 +524,7 @@ module Templates inter_op_num_threads: 1, intra_op_num_threads: CPU_THREADS, enable_mem_pattern: false, - enable_cpu_mem_arena: Docuseal.multitenant? || Rails.env.development?, + enable_cpu_mem_arena: Wabosign.multitenant? || Rails.env.development?, providers: ['CPUExecutionProvider'] ) end diff --git a/lib/docuseal.rb b/lib/wabosign.rb similarity index 79% rename from lib/docuseal.rb rename to lib/wabosign.rb index 98caaf72..95571363 100644 --- a/lib/docuseal.rb +++ b/lib/wabosign.rb @@ -1,38 +1,37 @@ # frozen_string_literal: true -module Docuseal - PRODUCT_URL = 'https://www.docuseal.com' +module Wabosign + PRODUCT_URL = ENV.fetch('PRODUCT_URL', 'https://sign.wabo.cc') PRODUCT_EMAIL_URL = ENV.fetch('PRODUCT_EMAIL_URL', PRODUCT_URL) NEWSLETTER_URL = "#{PRODUCT_URL}/newsletters".freeze ENQUIRIES_URL = "#{PRODUCT_URL}/enquiries".freeze - PRODUCT_NAME = 'DocuSeal' + PRODUCT_NAME = 'WaboSign' + # AGPLv3 §7(b) upstream attribution — must remain visible in interactive UIs. + UPSTREAM_NAME = 'DocuSeal' + UPSTREAM_URL = 'https://github.com/docusealco/docuseal' DEFAULT_APP_URL = ENV.fetch('APP_URL', 'http://localhost:3000') - GITHUB_URL = 'https://github.com/docusealco/docuseal' - DISCORD_URL = 'https://discord.gg/qygYCDGck9' - TWITTER_URL = 'https://twitter.com/docusealco' - TWITTER_HANDLE = '@docusealco' - CHATGPT_URL = "#{PRODUCT_URL}/chat".freeze - SUPPORT_EMAIL = 'support@docuseal.com' + GITHUB_URL = 'https://github.com/wabolabs/wabosign' + SUPPORT_EMAIL = 'wabosign@wabo.cc' HOST = ENV.fetch('HOST', 'localhost') - AATL_CERT_NAME = 'docuseal_aatl' + AATL_CERT_NAME = 'wabosign_aatl' CONSOLE_URL = if Rails.env.development? 'http://console.localhost.io:3001' elsif ENV['MULTITENANT'] == 'true' "https://console.#{HOST}" else - 'https://console.docuseal.com' + "https://console.#{HOST}" end CLOUD_URL = if Rails.env.development? 'http://localhost:3000' else - 'https://docuseal.com' + PRODUCT_URL end CDN_URL = if Rails.env.development? 'http://localhost:3000' elsif ENV['MULTITENANT'] == 'true' "https://cdn.#{HOST}" else - 'https://cdn.docuseal.com' + "https://cdn.#{HOST}" end CERTS = JSON.parse(ENV.fetch('CERTS', '{}')) @@ -73,9 +72,9 @@ module Docuseal end def default_pkcs - return if Docuseal::CERTS['enabled'] == false + return if Wabosign::CERTS['enabled'] == false - @default_pkcs ||= GenerateCertificate.load_pkcs(Docuseal::CERTS) + @default_pkcs ||= GenerateCertificate.load_pkcs(Wabosign::CERTS) end def fulltext_search? @@ -83,7 +82,7 @@ module Docuseal @fulltext_search = if SearchEntry.table_exists? - Docuseal.multitenant? || AccountConfig.exists?(key: :fulltext_search, value: true) + Wabosign.multitenant? || AccountConfig.exists?(key: :fulltext_search, value: true) else false end diff --git a/lib/webhook_urls.rb b/lib/webhook_urls.rb index 242c274c..9eefddab 100644 --- a/lib/webhook_urls.rb +++ b/lib/webhook_urls.rb @@ -30,7 +30,7 @@ module WebhookUrls event_arel = events.map { |event| Arel::Table.new(:webhook_urls)[:events].matches("%\"#{event}\"%") }.reduce(:or) - if Docuseal.multitenant? || account_id == 1 + if Wabosign.multitenant? || account_id == 1 rel.where(event_arel) else linked_account_rel = diff --git a/public/apple-icon-180x180.png b/public/apple-icon-180x180.png index 919ad8c7..478de00a 100644 Binary files a/public/apple-icon-180x180.png and b/public/apple-icon-180x180.png differ diff --git a/public/apple-touch-icon-precomposed.png b/public/apple-touch-icon-precomposed.png index 919ad8c7..478de00a 100644 Binary files a/public/apple-touch-icon-precomposed.png and b/public/apple-touch-icon-precomposed.png differ diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png index 919ad8c7..478de00a 100644 Binary files a/public/apple-touch-icon.png and b/public/apple-touch-icon.png differ diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png index 7d7163b5..d036cb54 100644 Binary files a/public/favicon-16x16.png and b/public/favicon-16x16.png differ diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png index 59fc2b68..f4c14e6d 100644 Binary files a/public/favicon-32x32.png and b/public/favicon-32x32.png differ diff --git a/public/favicon-96x96.png b/public/favicon-96x96.png index 308cd5ea..a807e53e 100644 Binary files a/public/favicon-96x96.png and b/public/favicon-96x96.png differ diff --git a/public/favicon.ico b/public/favicon.ico index 263fcb87..fd57bbc1 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/favicon.svg b/public/favicon.svg index 6a8ca304..4a7426cd 100644 --- a/public/favicon.svg +++ b/public/favicon.svg @@ -1,5 +1,4 @@ - - - - + + + diff --git a/public/logo.svg b/public/logo.svg index ffe97101..4a7426cd 100644 --- a/public/logo.svg +++ b/public/logo.svg @@ -1,4 +1,4 @@ - - - + + + diff --git a/public/preview.png b/public/preview.png index 9cbbfd0d..478de00a 100644 Binary files a/public/preview.png and b/public/preview.png differ diff --git a/spec/jobs/send_form_completed_webhook_request_job_spec.rb b/spec/jobs/send_form_completed_webhook_request_job_spec.rb index 6eb7cdf8..a2d6f0fd 100644 --- a/spec/jobs/send_form_completed_webhook_request_job_spec.rb +++ b/spec/jobs/send_form_completed_webhook_request_job_spec.rb @@ -36,7 +36,7 @@ RSpec.describe SendFormCompletedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook' + 'User-Agent' => 'WaboSign Webhook' } ).once end @@ -54,7 +54,7 @@ RSpec.describe SendFormCompletedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook', + 'User-Agent' => 'WaboSign Webhook', 'X-Secret-Header' => 'secret_value' } ).once diff --git a/spec/jobs/send_form_declined_webhook_request_job_spec.rb b/spec/jobs/send_form_declined_webhook_request_job_spec.rb index 99f26eef..869a4d06 100644 --- a/spec/jobs/send_form_declined_webhook_request_job_spec.rb +++ b/spec/jobs/send_form_declined_webhook_request_job_spec.rb @@ -36,7 +36,7 @@ RSpec.describe SendFormDeclinedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook' + 'User-Agent' => 'WaboSign Webhook' } ).once end @@ -54,7 +54,7 @@ RSpec.describe SendFormDeclinedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook', + 'User-Agent' => 'WaboSign Webhook', 'X-Secret-Header' => 'secret_value' } ).once diff --git a/spec/jobs/send_form_started_webhook_request_job_spec.rb b/spec/jobs/send_form_started_webhook_request_job_spec.rb index 54a5c521..4a44a4cf 100644 --- a/spec/jobs/send_form_started_webhook_request_job_spec.rb +++ b/spec/jobs/send_form_started_webhook_request_job_spec.rb @@ -36,7 +36,7 @@ RSpec.describe SendFormStartedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook' + 'User-Agent' => 'WaboSign Webhook' } ).once end @@ -54,7 +54,7 @@ RSpec.describe SendFormStartedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook', + 'User-Agent' => 'WaboSign Webhook', 'X-Secret-Header' => 'secret_value' } ).once diff --git a/spec/jobs/send_form_viewed_webhook_request_job_spec.rb b/spec/jobs/send_form_viewed_webhook_request_job_spec.rb index 5cbed3c3..63110907 100644 --- a/spec/jobs/send_form_viewed_webhook_request_job_spec.rb +++ b/spec/jobs/send_form_viewed_webhook_request_job_spec.rb @@ -36,7 +36,7 @@ RSpec.describe SendFormViewedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook' + 'User-Agent' => 'WaboSign Webhook' } ).once end @@ -54,7 +54,7 @@ RSpec.describe SendFormViewedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook', + 'User-Agent' => 'WaboSign Webhook', 'X-Secret-Header' => 'secret_value' } ).once diff --git a/spec/jobs/send_submission_archived_webhook_request_job_spec.rb b/spec/jobs/send_submission_archived_webhook_request_job_spec.rb index 6124ebe3..dbc0a3b9 100644 --- a/spec/jobs/send_submission_archived_webhook_request_job_spec.rb +++ b/spec/jobs/send_submission_archived_webhook_request_job_spec.rb @@ -29,7 +29,7 @@ RSpec.describe SendSubmissionArchivedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook' + 'User-Agent' => 'WaboSign Webhook' } ).once end @@ -47,7 +47,7 @@ RSpec.describe SendSubmissionArchivedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook', + 'User-Agent' => 'WaboSign Webhook', 'X-Secret-Header' => 'secret_value' } ).once diff --git a/spec/jobs/send_submission_completed_webhook_request_job_spec.rb b/spec/jobs/send_submission_completed_webhook_request_job_spec.rb index 72764b04..c828e557 100644 --- a/spec/jobs/send_submission_completed_webhook_request_job_spec.rb +++ b/spec/jobs/send_submission_completed_webhook_request_job_spec.rb @@ -33,7 +33,7 @@ RSpec.describe SendSubmissionCompletedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook' + 'User-Agent' => 'WaboSign Webhook' } ).once end @@ -51,7 +51,7 @@ RSpec.describe SendSubmissionCompletedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook', + 'User-Agent' => 'WaboSign Webhook', 'X-Secret-Header' => 'secret_value' } ).once diff --git a/spec/jobs/send_submission_created_webhook_request_job_spec.rb b/spec/jobs/send_submission_created_webhook_request_job_spec.rb index 8a70c6fb..2f67ea3b 100644 --- a/spec/jobs/send_submission_created_webhook_request_job_spec.rb +++ b/spec/jobs/send_submission_created_webhook_request_job_spec.rb @@ -33,7 +33,7 @@ RSpec.describe SendSubmissionCreatedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook' + 'User-Agent' => 'WaboSign Webhook' } ).once end @@ -51,7 +51,7 @@ RSpec.describe SendSubmissionCreatedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook', + 'User-Agent' => 'WaboSign Webhook', 'X-Secret-Header' => 'secret_value' } ).once @@ -62,7 +62,7 @@ RSpec.describe SendSubmissionCreatedWebhookRequestJob do captured_signature = nil stub_request(:post, webhook_url.url).with do |req| captured_body = req.body - captured_signature = req.headers['X-Docuseal-Signature'] + captured_signature = req.headers['X-Wabosign-Signature'] end.to_return(status: 200) described_class.new.perform('submission_id' => submission.id, 'webhook_url_id' => webhook_url.id, diff --git a/spec/jobs/send_submission_expired_webhook_request_job_spec.rb b/spec/jobs/send_submission_expired_webhook_request_job_spec.rb index 541eb73b..1c2024a7 100644 --- a/spec/jobs/send_submission_expired_webhook_request_job_spec.rb +++ b/spec/jobs/send_submission_expired_webhook_request_job_spec.rb @@ -33,7 +33,7 @@ RSpec.describe SendSubmissionExpiredWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook' + 'User-Agent' => 'WaboSign Webhook' } ).once end @@ -51,7 +51,7 @@ RSpec.describe SendSubmissionExpiredWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook', + 'User-Agent' => 'WaboSign Webhook', 'X-Secret-Header' => 'secret_value' } ).once diff --git a/spec/jobs/send_template_archived_webhook_request_job_spec.rb b/spec/jobs/send_template_archived_webhook_request_job_spec.rb index d40f68b5..23a63f44 100644 --- a/spec/jobs/send_template_archived_webhook_request_job_spec.rb +++ b/spec/jobs/send_template_archived_webhook_request_job_spec.rb @@ -32,7 +32,7 @@ RSpec.describe SendTemplateArchivedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook' + 'User-Agent' => 'WaboSign Webhook' } ).once end @@ -50,7 +50,7 @@ RSpec.describe SendTemplateArchivedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook', + 'User-Agent' => 'WaboSign Webhook', 'X-Secret-Header' => 'secret_value' } ).once diff --git a/spec/jobs/send_template_created_webhook_request_job_spec.rb b/spec/jobs/send_template_created_webhook_request_job_spec.rb index 696d47d4..ce2623f9 100644 --- a/spec/jobs/send_template_created_webhook_request_job_spec.rb +++ b/spec/jobs/send_template_created_webhook_request_job_spec.rb @@ -32,7 +32,7 @@ RSpec.describe SendTemplateCreatedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook' + 'User-Agent' => 'WaboSign Webhook' } ).once end @@ -50,7 +50,7 @@ RSpec.describe SendTemplateCreatedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook', + 'User-Agent' => 'WaboSign Webhook', 'X-Secret-Header' => 'secret_value' } ).once diff --git a/spec/jobs/send_template_updated_webhook_request_job_spec.rb b/spec/jobs/send_template_updated_webhook_request_job_spec.rb index c0ecec8b..4755ce66 100644 --- a/spec/jobs/send_template_updated_webhook_request_job_spec.rb +++ b/spec/jobs/send_template_updated_webhook_request_job_spec.rb @@ -32,7 +32,7 @@ RSpec.describe SendTemplateUpdatedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook' + 'User-Agent' => 'WaboSign Webhook' } ).once end @@ -50,7 +50,7 @@ RSpec.describe SendTemplateUpdatedWebhookRequestJob do }, headers: { 'Content-Type' => 'application/json', - 'User-Agent' => 'DocuSeal.com Webhook', + 'User-Agent' => 'WaboSign Webhook', 'X-Secret-Header' => 'secret_value' } ).once diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 74284e07..207b243f 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -76,7 +76,7 @@ RSpec.configure do |config| end config.before(multitenant: true) do - allow(Docuseal).to receive(:multitenant?).and_return(true) + allow(Wabosign).to receive(:multitenant?).and_return(true) end end diff --git a/spec/requests/submissions_spec.rb b/spec/requests/submissions_spec.rb index 82698613..fa522690 100644 --- a/spec/requests/submissions_spec.rb +++ b/spec/requests/submissions_spec.rb @@ -411,7 +411,7 @@ describe 'Submission API' do metadata: {}, preferences: { send_email: true, send_sms: false }, role: submitter.template.submitters.find { |s| s['uuid'] == submitter.uuid }['name'], - embed_src: "#{Docuseal::DEFAULT_APP_URL}/s/#{submitter.slug}", + embed_src: "#{Wabosign::DEFAULT_APP_URL}/s/#{submitter.slug}", values: Submitters::SerializeForWebhook.build_values_array(submitter) } end diff --git a/spec/requests/submitters_spec.rb b/spec/requests/submitters_spec.rb index faa7dd4d..cb1f0611 100644 --- a/spec/requests/submitters_spec.rb +++ b/spec/requests/submitters_spec.rb @@ -157,6 +157,6 @@ describe 'Submitter API' do def update_submitter_body(submitter) submitter_body(submitter).except(:template, :submission_events) - .merge(embed_src: "#{Docuseal::DEFAULT_APP_URL}/s/#{submitter.slug}") + .merge(embed_src: "#{Wabosign::DEFAULT_APP_URL}/s/#{submitter.slug}") end end diff --git a/spec/system/newsletters_spec.rb b/spec/system/newsletters_spec.rb index 274ba7e3..19595a07 100644 --- a/spec/system/newsletters_spec.rb +++ b/spec/system/newsletters_spec.rb @@ -5,7 +5,7 @@ RSpec.describe 'Newsletter' do before do sign_in(user) - stub_request(:post, Docuseal::NEWSLETTER_URL).to_return(status: 200) + stub_request(:post, Wabosign::NEWSLETTER_URL).to_return(status: 200) visit newsletter_path end @@ -19,7 +19,7 @@ RSpec.describe 'Newsletter' do it 'submits the newsletter form' do click_button 'Submit' - expect(a_request(:post, Docuseal::NEWSLETTER_URL)).to have_been_made.once + expect(a_request(:post, Wabosign::NEWSLETTER_URL)).to have_been_made.once end it 'skips the newsletter form' do diff --git a/tailwind.config.js b/tailwind.config.js index d6c5b9bf..9710f0c7 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -5,7 +5,7 @@ module.exports = { daisyui: { themes: [ { - docuseal: { + wabosign: { 'color-scheme': 'light', primary: '#e4e0e1', secondary: '#ef9fbc',