Commit Graph

510 Commits

Author SHA1 Message Date
Chirag Chhatrala 09c4417731
Embed form flickering bug (#658)
* Embed form flickering bug

* fix issue when remove hidden class
2025-01-03 16:03:02 +01:00
Chirag Chhatrala 2366f9515d
Readonly User (#637)
* Readonly User

* Refactor FormPolicy and TemplatePolicy to centralize write operation logic

- Introduced a private method `canPerformWriteOperation` in both FormPolicy and TemplatePolicy to encapsulate the logic for determining if a user can perform write operations on the respective models.
- Updated the `update`, `delete`, `restore`, and `forceDelete` methods in FormPolicy to use the new method for improved readability and maintainability.
- Simplified the `update` and `delete` methods in TemplatePolicy to leverage the centralized write operation logic.

This refactoring enhances code clarity and reduces duplication across policy classes.

* Refactor user and workspace permissions handling

- Updated FormController to authorize form creation based on workspace context.
- Removed the `is_readonly` attribute from UserResource and integrated it into WorkspaceResource for better encapsulation.
- Refactored User model to eliminate the `getIsReadonlyAttribute` method, shifting readonly logic to the Workspace model.
- Adjusted FormPolicy and TemplatePolicy to utilize workspace readonly checks for user permissions.
- Updated various frontend components to reference workspace readonly status instead of user readonly status, enhancing clarity and consistency in permission handling.

These changes improve the management of user permissions in relation to workspaces, ensuring a more robust and maintainable authorization system.

* Fix isReadonlyUser

* fix pint

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-12-30 14:35:23 +01:00
Chirag Chhatrala 9a2d7b9d8d
On slack,discord add support for Include hidden fields (#654) 2024-12-30 11:11:17 +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
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
Favour Olayinka 0d3733a137
fix dark mode (#558)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-09-05 09:41:58 +02:00
Favour Olayinka d4990ec4db
fix password reset bug (#559) 2024-09-05 09:36:28 +02:00
Favour Olayinka 3fb961af0d
fix matrix input (#556)
* fix matrix input

* Fix matrix responsiveness

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-09-04 11:51:38 +02:00
Chirag Chhatrala d55379e346
Add rule button click - show alert (#554) 2024-09-03 13:28:59 +02:00
Julien Nahum 4cd8b3c62e
Technical docs (#553)
* WIP

* Working on configuration

* wip

* Finished docs

* Self hosted comparison + more links
2024-09-02 15:33:17 +02:00
Chirag Chhatrala 6d4b5b8ff4
fix select input options (#550) 2024-08-30 14:39:03 +02:00
Chirag Chhatrala 3d2d485512
update pricing page - Form Analytics (#548) 2024-08-29 17:27:37 +02:00
Chirag Chhatrala da0ea04475
Dynamic OauthDriver scope (#544)
* Dynamic OauthDriver scope

* support migration for mysql

* Refactor default scopes for integrations

* Small UI changes

* fix flet select tooltip

* fix linter

* Fix google token size in DB

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-29 13:28:02 +02:00
Chirag Chhatrala 89513e3b4a
Form analytics now paid feature (#547)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-29 11:14:49 +02:00
Chirag Chhatrala 8e777ecca6
Form Templates for self hosted (#546)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-29 11:08:09 +02:00
Julien Nahum 2503595786 Reduce docker api image size, fix issues 2024-08-28 15:20:39 +02:00
Julien Nahum 79d3dd7888
Feature flags (#543)
* Re-organize a bit controllers

* Added the featureflagcontroller

* Implement feature flags in the front-end

* Clean env files

* Clean console.log messages

* Fix feature flag test
2024-08-27 16:49:43 +02:00
Julien Nahum 5bd1dda504
Separated laravel app to its own folder (#540) 2024-08-26 18:24:56 +02:00
Julien Nahum 2618c24293 Sliding transition for subscription modal 2024-08-23 18:28:30 +02:00
Favour Olayinka 1adac8e00f
Dc3e4 new matrix field (#484)
* fix password reset bug

* wip: matrix input

* wip: matrix input

* wip: matrix input

* Fixed matric input component logic

* matrix input cleanup

* fix lint errors

* table border and radius

* cleanup, linting

* fix component methos

* wip matrix input

* matrix condition for contains and not contain

* patch matrix input condition logic

* linting

* refactor and cleanup

* fix syntax error

* Polished the matrix input

* Fix linting

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-23 15:28:21 +02:00
Chirag Chhatrala fedc382594
Pricing Upgrade Flow changes (#514)
* Pricing Upgrade Flow changes

* remove extra code

* Refactor subscription plan selection and billing management

* Polish the new pricing modal

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-23 12:23:01 +02:00
Chirag Chhatrala a73badb091
Autofocus first field as settings option (#536)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-23 11:32:09 +02:00
Favour Olayinka 7ac8503201
7a137 google auth (#520)
* google oauth

* fix lint

* cleanup debug

* Oauth changes, alert message, email validation

* fix exception and inline return condition

* fix google oauth

* UI fixes

* fix provider user

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-19 15:22:57 +02:00
Chirag Chhatrala 5049ba7fb1
Manually upload signature (#521)
* Manually upload signature

* Signature upload UI changes

* fix signature on clear

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-16 16:49:23 +02:00
Chirag Chhatrala 1ac71ecf8b
Google Fonts (#525)
* Google Fonts

* Google fonts improvement

* font button color

* Refine font selection UI and update font fetching logic

- Update FontsController to fetch Google fonts sorted by popularity.
- Enhance FontCard component with additional skeleton loaders for better UX during font loading.
- Adjust check icon positioning in FontCard to be absolute for consistent UI.
- Remove unnecessary class in GoogleFontPicker's text input.
- Add border and rounded styling to the font list container in GoogleFontPicker.
- Simplify computed property for enrichedFonts in GoogleFontPicker.
- Implement inline font style preview in FormCustomization component.

---------

Co-authored-by: Frank <csskfaves@gmail.com>
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-16 16:25:13 +02:00
Favour Olayinka 2a3aad6c62
8896e remove beta from landing page image (#528)
* fix bug

* fix product image on landing page

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-16 15:45:55 +02:00
Julien Nahum 4af1e05958 Update Zapier integration link 2024-08-13 12:31:01 +02:00
Julien Nahum 5d3bea030b Fix ZApier integration link 2024-08-12 11:43:00 +02:00
Boris Lepikhin 517bccc695
Zapier integration (#491)
* create zapier app

* install sanctum

* move OAuthProviderController

* make `api-external` middleware

* add zapier endpoints

* add tests

* token management

* zapier event handler

* add policy

* use `slug` instead of `id`

* wip

* check policies

* change api prefix to `external`

* ui tweaks

* validate token abilities

* open zapier URL

* zapier ui tweaks

* update zap

* Fix linting

* Added sample endpoints + minor UI changes

* Run PHP code linter

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-12 11:14:02 +02:00
Julien Nahum fd9067b470
518 setup env command (#519)
* Created command and cleaned

* Simplified docker setup, created script to generate .env

* add git ignore file back
2024-08-08 16:33:01 +02:00
Julien Nahum 7888990e84 Fix sizing issue with captcha 2024-08-08 12:00:36 +02:00
Julien Nahum 2f0f87267f ESC-240: Fix null pointer exception in SelectInput getOptionName method 2024-08-07 17:30:48 +02:00
ash 6fca106df1
Update RegenerateFormLink.vue (#517) 2024-08-06 10:22:52 +02:00
Favour Olayinka 6fc4fbafa3
auto-close datepicker (#512)
* auto-close datepicker

* auto close date modification

* remove unused attributes

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-05 14:22:05 +02:00
Favour Olayinka edf4d4bfe4
fix date condition logic (#510)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-05 14:19:00 +02:00
Julien Nahum 3280e38ee1
Docker compose setup (#513)
* fix password reset bug

* self hosted mode middleware changes on  pages

* fix lint

* wip: self hosted changes

* wip: self hosted frontend changes

* wip self hosted mode changes

* typo correction

* remove commented logic

* fix env variable names

* fix lint issues

* fix minor updates

* #445 Switched from single monolithic docker image to a docker-compose
 orchestrated network of services

* Automatically configures shared secret

* Working through some issues

* Use local file storage

* Moved the dockerfiles

* Fixed some issues when building from clean

* Corrected workflow

* Hopefully schedules everything correctly now

* Prep storage for worker process as well

* .env files are required

* Pinned dependency versions

* Disable self hosted in the client as well

* Removed double defaulting logic

* Using regexs is more succinct

* Added FRONT_URL environment variable

* Merge 236e4-self-hosted-mode-changes

* Improve inital user setup

* Finalized the new docker-compose setup

* Fix back-end formatting issues

---------

Co-authored-by: Frank <csskfaves@gmail.com>
Co-authored-by: Don Benjamin <don@webhammer.co.uk>
2024-08-05 12:06:20 +02:00
Julien Nahum 6b13f95322 Disable refresh of integrations on reload 2024-07-26 14:50:31 +02:00
Julien Nahum 2f497d93c1 Hide invite warning for AppSumo users 2024-07-26 13:24:34 +02:00
Favour Olayinka 90a53b4d0d
42772 condition editor error handling (#502)
* fix password reset bug

* condition editor error handling

* fix syntax error

* fix syntax

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-26 12:02:01 +02:00
Favour Olayinka d11f59210b
41db1 submission editor theme fix (#501)
* fix password reset bug

* fix: themes on submission editor

* fix form themes

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-26 11:54:15 +02:00
Chirag Chhatrala bafd190ad2
fix signature input height (#497)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-26 11:47:42 +02:00
Favour Olayinka 7ee5623b8e
disable precognition on url prefill modal (#503) 2024-07-26 11:44:38 +02:00
Favour Olayinka 5f320fbc23
41db1 submission editor theme fix (#500)
* fix password reset bug

* fix: themes on submission editor
2024-07-24 09:50:42 +02:00
Julien Nahum 91037ab242 Fix placeholder color issue for selects 2024-07-19 13:26:26 +02:00
Favour Olayinka f4386fbcbc
55919 form editor error boundary (#494)
* fix password reset bug

* form editor error boundary

* fix crisp

* fix layout on create and edit pages

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-17 16:07:19 +02:00
Chirag Chhatrala a2c1757815
Google Sheet integration fix (#493)
* Google Sheet integration fix

* fix testcase

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-17 14:22:54 +02:00
Chirag Chhatrala 6ec1f4d745
Secret field - password (#490)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-17 13:21:54 +02:00
Chirag Chhatrala 4cf2ef1718
fix custom domain clear (#488)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-17 13:18:50 +02:00
Chirag Chhatrala 3a658ab7e2
Camera Upload UI fixes (#487)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-17 13:14:30 +02:00
Julien Nahum 01312f01e9
Fix AppSumo licence owner user invites (#492) 2024-07-17 12:13:03 +02:00
Favour Olayinka 2a23c0a4f5
F24d9 custom time format (#473)
* fix password reset bug

* feat: time format in dat input

* fix lint issues

* fix time prefill, time format backend

* fix time format in OpenDate

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-15 23:31:04 +02:00
Chirag Chhatrala 9a17787f76
Display error with page validation (#486) 2024-07-15 23:20:56 +02:00
Julien Nahum 59c8a85824 Fix debug 2024-07-15 13:18:38 +02:00
Julien Nahum fbc0457294 Debugging custom domain redirect opnform
More debugging on custom domain side

Debugging custom domain redirect further

Debugging custom domain redirect opnform

More debugging on custom domain side

Debugging custom domain redirect further
2024-07-15 11:58:23 +02:00
Chirag Chhatrala 08171adc56
fix image input clear (#485) 2024-07-15 10:07:00 +02:00
Favour Olayinka 11f99df98f
Ba515 fix 500 error on url prefil (#483)
* fix password reset bug

* fix form theme builder

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-10 12:31:33 +02:00
Favour Olayinka 90ff91b1e9
Team functionality (#459)
* add api enpoints for adding, removing, updating user to workspace and leaving workspace

* feat: updates client site workspace settings

* refactor and add domain setting ui in modal

* move workspace user functionality to its own component

* adds tests

* fix linting

* updates select input to FlatSelectInput

* moves workspace user role edit to seperated component

* move user adding to its own component

* adds check to usure users exist before checking is admin

* fix loading users

* feat: invite user to team functionality

* fix token coulmn

* fix self host mode changes

* tests for  user invite

* Refactor back-end

* Rename variables

* Improve some styling elements + refactor workspace settings

* More styling

* More UI polishing

* More UI fixes

* PHP linting

* Implemented most of the logic for team-functionnality

* Fix user avatar URL

* WIP remove users on cancellation

* Finished pricing for team functionality

* Fix tests

* Fix linting

* Added pricing_enabled helper

* Fix pricing_enabled shortcut

* Debug CI

* Disable pricing when testing

---------

Co-authored-by: LL-Etiane <lukongleinyuyetiane@gmail.com>
Co-authored-by: Lukong Etiane <83535251+LL-Etiane@users.noreply.github.com>
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-04 17:21:36 +02:00
Favour Olayinka 383fff7b2c
Fdcde undo/redo upgrade (#475)
* fix password reset bug

* implement popover and keyboard shortcuts
2024-07-02 15:15:59 +02:00
Chirag Chhatrala 52f65752af
remove embedcode id prefix (#472) 2024-07-01 13:07:35 +02:00
Julien Nahum add60fbde9 Fix init form with default theme 2024-07-01 10:18:35 +02:00
Julien Nahum 2ca2d97e8e
Better form themes (#465)
* Working on custom radius + input size

* Fix date input clear vertical align

* Moslty finished implementing small size

* Polishing larger theme

* Finish large theme

* Added size/radius options in form editor

* Darken help text, improve switch input help location

* Slight form editor improvement

* Fix styling

* Polish of the form editor
2024-06-27 17:52:49 +02:00
Julien Nahum a84abf9f72 Fix redirect with embed script 2024-06-27 17:06:19 +02:00
Julien Nahum 6428cd7d0d Ensure top window is redirected - not the frame 2024-06-27 16:24:18 +02:00
Julien Nahum 570f943bd1
Custom Embed script (#469)
* Custom Embed script

* Fix redirecting whene embedded

---------

Co-authored-by: Chirag Chhatrala <chirag.chhatrala@gmail.com>
2024-06-27 16:00:54 +02:00
Favour Olayinka 3226bef13f
0c9ea page break validation (#464)
* fix password reset bug

* page break precognition validation

* precognition validation tests

* fix: disable precogniton in form editor
2024-06-26 10:43:06 +02:00
Julien Nahum a912a10145 Fix OpnForm production 2024-06-25 16:41:14 +02:00
Chirag Chhatrala 0334f7c883
Undo/redo form editor (#452)
* Undo/redo form editor

* Fix undo/redo

* Fix history with version check

* Increase default history size

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-06-25 15:48:20 +02:00
Favour Olayinka f40b95977d
0c9ea page break validation (#455)
* fix password reset bug

* page break precognition validation

* precognition validation tests

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-06-24 11:08:54 +02:00
Chirag Chhatrala 3b5b8f4e3b
Google sheets integration actions UI fixes (#456)
* GoogleSheetsIntegrationActions UI Fixes

* GoogleSheetsIntegrationActions UI Fixes
2024-06-24 10:28:09 +02:00
Chirag Chhatrala d89e54f4ac
GoogleSheetsIntegrationActions UI Fixes (#454) 2024-06-19 12:04:31 +02:00
Julien Nahum 078cf3592d Prevent field jump on hover in adminPreview 2024-06-18 14:49:58 +02:00
Julien Nahum 4e585d284b Track 500 errors in Sentry 2024-06-18 12:31:17 +02:00
Julien Nahum b743dc3f6d Change base page title 2024-06-17 19:25:12 +02:00
Julien Nahum d302b79461 Minify iframeResizer.js 2024-06-17 12:12:01 +02:00
Favour Olayinka 39eeb35f8f
1390d dark mode issues (#450)
* fix password reset bug

* fix dark mode issues
2024-06-13 11:47:23 +02:00
Favour Olayinka 1f01513efb
D4310 new input section (#447)
* fix password reset bug

* bottom margin

* fix implicit custom validation, field margin

* fix custom validation error condition

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-06-11 17:02:20 +02:00
Favour Olayinka 3ddb08a571
D4310 new input section (#446)
* fix password reset bug

* bottom margin

* fix implicit custom validation, field margin
2024-06-10 18:06:11 +02:00
Favour Olayinka 1875faa123
942e6 fix scale input decimal value (#444)
* fix password reset bug

* fix default integer value on scale input
2024-06-10 13:23:18 +02:00
Chirag Chhatrala 067ed4c11c
integration card UI fixes (#441) 2024-06-10 10:15:58 +02:00
Chirag Chhatrala ca0864d0c0
Improve google sheet integration (#437)
* fix integration modal error

* Provider card icon dynamic

* Google Sheets Integration Actions fetch integration data till interval

* fix show form tablist - params slug issue

* validation on delete connection

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-06-07 12:12:24 +02:00
Julien Nahum 17476107df Migrate to GTM 2024-06-06 18:03:41 +02:00
Julien Nahum 40b7aa321b Fix empty user integration card 2024-06-05 16:23:31 +02:00
Boris Lepikhin 24d33a9ebb
Google Sheet - OAuth "client" powered integrations (#415)
* fix `helpers.php`

* fix `.eslintrc.cjs`

* spreadsheet manager

* fetch providers. set `oauth_id` for integrations

* create spreadsheet on integration create event

* connect OAuth accounts

* display actions. connect account if missing

* cleanup

* handle form field change

* map integration data object to `SpreadsheetData`

* validate request

* wip

* redirect to integrations page

* fix refresh token

* add helper text

* add extra integration info

* refactor

* refresh google token

* fix validation

* add tests

* Fix linting issue

* Update composer lock file

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-06-05 15:35:46 +02:00
Julien Nahum af256bfccc Fix navbar featurebase 2024-06-03 12:14:14 +02:00
Julien Nahum 32cda4be6b Merge branch 'main' of https://github.com/JhumanJ/OpnForm 2024-06-03 12:05:23 +02:00
Julien Nahum 71031d0a6d Style new changes badge 2024-06-03 12:05:18 +02:00
Chirag Chhatrala 31455e7c24
confirmation email integration fixes (#434) 2024-06-03 10:14:59 +02:00
Chirag Chhatrala 4b9db042ed
fix lint error (#431) 2024-05-30 06:04:55 +02:00
Favour Olayinka 68b610bc15
remove branding for subscribed users (#424)
* removebrandingfor subscribed users

* backend  changes, test

* fix test  name

* fix disable branding

* Fix linting

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-05-29 12:03:41 +02:00
Favour Olayinka 6673dff504
Conditioned field validation (#418)
* wip: validation condition input

* form custom validation condition

* Default message on form condition validation

* field validation condition test

* fix linting

* update tests,  add pass test

* Polish UI

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-05-29 11:40:14 +02:00
Favour Olayinka f9dacd0a74
B8e23 submission list UI fixes (#426)
* fix password reset bug

* fix vSwitch component, column toggle, table ordering
2024-05-29 11:00:27 +02:00
Favour Olayinka 289bdf93e0
improve ui (#421)
* improve  ui

* fix typo

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-05-28 13:13:56 +02:00
Julien Nahum ee92ffdfad Fix initServiceClients call 2024-05-27 15:32:15 +02:00
Julien Nahum ca159804f9 Simplify syntax of InputHelp 2024-05-27 11:27:46 +02:00
Favour Olayinka 53f2e99ec3
fix help url (#422) 2024-05-25 18:57:57 +02:00
Favour Olayinka 55d50a24e9
A2683 fix decimal value page crash on scale input (#420)
* fix scale step crashing bug

* cleanup fixes

* cleanup
2024-05-24 10:34:47 +02:00
Julien Nahum 4dacce0682 Fix field padding 2024-05-22 14:41:48 +02:00
Favour Olayinka 8760925007
fix field width offset (#417)
* fix store content bug

* fix: form field indexing bug on working form store

* fix column width on  form fied

* fix field width offset

* UI polishing

* Fix cursor grab

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-05-22 14:36:42 +02:00
Favour Olayinka 292e32959b
6f647 unable to add a block (#411)
* fix store content bug

* fix: form field indexing bug on working form store

* fix column width on  form fied

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-05-22 09:38:22 +02:00
Favour Olayinka 443f4ef7b9
Checkbox input color (#413)
* stule: checkbox input color

* fix toggle switch input color

* clean up console.log
2024-05-20 13:57:36 +02:00
Chirag Chhatrala 795fcfc973
Select Design Changes (#409)
* Select Design Changes

* update theme file for SelectInput

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-05-16 14:50:40 +02:00