Commit Graph

406 Commits

Author SHA1 Message Date
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
Chirag Chhatrala 20405ee606
Send mobile editor email (#634)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-12-12 11:19:09 +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
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 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 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 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
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
Favour Olayinka dea8fe5741
106a6 integration performance issues (#581)
* apply performance fixes

* fix integration

* Update client/components/open/forms/components/FirstSubmissionModal.vue

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix unique cache for forms

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-10-01 12:42:03 +02:00
Chirag Chhatrala 504c7a0f2f
Custom SMTP Settings (#561)
* Custom SMTP Settings

* Fix lint

* Custom SMTP add in Pricing plan

* Allow reset email settings

* improve custom SMTP using seprate abstract class

* test case for custom SMTP

* fix test case

* UI improvement

* add CASHIER_KEY in phpunit for testcase

* Attempt to fix tests

* Run pint and attempt to fix cache tests

* Fix user management tests

* Fix code linters

* Merged main & fix linting

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-09-24 12:16:20 +02:00
Julien Nahum 5dcd4ff8cb
7953e better form editor (#580)
* Form editor v2

* fix template test

* setFormDefaults when save

* fix form cleaning dark mode

* improvements on open sidebar

* UI polish

* Fix change type button

* Ability to drag & add multiple form blocks

---------

Co-authored-by: Chirag Chhatrala <chirag.chhatrala@gmail.com>
2024-09-23 20:15:41 +02:00
Chirag Chhatrala d6181cd249
Form editor v2 (#579)
* Form editor v2

* fix template test

* setFormDefaults when save

* fix form cleaning dark mode

* improvements on open sidebar

* UI polish

* Fix change type button

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-09-23 20:02:38 +02:00
Favour Olayinka 47ae11bc58
104a6 simpler submit transition (#576)
* better submit transition

* transition

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-09-20 12:07:04 +02:00
Favour Olayinka 33ad2d41b8
form color reset (#577)
* form color reset

* fix link color

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-09-20 12:02:06 +02:00
Favour Olayinka 5ab3477e0a
104a6 utm tracking in db (#578)
* utm tracking in db

* fix array key bug

* fix utm form

* fix import
2024-09-20 11:47:12 +02:00
Julien Nahum 5020f9fa74 refactor(FormTimer.vue): change timer variable from let to ref for reactivity
refactor(OpenCompleteForm.vue): remove FormTimer component and related logic to simplify form submission
feat(OpenForm.vue): reintroduce FormTimer component and manage timer start/stop on form events for better user experience
2024-09-19 10:11:34 +02:00
Julien Nahum f65de634ee Update package-lock file 2024-09-19 08:55:08 +02:00
Chirag Chhatrala ceb0648262
Better Form Stats (#567)
* Better Form Stats

* fix lint

* submission timer store in localstorage

* Update test case for stats

* remove extra code

* fix form stats

* on restart remove timer

* fix resetTimer function name

* Improve form timer

* Fix timer after form validation error + polish UI

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-09-18 19:20:52 +02:00
Favour Olayinka a057045ef6
utm tracking in db (#574)
* utm tracking in db

* fix array key bug
2024-09-18 18:50:04 +02:00