Commit Graph
80 Commits
Author SHA1 Message Date
Jeppe Bundgaard c95116f2c9 Add float type support and SQL handling for float values in object properties
- Included `float` as a valid type in type validation.
- Added SQL update logic for handling float values in object properties.
2025-08-27 08:40:24 +02:00
Jeppe Bundgaard a0fd41fba1 Add image upload support, file handling improvements, and OpenAI integration
- Introduced `uploadRoute` to handle image uploads with MIME type validation and size restrictions.
- Added `upload_store` class for managing file storage and generating presigned URLs for upload/download.
- Enhanced file server to differentiate between PDFs and uploaded files, supporting dynamic content delivery.
- Integrated OpenAI module for License Plate Recognition (LPR), including API configuration and schema validation.
- Updated core structure with new interfaces (`minio_uploads_i`, `openai_i`) and classes (`openai`, `upload_store`).
- Adjusted `index.php` and file routes to support dynamic MIME checks and direct link generation.
2025-08-18 16:50:30 +02:00
Jeppe Bundgaard abd21e0ad7 Add OCR processing integration and module scanner routes
- Implemented `get_ocr_result` method in the `ocr_space` class to interact with the OCR Space API.
- Added `process_ocr` method to `image_processor_t` for handling OCR logic.
- Updated interfaces (`ocr_space_i` and `image_processor_i`) to support OCR functionality.
- Introduced `moduleScannerRoute` with endpoints for testing and license plate recognition workflows.
- Included data validation and exception handling for OCR processing.
2025-08-06 15:19:43 +02:00
Jeppe Bundgaard 69ceafcce6 Add OCR Space module with configuration and image processing support
- Introduced `ocrSpace` module with classes: `ocr_space`, `ocrSpace_c`, and configuration objects for `enabled` and `api_key`.
- Added routes for fetching and updating OCR Space configuration.
- Created `image_processor` class and interface for handling and processing base64-encoded images.
- Integrated new traits and classes for image validation and processing.
- Updated `index.php` to include `ocr_space` and `image_processor`.
2025-08-06 10:27:39 +02:00
Jeppe Bundgaard af3b0666fb Add import tasks and new parsers to XL Vask module
- Introduced `runImportTasks` method for vehicle, user, and usage log imports.
- Added new product parsers: `ht_b_rstel_s`, `ht_turbo`, and `ikke_b_rster_p_kabinen`.
- Implemented simulation and duplicate detection for usage logs via order objects.
- Updated usage log handling to include default customer checks and user association.
- Enhanced request handling with fast-link functionality for usage orders.
2025-07-21 10:32:56 +02:00
Jepp9350 ffd0606ece Enhance xlvask_tasks: introduce date range options and additional debug outputs for runSyncUsage. Add new parsers xlvask_parser_ingen_b_rster_foran_no_brush_wash_front and xlvask_parser_ht_dysebom and integrate into xlvask_helpers. Improve rate limiting and reduce FastCGI timeout in nginx configuration. Adjust execution time and memory limits in cli.php. 2025-07-14 09:22:32 +02:00
Jepp9350 6b80637208 Refactor InvoicingPeriodRoute and vehiclesRoute: streamline invoicing period data retrieval, enhance transaction handling across customer types, introduce new methods for efficient object construction, and add improved type validation in object_property. 2025-06-30 14:37:37 +02:00
Jepp9350 e0f582289f Refactor orders_o, InvoicingPeriodRoute, and object_property: enhance ID validation, streamline customer processing, and improve method structures for better data handling. 2025-06-26 16:55:37 +02:00
Jepp9350 75e3efcb89 Introduce xlvask_helper base class and refactor XLVask helper classes to extend it. Add methods for XLVask vehicle checks and retrievals, enhance vehicle caching functionality, and update helper class instantiation logic. 2025-06-19 11:06:53 +02:00
Jepp9350 9a92f14637 Add support for XLVask vehicle management helpers, implement GUID generation, vehicle type handling, and createVehicle method in endpoints. Extend route logic and refine class imports. 2025-06-17 17:16:13 +02:00
Jepp9350 9371883138 Expand Limble module with additional helper classes, task formatting logic, webhook handling, configuration endpoints, and extended API request support. 2025-06-12 15:15:26 +02:00
Jepp9350 facd2a312a Introduce Limble module with core interfaces, helper classes, and initial implementation. 2025-06-12 13:10:34 +02:00
Jepp9350 f8c0c5a78c Extend order selection logic with registration number and date range in orders_o, update Slack messaging for modules, and implement potential order detection in XLVask tasks. 2025-06-11 09:38:21 +02:00
Jepp9350 5934a339d8 Add caching support for xlvask module with Redis-backed xlvask_cache implementation 2025-06-03 10:18:35 +02:00
Jepp9350 ff4c18a45d Add key expiration support in Redis class with expire method implementation 2025-06-03 10:16:58 +02:00
Jepp9350 b0173193f2 Add task helpers and cron job support for xlvask module with user synchronization endpoint integration 2025-06-03 09:09:50 +02:00
Jepp9350 efc564c7f4 Refactor Entra module to remove calendar retrieval and update user endpoint 2025-05-27 08:32:57 +02:00
Jepp9350 743928459e Add customer default department handling and routes 2025-05-26 16:58:09 +02:00
Jepp9350 543a02c8e6 Update dependencies in composer.lock
Upgraded multiple dependencies to their latest versions to ensure compatibility, address bug fixes, and incorporate new features. Notable updates include `aws/aws-sdk-php`, `guzzlehttp/guzzle`, `illuminate/*`, and several others.
2025-05-21 15:07:04 +02:00
Jepp9350 bf68432484 Add Graph API client integration to entra class
Introduce methods to initialize a GraphServiceClient and ClientCredentialContext, leveraging configuration values for authentication. This enables interaction with Microsoft Graph API in a structured and secure manner.
2025-05-21 14:44:39 +02:00
Jepp9350 458e2916a6 Add Entra module for handling Microsoft integration
This commit introduces the Entra module, enabling configuration management and handling callbacks for Microsoft's authorization. It includes new classes, routes, and configuration variables to support integration, ensuring flexibility and logging support for related operations.
2025-05-21 14:20:50 +02:00
Jepp9350 ca71c34b75 Add department time bookings functionality
Implemented management of department time bookings, including API routes, objects, and logic for opening hours, types, and entries. Enhanced the gateway API to handle optional empty recipient handling.
2025-05-13 12:33:44 +02:00
Jepp9350 023b6992b6 Add xlvask module API integration
Introduced xlvask module with request handling, endpoints, and route mappings. Implemented functionalities to fetch usage logs, vehicles, and customers from the API, along with basic authentication support. Includes error handling and configuration setup for seamless integration.
2025-05-08 14:03:13 +02:00
Jepp9350 5550e2e57f Add xlvask module with configuration and API endpoints
Introduce the xlvask module, including classes for configuration variables (enabled, username, password) and main functionality. Integrated xlvask into the app by adding GET/POST API routes for managing its configuration.
2025-05-08 12:17:27 +02:00
Jepp9350 56fa77be11 Remove unnecessary return statement in slack.php
The return statement was redundant as the function naturally concludes without it. Removing it improves code clarity and eliminates dead code.
2025-04-22 15:47:57 +02:00
Jepp9350 7a48710fb1 Validate recipients and improve SMS notification handling
Add recipient validation to the SMS gateway API to ensure no empty recipient arrays are processed. Enhance department SMS notification logic by dynamically retrieving phone numbers and logging failures for improved error tracking. Simplify SMS delivery flag logic for better readability.
2025-04-22 15:24:04 +02:00
Jepp9350 6edb1fdd8d Add support for fetching economic payment terms
Introduced `economicPaymentTermsRoute` and `economic_payment_terms_endpoint` to handle fetching payment terms from the economic API. Updated the `economic` class to include the new payment terms endpoint. Logging and session validation were also implemented for enhanced traceability and security.
2025-04-22 12:30:39 +02:00
Jepp9350 6efa414251 Refactor SMS and notification logic; add email template.
Updated the SMS sending logic to improve validation and handling of recipients in `gatewayapi.php`. Refactored notification conditions in `bookings_o.php` to ensure proper fallback mechanisms. Additionally, included a new booking notification email template in `email.php`.
2025-04-14 09:58:25 +02:00
Jepp9350 4248a585d9 Add email and notification improvements for bookings
Refactored notification methods to handle Slack, SMS, and email delivery logic more effectively. Introduced `sendBookingNotification` email functionality and a new template for booking notifications. Improved handling of booking data for emails and centralized logic for retrieving booking details.
2025-04-11 12:16:11 +02:00
Jepp9350 b6f2629bed Add invoice splitting, booking notifications, and minor fixes
Implemented functionality to split collected order invoices, ensuring proper validation and handling processor constraints. Added a notification system to inform departments about new bookings via Slack or SMS. Also, included minor enhancements such as a corrected Gateway API URL and improved form handling for wash certificate emails.
2025-04-11 09:39:49 +02:00
Jepp9350 c8df3230d1 Remove unused form and enhance wash certificate handling
The `book_interior_wash_f` form was removed due to redundancy. Added functionality to handle wash certificate generation, including safety seal and operator data, and added a new form `complete_booking_f` to finalize bookings without certificates. Adjustments were made to several related components to ensure seamless integration.
2025-04-10 12:57:29 +02:00
Jepp9350 849f1cc53e Add GatewayAPI module with configuration, routing, and core logic
Introduced a new GatewayAPI module to handle SMS messaging integration. This includes interfaces, core classes for API interaction, configuration management, and routing for config retrieval and update. Added necessary initializations in `index.php` to integrate the module seamlessly.
2025-04-10 10:51:32 +02:00
Jepp9350 110ac5c28f Enhance PDF generation and wash certificate functionality
Added support for presigned URLs in PDF responses and improved image handling by dynamically setting dimensions. Refactored and expanded wash certificate templates with additional fields and styles, along with a new background template. Updated HTML2PDF configuration for better rendering and full-page display mode.
2025-04-09 14:19:06 +02:00
Jepp9350 e4ec92d66c Add Stripe payment intents support and product subscription flag
Introduced functionality for handling Stripe payment intents, including creation, retrieval, and cancellation. Added a subscription_allowed flag to products for enabling subscription-specific operations. Integrated the necessary backend endpoints, object property updates, and route handling logic.
2025-04-08 14:11:11 +02:00
Jepp9350 60bcbb6e75 Enhance invoice handling and filtering mechanisms
Refactored invoice draft handling to improve error checks, added support for optional fetch skipping, and enhanced currency management. Expanded filtering capabilities with date range and attribute-based filters. Adjusted Nginx config to increase FastCGI read timeout for long-running processes.
2025-04-07 07:43:47 +02:00
Jepp9350 8bc4252089 Add Economic invoice overview and draft check functionalities
Introduce new endpoints for viewing Economic invoice summaries and running draft checks. Implement `economic_tasks` helper for managing draft validations, and enhance `collected_order_invoices_o` and SQL clauses to improve query flexibility, including handling "NOT NULL" filters.
2025-04-02 15:08:57 +02:00
Jepp9350 5f65c5ea65 Add new routes and enhance invoice handling in backend
Introduced new superuser-only routes for handling collected invoices, including viewing invoices per order/month, invoice totals, and transactions. Enhanced validation for invoice closure with processors and added support for database views in multiple classes and objects. These updates improve backend functionality and data granularity while maintaining strict permission control.
2025-04-01 11:53:54 +02:00
Jepp9350 68ab9bc84c Add support for dynamic currency conversion in invoices
Introduced dynamic currency handling in invoice generation by adding methods to set currency and retrieve conversion rates. Adjusted logic to ensure accurate currency conversions when processing orders, draft invoices, and customer data. Default behavior falls back to DKK if no currency is specified.
2025-03-31 14:42:19 +02:00
Jepp9350 9b53ae4403 Add fxratesapi module for currency conversion functionality
Integrated a new fxratesapi module to handle currency conversions, including API configurations, rate conversion actions, and request logging. Added support for module settings such as enablement status, API key, and daily request limits. New routes, database interactions, and object handling were implemented to facilitate the module's operations.
2025-03-31 13:19:45 +02:00
Jepp9350 8aee687106 Add new booking handling features and improve validations
Introduced support for a `data` property in bookings, extended form handling with additional validation and input fields, and added functionality for retrieving booking counts by date and status. Improved safety seal labeling and enhanced PDF generation comments.
2025-03-27 10:53:54 +01:00
Jepp9350 4deef9dc09 Add branding feature with form, route, and object implementations
Introduced a new branding functionality, including a `branding_o` object, `create_branding_f` form, and associated routes in `BrandingRoute`. Refactored the forms directory for better organization and added support for branding in departments. Extended validation, object handling, and response handling to accommodate this new feature.
2025-03-26 11:04:12 +01:00
Jepp9350 6f36dc230a Add wash certificate email functionality with attachments
Integrates a new method to send wash certificate emails, including support for attaching PDFs. Updates the email system to handle attachments and streamlines booking processes to send certificates upon completion.
2025-03-25 19:10:04 +01:00
Jepp9350 54940e7cd7 Add wash certificate generation feature and refine booking logic
Introduces a form for generating wash certificates associated with bookings, along with validations and access restrictions. Refactors booking management to integrate a new `bookings_new_o` class, enhancing structure and adding functionalities like caching and detailed error handling.
2025-03-25 18:40:42 +01:00
Jepp9350 78928a6c1b Add interior wash booking form and enhanced form validation
Introduce `BOOK_INTERIOR_WASH` functionality with new input fields, setup, and email confirmations in the booking process. Refactor form validation to include advanced field metadata, conditional display logic, and stricter validation requirements. Implement reusable methods for field requirement checks, sanitization, and dynamic metadata handling for better form management.
2025-03-25 13:09:34 +01:00
Jepp9350 82a6349218 Add booking confirmation email functionality
Implemented a new booking confirmation email template and its integration with email sending functionality. Updated form handling to trigger confirmation email after submission and enhanced error handling on department validation.
2025-03-24 14:40:22 +01:00
Jepp9350 45328a6b72 Add PDF generation module with HTML2PDF integration.
This commit introduces a new PDF generation module leveraging the HTML2PDF library. The module generates PDFs from HTML templates, supports customization through styles and templates, and integrates with Minio for storage and retrieval. A test route is added for generating and serving PDFs dynamically.
2025-03-14 14:56:55 +01:00
Jepp9350 ac6976cb43 Refactor Slack message formatting for new bookings.
Updated the message format to simplify content, translate to Danish, and remove unnecessary fields. This improves clarity and aligns with localized conventions.
2025-03-13 15:23:31 +01:00
Jepp9350 f045611794 Add form handling system for dynamic form operations
Implemented a robust form management system with validation, sanitization, and database integration. Added reusable traits, classes, and methods to define, submit, and process forms. Introduced a "Book a Wash" form as an example implementation.
2025-03-12 14:35:21 +01:00
Jepp9350 a02729d5c6 Add module action handling and license plate lookup logging
Implemented `module_action_t` trait to standardize module actions with validation, logging, and execution. Added `module_action_logs_o` for logging module actions and integrated `license_plate_lookup_a` in motorapi for license plate lookup requests. Enhanced error handling to log failed actions and provide detailed feedback.
2025-03-05 11:11:09 +01:00
Jepp9350 9e46140373 Add support for handling economic invoice drafts/booked IDs
Added methods to check and retrieve economic invoice draft and booked IDs, improving invoice tracking functionality. Introduced a new method in the economic endpoint to fetch booked invoice details using external IDs. Additionally, updated the object property class to handle integer values during SQL updates.
2025-03-03 16:55:09 +01:00