* feat: add consent banner requirement for signers (B6)
- Add REQUIRE_CONSENT_KEY to AccountConfig for per-account toggle
- Add consent_given event type to SubmissionEvent for audit trail
- Add consent checkbox UI on last step of signing form (form.vue)
- Add isLastStep computed property and onConsentChange method
- Create API endpoint (submitter_consents#create) to record consent
- Add requireConsent prop passing from server via data attribute
- Add settings toggle in Account preferences page
- Add i18n translations for all 14 languages (JS + Rails)
- Submit button disabled until consent checkbox is checked
* fix: add REQUIRE_CONSENT_KEY to AccountConfigsController ALLOWED_KEYS
* fix: keep consent checkbox visible after checking (don't remove from DOM)
* fix: bind checkbox checked state to consentAccepted for step navigation sync
* fix: guard submitStep() against consent bypass via child component @submit events
* feat: add ID verification requirement for signers (B7)
* fix: add missing message and dryRun props to FileDropzone in ID verification gate
* fix: guard Complete button and submitStep() against ID verification bypass
---------
Co-authored-by: Bob Develop <developbob50@gmail.com>
* feat: add consent banner requirement for signers (B6)
- Add REQUIRE_CONSENT_KEY to AccountConfig for per-account toggle
- Add consent_given event type to SubmissionEvent for audit trail
- Add consent checkbox UI on last step of signing form (form.vue)
- Add isLastStep computed property and onConsentChange method
- Create API endpoint (submitter_consents#create) to record consent
- Add requireConsent prop passing from server via data attribute
- Add settings toggle in Account preferences page
- Add i18n translations for all 14 languages (JS + Rails)
- Submit button disabled until consent checkbox is checked
* fix: add REQUIRE_CONSENT_KEY to AccountConfigsController ALLOWED_KEYS
* fix: keep consent checkbox visible after checking (don't remove from DOM)
* fix: bind checkbox checked state to consentAccepted for step navigation sync
---------
Co-authored-by: mario.pander <developbob50@gmail.com>
* Fix ESLint quote-props errors in signature_step.vue
* feat: add per-account custom logo support with env var fallback
- Add has_one_attached :logo to Account model
- Add Docuseal.custom_logo_url helper reading CUSTOM_LOGO_URL env var
- Create AccountLogoController with upload/delete actions
- Update shared/_logo.html.erb to render: account.logo > CUSTOM_LOGO_URL > default SVG
- Replace logo_form placeholder with actual upload form + preview + delete
- Add route for account_logo under /settings
- Add i18n translations for logo flash messages
* test: add Playwright tests for custom logo upload, delete, and env fallback
---------
Co-authored-by: mario.pander <developbob50@gmail.com>
Co-authored-by: David Pierre-Francois <david.pierre-francois@videotron.com>
* feat: add 'Generated by DocuSeal' disclaimer below typed signature preview
* fix: use t() for i18n instead of hardcoded English disclaimer text
Add generated_by_docuseal translation key to all 7 locales (en, es, it, fr, pt, de, nl) and use t() in the Vue component for consistency with the rest of the internationalized UI.
* fix: add generated_by_docuseal translations to JavaScript i18n module
---------
Co-authored-by: Bob Develop <developbob50@gmail.com>