Commit Graph

995 Commits

Author SHA1 Message Date
Chirag Chhatrala 7e8322a0fd
support barcode on opentable (#724)
Co-authored-by: Julien Nahum <julien@nahum.net>
2025-03-15 13:19:42 +08:00
Julien Nahum e6239f99cd Enhance Back-end and Front-end Documentation
- Update back-end rules to include support for nested PHP files and added debugging guidelines using ray().
- Expand front-end rules to specify the use of form components from client/components/forms and wrapping them in @VForm.vue.

These changes improve clarity and best practices for both back-end and front-end development, ensuring consistency and better debugging practices across the codebase.
2025-03-15 10:21:31 +08:00
Chirag Chhatrala c3c66e0b71
Barcode scanner issue fixed (#721)
Co-authored-by: Julien Nahum <julien@nahum.net>
2025-03-12 15:28:50 +08:00
Chirag Chhatrala 7b942997ce
Hidden field can never be required. Skip that validation (#716)
* Hidden field can never be required. Skip that validation

* Refactor form logic editor UI with improved text and styling

- Replace UAlert with plain text description
- Update action description text
- Remove help text from select input
- Simplify note about hidden field requirements

* Add test for form logic field visibility and validation

- Implement test case for fields hidden by logic conditions
- Update AnswerFormRequest to use new FormLogicPropertyResolver method for hidden field check
- Ensure required fields are skipped when hidden by form logic

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2025-03-12 14:47:06 +08:00
Julien Nahum a5162192b1
Enhance JWT Token Management and Authentication Flow (#720)
- Implement extended token lifetime for "Remember Me" functionality
- Add token expiration details to authentication responses
- Update client-side token handling to support dynamic expiration
- Modify authentication middleware to handle token initialization more robustly
- Configure JWT configuration to support longer token lifetimes
2025-03-10 17:32:17 +08:00
Julien Nahum 06328a47ab Enhance Tax Export Command with Comprehensive Invoice Processing and Metrics
- Improve invoice processing with advanced error handling and tracking
- Add detailed volume metrics for USD and EUR
- Implement robust country detection with multiple fallback strategies
- Enhance logging and progress tracking during tax export generation
- Add performance timing and more granular invoice exclusion reporting
2025-03-10 17:25:15 +08:00
Julien Nahum 8894880cb9 Improve Email Notification Message-ID and Threading Generation
- Refactor email header generation for form submission notifications
- Use MD5 hashed submission ID for more consistent message threading
- Remove timestamp from Message-ID and Thread-Index generation
- Ensure emails are threaded only by submission ID
- Simplify header creation logic for better email client compatibility
2025-03-06 13:21:12 +08:00
Chirag Chhatrala a59b46665c
Billing flow redirect (#713)
* Billing flow redirect

* fix checkout url

* Refactor checkout and subscription flow

- Improve checkout URL generation with ref unwrapping
- Enhance user data handling in subscription modal
- Remove deprecated CheckoutDetailsModal component
- Update form field and register form styling
- Add more robust user data update mechanism

* Refactor checkout and subscription flow

- Improve checkout URL generation with ref unwrapping
- Enhance user data handling in subscription modal
- Remove deprecated CheckoutDetailsModal component
- Update form field and register form styling
- Add more robust user data update mechanism

* Fix accessibility and checkout URL generation

- Add proper label for terms and conditions checkbox in RegisterForm
- Refactor checkout URL generation in SubscriptionModal using computed refs
- Improve form input handling and reactivity

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2025-03-05 19:16:33 +08:00
Julien Nahum b633f97ce1 Refactor FormSubmissionDataFactory to use TestHelpers trait
- Move FormSubmissionDataFactory methods into TestHelpers trait
- Update import statements across multiple test files
- Remove standalone FormSubmissionDataFactory class
- Simplify form submission data generation in tests
- Add documentation for new generateFormSubmissionData method
2025-03-04 13:38:33 +08:00
Julien Nahum d2f77aaa3f Enhance UI components with dark mode and tooltip improvements
- Update FileInput component dark mode text color
- Modify OpenForm dragging state background for dark mode
- Refactor OpenFormField admin preview actions with tooltips and improved styling
- Add z-index and styling improvements for form field action buttons
2025-03-04 12:21:30 +08:00
Julien Nahum cf4688d75e Improve numeric condition handling in form logic checker
- Add robust numeric comparison for zero and negative numbers
- Implement safe numeric parsing and validation
- Enhance condition checking for numeric fields across PHP and JavaScript
- Add comprehensive test cases for edge case numeric comparisons
- Fix 'is_not_empty' operator logic in JavaScript condition checker
2025-03-03 19:29:40 +08:00
Julien Nahum 405ab64e41 Merge branch 'main' of https://github.com/JhumanJ/OpnForm 2025-03-03 17:12:31 +08:00
Julien Nahum 58cff70a97 Update Custom Plan pricing for monthly and yearly subscriptions
- Adjust pricing for custom plan in CustomPlan.vue
- Reduce yearly price from $160 to $79
- Reduce monthly price from $200 to $100
2025-03-03 17:12:21 +08:00
Julien Nahum 267beec582
Refactor form initialization and data management in OpenForm component (#709)
* Refactor form initialization and data management in OpenForm component

- Add resetAndFill method to Form class for more flexible form data handling
- Update initForm method to use nextTick for better reactivity
- Modify form initialization logic to reset and fill form data more consistently
- Remove unnecessary computed import and add debug console.log

* fix on fill again

---------

Co-authored-by: Chirag Chhatrala <chirag.chhatrala@gmail.com>
2025-03-03 14:29:15 +08:00
Julien Nahum c9dbc79f75 Add Docker environment variables documentation
- Update environment-variables.mdx with Docker-specific environment variable guidance
- Add environment variable sections to docker-development.mdx and docker.mdx
- Provide instructions for updating environment variables in Docker containers
- Include a warning about properly recreating containers when changing environment variables
2025-02-27 15:56:18 +08:00
Julien Nahum b388c729ce Refactor Stripe subscription line item management in WorkspaceUsersUpdated job
- Improve handling of extra user line items in Stripe subscriptions
- Add logic to remove line item when quantity is zero
- Optimize line item creation and update process
- Simplify environment check using app() helper method
2025-02-27 15:04:38 +08:00
Julien Nahum d2f938803b Improve Captcha Provider Handling and Availability Checks
- Add conditional rendering for captcha based on site key availability
- Dynamically generate captcha options based on configured providers
- Prevent displaying captcha input when no providers are configured
- Add runtime config checks for captcha site keys
2025-02-27 15:00:56 +08:00
Chirag Chhatrala 308ce7031a
Add localized 'Yes' and 'No' translations for checkbox fields (#710) 2025-02-24 17:08:37 +08:00
Chirag Chhatrala 9c58f2cf6f
integration modal close modal improve (#708)
Co-authored-by: Julien Nahum <julien@nahum.net>
2025-02-24 16:25:06 +08:00
Chirag Chhatrala 65eebb7277
Fix redirect URL mentions (#707) 2025-02-24 16:11:30 +08:00
Julien Nahum d1902112dd Add null check for block type in FormFieldEdit component
- Prevent potential errors when displaying field type information
- Add conditional rendering to handle cases where block type might be undefined
2025-02-19 19:10:13 +01:00
Julien Nahum 28248259be Improve form property logic validation for checkbox conditions
- Update FormPropertyLogicRule to handle operators without values
- Add support for checkbox conditions like 'is_checked' and 'is_not_checked'
- Refactor logic validation in both API and client-side implementations
- Remove unnecessary console.log statements
- Update error modal text for better user experience
2025-02-19 15:11:27 +01:00
Julien Nahum efd31133cc Enhance default field values and block type configuration
- Refactor field options to use default values from blocks_types.json
- Add default values for various form input types in blocks_types.json
- Improve default field initialization logic in FieldOptions and working_form store
- Add camera switching functionality for mobile devices in CameraUpload component
2025-02-19 12:25:26 +01:00
Chirag Chhatrala 83ef18f453
fix camera upload for mobile (#686)
Co-authored-by: Julien Nahum <julien@nahum.net>
2025-02-19 11:23:26 +01:00
Julien Nahum 55b0f57741 Enhance form column settings and table display
- Add "Show all" and "Hide all" buttons in column settings modal
- Improve column width handling and default width management
- Update OpenSelect and OpenText components to support more flexible prop types
- Add z-index to table header for better visual hierarchy
- Refactor column width property from `cell_width` to `width`
2025-02-17 15:51:14 +01:00
Julien Nahum 0d6bd1bfde Update Vapor deployment configuration
Remove redundant `php artisan event:cache` and `php artisan optimize` steps in build and deploy processes
2025-02-15 09:18:27 +00:00
Chirag Chhatrala e7585c32d3
Refactor form property logic rule to load condition mapping from external JSON file (#698)
* Refactor form property logic rule to load condition mapping from external JSON file

* fix CONDITION_MAPPING

* use config file for load mapping

* Simplify condition mapping retrieval in FormPropertyLogicRule

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2025-02-14 22:32:55 +00:00
Chirag Chhatrala 82fae97a3e
Clean up empty HTML and help text in form inputs (#700)
* Clean up empty HTML and help text in form inputs

* Update api/app/Http/Requests/UserFormRequest.php

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

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-02-14 15:23:09 +00:00
Chirag Chhatrala c819e76463
On duplicate form re-generate slug (#703)
* when duplicate remove removed_properties

* when duplicate remove removed_properties

* On duplicate form re-generate slug

* On duplicate form re-generate slug
2025-02-14 15:15:10 +00:00
Chirag Chhatrala 33bd85fd2c
when duplicate form remove removed_properties (#702)
* when duplicate remove removed_properties

* when duplicate remove removed_properties
2025-02-13 15:23:51 +01:00
Chirag Chhatrala 29ef44d50e
Enhance form submissions column management (#691)
* Enhance form submissions column management

* Modernize UI components with Nuxt UI and improved styling

- Refactor RecordOperations component to use UButtonGroup and UButton
- Update FormSubmissions component with Nuxt UI buttons and modal
- Improve table cell styling in OpenTable component
- Simplify column management and export functionality

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2025-02-12 13:48:06 +01:00
Chirag Chhatrala aae28d09cc
Add workspace update functionality (#699)
* Add workspace update functionality

* Refactor workspace settings header layout and edit button styling

* Update workspace route and API endpoint to use root path

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2025-02-12 13:43:55 +01:00
Chirag Chhatrala 1f9a1f835f
Improve resources loading (#692)
* improve load forms

* improve load submissions

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2025-02-11 17:14:44 +01:00
Julien Nahum 853760484c Enhance form logic property resolver and validation UI
- Refactor `shouldBeRequired()` method in FormLogicPropertyResolver for clearer logic and better handling of conditional requirements
- Add comprehensive test cases for dynamic field requirement logic
- Update CustomFieldValidation component with improved UI and guidance for validation setup
- Improve error message and validation rule description in form validation interface
2025-02-11 15:09:21 +01:00
Julien Nahum f5b9b86c16 Refactor checkbox condition logic with new operators
- Replace legacy 'equals' and 'does_not_equal' checkbox operators with 'is_checked' and 'is_not_checked'
- Update FormLogicConditionChecker in PHP and JavaScript to handle new operators
- Modify open_filters.json to reflect new checkbox comparator structure
- Add migration logic in ColumnCondition.vue to support legacy operator conversion
- Improve checkbox condition handling with explicit true/false checks
2025-02-10 22:03:19 +01:00
Julien Nahum b457368398 Merge branch 'main' of https://github.com/JhumanJ/OpnForm 2025-02-10 17:33:08 +01:00
Julien Nahum a27eb0acd4 Optimize PHP extension installation in Dockerfile.api
- Separate PHP extension installation into distinct steps
- Add explicit module verification after each extension installation
- Configure optimization flags for more stable builds
- Improve build process with granular extension configuration
2025-02-10 17:33:01 +01:00
Chirag Chhatrala 9df70b97c7
Add support for additional language locales (#693)
Co-authored-by: Julien Nahum <julien@nahum.net>
2025-02-10 12:33:52 +01:00
Chirag Chhatrala 11d15b56ac
i18n Cookie issue (#694) 2025-02-10 12:29:42 +01:00
Julien Nahum 29640fc70b Enhance Docker API build configuration
- Add system build dependencies for PHP extension compilation
- Update PHP extension installation with explicit configuration
- Configure PostgreSQL extension with explicit path
- Improve build process with parallel extension installation
2025-02-04 20:24:00 +01:00
Chirag Chhatrala 5f0fc2f62d
Quill translate bug (#689)
Co-authored-by: Julien Nahum <julien@nahum.net>
2025-02-03 20:19:03 +01:00
Chirag Chhatrala 717fcc78d1
Fix tag selection method in home page component (#690) 2025-02-03 08:52:26 +01:00
Julien Nahum cc1199f52a Merge branch 'main' of https://github.com/JhumanJ/OpnForm 2025-02-01 22:53:23 +01:00
Julien Nahum f350ed778c Refactor form submission processing with new FormSubmissionProcessor
- Introduce FormSubmissionProcessor service to handle synchronous/asynchronous form submission logic
- Modify PublicFormController to use new processor for submission and redirect handling
- Update StoreFormSubmissionJob to support processed data retrieval
- Add comprehensive test suite for FormSubmissionProcessor
- Improve handling of generated fields and redirect URL processing
2025-02-01 22:52:20 +01:00
nielscodes 3acf046975
Update nginx.conf (#687)
Changed undefined variable original_uri to request_uri which should use the original request uri. (nginx container won't start otherwise)

Co-authored-by: Julien Nahum <julien@nahum.net>
2025-02-01 22:48:53 +01:00
Julien Nahum bb34cd98e5 Update GitHub Actions workflow to use latest GitHub Actions versions
Upgrade GitHub Actions workflow configuration:
- Update actions/checkout from v2 to v4
- Update actions/setup-node from v1 to v4
- Update actions/cache from v2 to v4
- Update actions/upload-artifact from v3 to v4
- Replace deprecated `::set-output` with `>>$GITHUB_OUTPUT`
2025-02-01 22:11:54 +01:00
Julien Nahum 5f0f873fb2 Add configuration option to hide official templates
Introduce a new environment variable and configuration option to allow users to hide official templates in the template gallery. This provides more flexibility for self-hosted instances of OpnForm.
2025-02-01 21:14:28 +01:00
Julien Nahum 932585b9d3 Remove bootstrap cache volume from docker-compose.yml
Simplify Docker configuration by removing an unnecessary volume mapping for the Laravel bootstrap cache directory
2025-01-29 21:45:50 +01:00
Julien Nahum 44a4b983d5 Simplify Docker development setup with minimal configuration
- Remove Redis, queue workers, and scheduler from development environment
- Update docker-compose.dev.yml with simplified service configurations
- Modify Dockerfile.api to support flexible dependency installation
- Update docker-setup.sh script to use single compose file
- Revise Docker development documentation to reflect new lightweight approach
2025-01-29 18:44:42 +01:00
Julien Nahum f7df6bc0d7 Refactor Docker configuration and development setup
- Update .dockerignore with comprehensive ignore patterns for API and client
- Modify docker-compose files to improve service configurations
- Enhance Nginx configuration for development and production environments
- Refactor Dockerfile.api with improved build process
- Add docker-setup.sh script for simplified Docker deployment
- Update update-credentials.vue page with improved UI
- Remove hCaptcha dependency from package-lock.json
- Update PHP configuration and entrypoint scripts
2025-01-29 17:19:36 +01:00