Commit Graph

969 Commits

Author SHA1 Message Date
Chirag Chhatrala
d18c4cc9bf ESC-417-date-input-is-not-showing-in-google-sheet (#653) 2024-12-19 13:34:41 +01:00
Chirag Chhatrala
d7ce8536c8 Add reCAPTCHA support and update captcha provider handling (#647)
* Add reCAPTCHA support and update captcha provider handling

- Introduced reCAPTCHA as an additional captcha provider alongside hCaptcha.
- Updated form request validation to handle different captcha providers based on user selection.
- Added a new validation rule for reCAPTCHA.
- Modified the forms model to include a 'captcha_provider' field.
- Created a migration to add the 'captcha_provider' column to the forms table.
- Updated frontend components to support dynamic rendering of captcha based on the selected provider.
- Enhanced tests to cover scenarios for both hCaptcha and reCAPTCHA.

These changes improve the flexibility of captcha options available to users, enhancing form security and user experience.

* fix pint

* change comment text

* Refactor captcha implementation and integrate new captcha components

- Removed the old RecaptchaV2 component and replaced it with a new implementation that supports both reCAPTCHA and hCaptcha through a unified CaptchaInput component.
- Updated the OpenForm component to utilize the new CaptchaInput for dynamic captcha rendering based on user-selected provider.
- Cleaned up the package.json by removing the deprecated @hcaptcha/vue3-hcaptcha dependency.
- Enhanced form initialization to set a default captcha provider.
- Improved error handling and cleanup for both reCAPTCHA and hCaptcha scripts.

These changes streamline captcha integration, improve maintainability, and enhance user experience by providing a more flexible captcha solution.

* Refactor captcha error messages and localization support

* Refactor registration process to integrate reCAPTCHA

- Replaced hCaptcha implementation with reCAPTCHA in RegisterController and related test cases.
- Updated validation rules to utilize g-recaptcha-response instead of h-captcha-response.
- Modified RegisterForm component to support reCAPTCHA, including changes to the form data structure and component references.
- Enhanced test cases to reflect the new reCAPTCHA integration, ensuring proper validation and response handling.

These changes improve security and user experience during the registration process by adopting a more widely used captcha solution.

* Fix reCAPTCHA configuration and update RegisterForm styling

- Corrected the configuration key for reCAPTCHA in RegisterController from 'services.recaptcha.secret_key' to 'services.re_captcha.secret_key'.
- Updated the styling of the Captcha input section in RegisterForm.vue to improve layout consistency.

These changes ensure proper reCAPTCHA functionality and enhance the user interface during the registration process.

* Fix reCAPTCHA configuration in RegisterTest to use the correct key format

- Updated the configuration key for reCAPTCHA in RegisterTest from 'services.recaptcha.secret_key' to 'services.re_captcha.secret_key' to ensure proper functionality during tests.

This change aligns the test setup with the recent updates in the reCAPTCHA integration, improving the accuracy of the registration process tests.

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-12-18 16:35:09 +01:00
Chirag Chhatrala
7365479c83 Email spam security (#641)
* Add hCaptcha on register page

* register page captcha test cases

* Refactor integration validation rules to include form context

- Updated the `getValidationRules` method in various integration handlers (Discord, Email, Google Sheets, Slack, Webhook, Zapier) to accept an optional `Form` parameter, allowing for context-aware validation.
- Enhanced the `EmailIntegration` handler to enforce restrictions based on user plans, ensuring free users can only create one email integration per form and can only send to a single email address.
- Added a new test suite for `EmailIntegration` to validate the new restrictions and ensure proper functionality for both free and pro users.
- Introduced loading state management in the `IntegrationModal` component to improve user experience during save operations.

These changes improve the flexibility and user experience of form integrations, particularly for email handling.

* for self-hosted ignore emil validation for spam

* fix pint

* ignore register throttle for testing env

* support new migration for mysql also

* Register page captcha enable if captcha key set

* fix test case

* fix test case

* fix test case

* fix pint

* Refactor RegisterController middleware and update TestCase setup

- Removed environment check for throttling middleware in RegisterController, ensuring consistent rate limiting for the registration endpoint.
- Updated TestCase to disable throttle middleware during tests, allowing for more flexible testing scenarios without rate limiting interference.

* Enhance hCaptcha integration in tests and configuration

- Added hCaptcha site and secret keys to phpunit.xml for testing purposes.
- Updated RegisterTest to configure hCaptcha secret key dynamically, ensuring proper token validation in production environment.

These changes improve the testing setup for hCaptcha, facilitating more accurate simulation of production conditions.

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-12-18 13:16:27 +01:00
Chirag Chhatrala
c1ee072b71 Improve Integration Cards (#643)
* Add integration action components and update integration JSON files

- Introduced new action components for Email, Slack, Discord, Webhook, and Google Sheets integrations, enhancing the user interface for managing these integrations.
- Updated the `integrations.json` files to include `actions_file_name` for each integration, linking them to their respective action components.
- Improved the `GoogleSheetsIntegrationActions.vue` component by replacing direct provider information display with a badge for better UI consistency.

These changes aim to streamline integration management and improve the overall user experience.

* Minor UI fixes

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-12-18 13:07:19 +01:00
Chirag Chhatrala
49c2d6bf04 ESC-409 image-block-does-not-align (#651) 2024-12-17 17:10:31 +01:00
Chirag Chhatrala
28019fc7a0 Implement regex validation conditions in form logic (#645)
* Implement regex validation conditions in form logic

- Added support for 'matches_regex' and 'does_not_match_regex' conditions in FormPropertyLogicRule and FormLogicConditionChecker.
- Updated validation logic to handle regex patterns, including error handling for invalid patterns.
- Enhanced tests to cover scenarios for successful and failed regex validation, ensuring proper feedback for form submissions.
- Updated JSON schema to include new regex condition types.

These changes improve the flexibility of form validation by allowing regex-based conditions, enhancing user experience through more robust validation mechanisms.

* update resource filters

* Remove ray

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-12-16 17:17:29 +01:00
Chirag Chhatrala
25a1d032a1 ESC-406 Fix Mention Extendtion for Quill (#648) 2024-12-16 10:08:13 +01:00
rl1987
b782631709 Update Docker Compose commands in page documenting Docker Compose deployment (#644) 2024-12-12 14:21:16 +01:00
Chirag Chhatrala
20405ee606 Send mobile editor email (#634)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-12-12 11:19:09 +01:00
Chirag Chhatrala
ea4cd85eae Enhance redirect URL handling and MentionParser functionality (#639)
- Updated the `redirect_url` validation in `UserFormRequest` to accept strings instead of just max length.
- Modified `MentionParser` to include a `urlFriendlyOutput` method, allowing for URL encoding of special characters in parsed values.
- Adjusted the `PublicFormController` to utilize the new `urlFriendlyOutput` method for redirect URLs.
- Created a migration to change the `redirect_url` field type in the database from string to text, accommodating longer URLs.
- Added tests to ensure proper handling of long redirect URLs and the functionality of the new URL-friendly output feature in `MentionParser`.

This update improves the flexibility and robustness of form handling and URL processing.
2024-12-10 12:26:01 +01:00
Julien Nahum
d09b5c45a5 Update validation messages for clarity in English and Spanish
- Revised the 'invalid_json' validation message in both English and Spanish to enhance clarity and user understanding. The new messages are more concise and direct, improving the overall user experience when inputting data.
2024-12-09 20:28:34 +01:00
Julien Nahum
705c84dae4 Enhance language support and fix validation messages
- Added support for additional languages (Bengali, Portuguese, Russian, Urdu, Punjabi, German, Javanese, Korean, Vietnamese, Telugu, Marathi, Tamil, Turkish) in the application.
- Updated validation messages across multiple languages to correct formatting issues and improve clarity, including Arabic, English, Spanish, French, Hindi, Japanese, Norwegian, and Chinese.
- Removed obsolete Norwegian language files to streamline localization efforts.
- Improved the language selection interface in the form customization component.

These changes aim to enhance user experience by providing better language support and clearer validation feedback.
2024-12-09 12:47:01 +01:00
Julien Nahum
39b95f1683 Merge branch 'main' of https://github.com/JhumanJ/OpnForm 2024-12-06 14:49:15 +01:00
Julien Nahum
18bb005f7a Enhance Mention Extension for Quill Editor
- Introduced a custom Clipboard module to sanitize pasted content by removing invalid mention formatting.
- Updated MentionBlot creation logic to ensure mentions are only created with valid data, specifically checking for 'nf_id'.
- Improved attribute setting for mentions to prevent issues with invalid or missing data.

These changes aim to improve the reliability and integrity of mentions within the Quill editor.
2024-12-06 14:49:06 +01:00
Chirag Chhatrala
daca69267b Form Translation (#616)
* Form Translation

* Support for other languages

* Support locale for datepicker

* Apply translation on select input

* Apply translation on select input

* Improve translation

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-12-04 18:32:14 +01:00
Chirag Chhatrala
c927a235f8 fix subscription success page (#636)
* fix subscription success page

* Fix typo
2024-12-02 10:55:09 +01:00
Julien Nahum
6cf1cd663a Refactor AnswerFormRequest to enhance option matching logic
- Improved the option matching logic in AnswerFormRequest by ensuring both 'id' and 'name' are checked for validity before comparison.
- Simplified the handling of selection fields and single select values to return the original value if no match is found.

This change aims to increase the robustness of data handling in form requests.
2024-11-29 15:17:49 +01:00
Chirag Chhatrala
13c40f6e54 Support for Rich Text Input (#630)
* Support for Rich Text Input

* rich text support for prefilled

* apply Purify for rich_text

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-11-28 16:12:24 +01:00
Julien Nahum
e2c6af69e6 [ESC-389]form-requires-to-answer 2024-11-28 10:22:33 +01:00
Julien Nahum
a41563a183 Fix pricing custom plan 2024-11-28 09:17:45 +01:00
Chirag Chhatrala
3d09f32078 fix error display modal (#632) 2024-11-26 12:13:39 +01:00
Chirag Chhatrala
1224b890db Fix phoneinput inputval watcher (#631) 2024-11-25 17:26:43 +01:00
Julien Nahum
1a917cf7ce Added enterprise plan 2024-11-23 17:38:20 +01:00
Chirag Chhatrala
5cd9885185 improve RTL mode (#625)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-11-21 16:14:27 +01:00
Chirag Chhatrala
5870c447d5 fix disabled input dark mode (#622)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-11-21 15:59:04 +01:00
Chirag Chhatrala
9bd069f3e6 fix template page breadcrumb ui (#623) 2024-11-21 15:55:01 +01:00
Julien Nahum
b0e9502d5e Bump dependencies, scan for all icons in json files 2024-11-20 21:17:48 +01:00
Julien Nahum
1b4e0b2533 Bump node & nuxt depencies 2024-11-20 18:41:56 +01:00
Julien Nahum
3dd36c8560 Bump versions and fix editor sidebar buttons 2024-11-20 17:21:57 +01:00
Chirag Chhatrala
ab83aa166c Matrix Improvements (#606)
* Support disable on matrix

* fix checkbox and radio icon

* Use Nuxt UI toggle

* Can set max_char_limit null

* fix action icon design

* Support for URL prefill for Matrix

* Apply theme color on toggle

* Set --form-color as style variable and use it

* Set default value for form-color

* fix formatting

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-11-20 17:06:11 +01:00
Julien Nahum
dfec772d82 Bump dependencies 2024-11-20 17:00:12 +01:00
Chirag Chhatrala
62e980abae Right to left mode (#611)
* Right to left mode

* Fix label

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-11-20 15:29:08 +01:00
Julien Nahum
fbf0831c6d Fix Nuxt Icon bug 2024-11-15 10:04:52 +01:00
Chirag Chhatrala
2c8f7d5d54 on fetch submission data display error if there (#608)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-11-13 09:48:28 +01:00
Julien Nahum
ef12c82fe5 Added parseAsText to mention parser. Fix multiple email recipients 2024-11-06 17:48:10 +01:00
Julien Nahum
ccbf9faa3c Fix date input issue 2024-10-30 10:14:28 +01:00
Julien Nahum
9e19338b54 Bump nuxt icon dependency 2024-10-30 09:17:58 +01:00
Chirag Chhatrala
08837e6a29 Fix email notification reply to (#603) 2024-10-28 09:17:01 +00:00
Chirag Chhatrala
6bdce23967 improve email notfication migration (#602)
* improve email notfication migration

* Fix lint

* Added dry run

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-10-24 15:48:04 +02:00
Chirag Chhatrala
46359fb127 fix undefined error on integrations (#601) 2024-10-24 12:02:23 +02:00
Chirag Chhatrala
8a1282f4b0 Form Editor v2.5 (#599)
* Form Editor v2.5

* Remove log debug

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-10-23 10:34:51 +02:00
Julien Nahum
97c4b9db5b Fix mentions in front-end + email spam 2024-10-22 11:04:49 +02:00
Chirag Chhatrala
dad5c825b1 Apply Mentions everywhere (#595)
* variables and mentions

* fix lint

* add missing changes

* fix tests

* update quilly, fix bugs

* fix lint

* apply fixes

* apply fixes

* Fix MentionParser

* Apply Mentions everywhere

* Fix MentionParserTest

* Small refactoring

* Fixing quill import issues

* Polished email integration, added customer sender mail

* Add missing changes

* improve migration command

---------

Co-authored-by: Frank <csskfaves@gmail.com>
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-10-22 10:34:29 +02:00
Julien Nahum
2fdf2a439b Bump versions 2024-10-21 19:51:35 +02:00
Favour Olayinka
ef404e1d1e apply first submission modal changes (#584)
* apply first submission modal changes

* Apply changes

* fix submiussions url

* fix lint

* Fix nuxt versions issues

* Add fixed version of nitropack

* Attempt to fix build

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-10-21 17:41:20 +02:00
Chirag Chhatrala
469031c9ec [ESC-340] Fix Underline on text block (#598)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-10-21 17:24:04 +02:00
Favour Olayinka
0208b0caa1 fix checkbox input (#582)
* fix checkbox input

* fix divs

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-10-19 11:04:47 +02:00
Julien Nahum
e737108b0e Fix typo 2024-10-17 12:40:10 +02:00
Favour Olayinka
fa8c264cd4 fix phone input height (#585)
* fix phone input height

* fix width classes

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-10-10 10:45:01 +02:00
Favour Olayinka
2ab5e09750 fix closed form (#583) 2024-10-10 09:52:10 +02:00