Commit Graph
108 Commits
Author SHA1 Message Date
Jeppe Bundgaard 1ee2da7ad8 Add advanced goal criteria handling with input normalization, duration modes, and improved validation:
- Introduced target duration modes (`weeks`, `months`, `years`, `legacy`) with optional cadence.
- Implemented input normalization for department daily targets and progress alerts.
- Added validations for duration cadence and date ranges.
- Updated internationalization strings for new form fields and validation messages.
- Extended tests for goal criteria serialization, normalization, and API payload generation.
2026-03-24 12:48:54 +01:00
Jeppe Bundgaard f372e59a07 Enhance Workfeed diagnostics and localization:
- Updated `listShifts` diagnostic modal to include new filters (date range, employee, release state) with improved UI/UX.
- Simplified employee and department lookup diagnostics by removing unnecessary search inputs.
- Standardized error handling and validation messages for shift diagnostics.
- Extended localization files across all supported languages with new diagnostic strings.
- Adjusted Workfeed module logic to reflect updated query parameters (`startFrom`, `startTo`, `employeeID`, `released`).
- Updated and added unit and e2e tests to validate new diagnostic flows and parameter constraints.
2026-03-24 11:52:15 +01:00
Jeppe Bundgaard 44031da7b1 Add support for CompanyID in Workfeed configuration and update localization files:
- Extend i18n locales to include `company_id` and `company_id_desc` strings for API synchronization.
- Add `CompanyID` field to Workfeed configuration UI in `ConfigurationWorkfeed.vue`.
- Update unit and e2e tests to validate `CompanyID` functionality.
- Adjust Workfeed module logic to handle `CompanyID` get/set operations.
2026-03-24 11:22:36 +01:00
Jeppe Bundgaard 943bc8ec97 Add Workfeed module with configuration management, diagnostics, and API integration:
- Implement `Workfeed` module with endpoints for employees, shifts, departments, and diagnostics.
- Add configuration UI for enabling Workfeed, API settings (`api_url`, `api_key`), and integration diagnostics.
- Add unit tests for module schema validation, API endpoints, and diagnostics contract.
- Introduce smoke test for Workfeed configuration and modal diagnostics.
- Extend i18n locales to support Workfeed integration.
2026-03-24 11:19:09 +01:00
Jeppe Bundgaard 27bd9df995 Remove debug console.log and console.warn statements, and update translations for booking statuses in locales (en, da). 2026-03-19 13:06:06 +01:00
Jeppe Bundgaard acbeef438b Add "add_to_cart" translations for multiple locales (sv, de, no, en, da) in POS strings. 2026-03-19 12:17:05 +01:00
Jeppe Bundgaard efed5ac557 Introduce origin migration handling with outdated route guards, redirect logic, and migration-related error views.
- Add `originMigration.js` for handling allowed origins, standalone contexts, and redirect routes.
- Create `OutdatedGateway.vue` and `OutdatedInstallation.vue` error views with timer-based redirection and user instructions.
- Update router to include `/outdated-installation` and `/outdated-gateway` paths.
- Implement unit tests for migration utility methods and route guards.
- Remove debug `console.log` statements across multiple components.
2026-03-19 10:44:10 +01:00
Jeppe Bundgaard f619487f6f Implement automatic table Excel exports with unit tests:
- Add `AutoTableExportService` for dynamic Excel export button generation and visible row extraction.
- Integrate auto-export initialization in `main.js` for legacy non-paginated tables.
- Extend `PaginationDisplay.vue` with support for paginated Excel export.
- Add export functionality to vehicle views and dependencies, including full-table export handling.
- Add tests for `TableExcelExportService.js`, export workflows, and normalization logic.
- Enhance localization with `download_excel` translation key.
2026-03-18 12:46:40 +01:00
gold-dev 6223fc8af4 Feat: 202603 - truckwash.io dashboard V3 - slides 2-5 2026-03-17 13:44:14 +02:00
Jeppe Bundgaard 16eb2730b8 Merge remote-tracking branch 'origin/master' 2026-03-16 13:07:51 +01:00
Jeppe Bundgaard aba9f63788 Introduce department goal support in global search UI:
- Add department goal progress retrieval and display in visible result cards.
- Include progress bar, period, and metadata for department goals in the UI.
- Implement caching and lazy loading for department goal data to optimize performance.
- Extend unit tests to cover department goal overview functionality.
- Update translations for department goals in English, Danish, and German locales.
2026-03-16 09:28:32 +01:00
Jeppe Bundgaard cef7a38b0e Refactor global search UI and enhance keyboard navigation:
- Add "shouldBypassTextEntryForSystemSearchKey" utility for improved keyboard event handling.
- Implement "scrollSelectedResultIntoView" for precise result focus management.
- Remove grouped summary views and associated settings (e.g., "showGrouped").
- Refactor entity label resolution with "humanize" and "resolveEntityTypeLabel" utilities.
- Simplify result toolbar with a compact layout and improved accessibility.
- Expand locale updates for entity type translations in English, Danish, and German.
- Update unit tests for new navigation logic, label resolution, and result handling.
2026-03-13 14:01:51 +01:00
gold-dev 6ee08b6333 Merge branch 'master' of https://github.com/copenhagentruckwash/pleno-vue 2026-03-13 11:03:21 +00:00
gold-dev 7515db2d80 Feat: 202603 - truckwash.dk and truckwash.io edits - V10 8-13 2026-03-13 10:58:24 +00:00
Jeppe Bundgaard dfe8eaa882 Refactor global search UI and functionality:
- Enhance entity alias resolution with extended mappings and alias normalization.
- Add display labels, icons, created timestamps, and cancellation status to result cards.
- Update styles to highlight cancelled results and improve visual hierarchy.
- Expand i18n support for new labels in multiple locales, including `created`, `status`, and `cancelled`.
2026-03-13 00:50:54 +01:00
Jeppe Bundgaard 53ee2a0271 Correct casing and improve descriptions in Danish locale JSON for search-related UI labels. 2026-03-13 00:22:28 +01:00
Jeppe Bundgaard 93bf309626 Fix encoding issues and correct terminology in Danish locale JSON. 2026-03-13 00:17:54 +01:00
Jeppe Bundgaard e259b20548 Fix encoding and translation issues in Danish locale JSON. 2026-03-13 00:16:01 +01:00
Jeppe Bundgaard 3c4fdaeb3a Add Danish i18n translations for advanced system search, including UI labels, settings, actions, errors, and diagnostic tools. 2026-03-13 00:10:04 +01:00
Jeppe Bundgaard 843ab12ffa Update Danish i18n translations to fix encoding and correct terminology. 2026-03-13 00:04:25 +01:00
Jeppe Bundgaard 2977523d0b Update Swedish i18n translations to fix encoding and correct terminology 2026-03-12 23:49:30 +01:00
Jeppe Bundgaard bade01b92a Update i18n translations for Swedish locale to fix incorrect encoding issues. 2026-03-12 22:57:48 +01:00
Jeppe Bundgaard c97d5c09d7 Update i18n translations for Swedish, German, and Norwegian locales; refactor invoice distribution API with enhanced fallback logic for v2 split and legacy endpoints; and add unit tests for distribution methods and UI integration. 2026-03-12 19:53:52 +01:00
Jeppe Bundgaard 75b7aad56a Add unit tests for invoice distribution API, enhance v2 bulk comparison handling, and update UI/locale for customer price metrics. 2026-03-12 18:50:54 +01:00
Jeppe Bundgaard db2040570e Add superuser invoice distribution module:
- Integrate departmental distribution view with monthly breakdowns, filters, and metrics.
- Add support for comparisons, source blends, and allocation trends.
- Update i18n translations for English, Swedish, German, and Norwegian.
- Extend router with distribution-specific routes.
- Add unit tests for route mapping, tabs, and view integrations.
- Update e2e tests for API routes.
2026-03-12 17:34:26 +01:00
gold-dev 7196bd1ca8 Feat: 202603 - truckwash.dk and truckwash.io edits - V10 2-7 2026-03-12 12:03:49 +02:00
Jeppe B 22b3240a10 Add department gates and relays management objects and UI 2026-03-03 12:12:39 +01:00
Jeppe Bundgaard 601ab3db04 Merge remote-tracking branch 'origin/master' 2026-03-02 17:02:57 +01:00
Jeppe Bundgaard 8e7be044cc Add self-serve support for departments and localized warning for staffed hours 2026-03-02 13:25:40 +01:00
gold-dev d45cf9598e Feat: Change about us section 2026-02-27 11:45:30 +02:00
Jeppe Bundgaard ee04e213f1 Add Connectivity Issue Page and Improve Table Semantics
- Introduced `ConnectivityIssue.vue` for handling and displaying connectivity problems.
- Added new route for the connectivity issue error page.
- Enhanced accessibility by wrapping table headers in `OrderBookingsTable.vue` with `<thead>` and `<tbody>` tags.
- Included connectivity-related internationalization keys across various locale files.
- Updated components to integrate `ConnectivityIssue` as a fallback display for connection errors.
2026-02-25 12:59:10 +01:00
Jeppe Bundgaard d870eb9257 Update package versions to ensure compatibility
- Locked versions for `axios`, `sweetalert2`, and `vite` to specific releases.
- Updated multiple Babel helper and plugin packages to newer versions for enhanced functionality.
- Upgraded various esbuild packages and enforced Node.js version >=18 requirement.
- Added missing MIT licenses for dependencies in `package-lock.json` for clarity.
2026-02-24 15:17:09 +01:00
Jeppe Bundgaard b2a6ede616 Add Two-Factor Authentication (2FA) to login and profile management
- Integrated 2FA check and handling in user and employee login workflows with `TwoFactorVerify` component.
- Added 2FA setup, enable, and disable functionalities in `UserProfile` and related management views.
- Enhanced internationalization files with 2FA-related translations for multiple locales.
- Created `TwoFactorAuthService.js` to handle API calls for 2FA setup and verification processes.
2026-02-23 22:22:36 +01:00
Jeppe Bundgaard be60ce8fdf Integrate passkey authentication and management
- Added passkey support for secure, passwordless authentication using WebAuthn.
- Implemented passkey management in user profiles, enabling users to add, rename, and delete passkeys.
- Updated authentication forms to support passkey login, including feature detection and login flow.
- Enhanced internationalization files with passkey-related translations for multiple locales.
- Introduced new components and services for handling passkey operations and WebAuthn interactions.
2026-02-23 21:59:01 +01:00
Jeppe Bundgaard 2ede884959 Add force enable/disable machine functionality for department lanes
- Introduced endpoints to handle force enable/disable machine actions (`/modules/self-serve/lane/force/machine/enable`, `/disable`).
- Updated OpenAPI spec to document the new endpoints.
- Extended `DepartmentLane.vue` and `departmentLanesTable.vue` with buttons for force enable/disable, including loading states and toast notifications.
- Added corresponding i18n translations for force control actions.
- Created E2E tests to verify translation keys, non-empty values, and source file functionality in `department-lane-force-machine.spec.js`.
2026-02-19 11:39:36 +01:00
Jeppe Bundgaard fe5140f74a Add dynamic image and button handling for department lanes and self-serve tasks
- Updated i18n files to include "Dynamic Image ID" translations.
- Extended `SelfServeTasks` and `DepartmentLanes` with columns for dynamic image and button configurations.
- Integrated new OpenAPI endpoint to generate dynamic images for department lanes.
- Enhanced tables, forms, and dashboards to display and manage new attributes.
2026-02-18 16:53:13 +01:00
Jeppe Bundgaard 3129d9398f Update Danish translations and refactor i18n usage in subuser login form
- Expanded and improved Danish translations in `da.json` for `auth` and `common` sections.
- Refactored `SubuserLoginForm.vue` to utilize `useI18n` for dynamic text rendering.
- Enhanced i18n key usage for labels and placeholders in the form.
2026-02-18 12:50:05 +01:00
Jeppe Bundgaard ee670b9f5e Add Buefy loading component and refine Danish translations
- Introduced `b-loading` component from Buefy for improved loading state visualization in `UserDashboard.vue`.
- Added computed property `isPermissionsLoading` to manage permission loading states dynamically.
- Updated Danish translations in `da.json` for improved clarity and consistency (`customer_creation`, `customer_login`).
2026-02-18 11:27:57 +01:00
Jeppe Bundgaard 382d9e6f6b Add and organize comprehensive Swedish translations (sv.json)
- Added extensive Swedish translations for dashboards, reports, bookings, POS components, settings, and common actions.
- Reorganized and expanded i18n keys for greater maintainability and consistency across multilingual support.
- Aligned sv.json with existing `en.json` and `da.json` structures to ensure seamless integration.
2026-02-17 17:21:09 +01:00
Jeppe Bundgaard 9f5fba3400 Extend i18n integration for department SMS notifications and labels
- Replaced hardcoded text with dynamic translations using `$t` and `i18n.global.t`.
- Updated `en.json` and `da.json` with new translation keys for SMS notifications, country codes, and related labels.
- Improved multilingual consistency and maintainability across components.
2026-02-17 15:50:28 +01:00
Jeppe Bundgaard 76e5b03bc2 Extend i18n integration in DepartmentDailyReport components
- Added new translation keys (`quantity_sold`) in `en.json` and `da.json` for improved multilingual support.
- Replaced hardcoded labels in `DepartmentDailyReportCount.vue` with computed properties using dynamic translations from `useI18n`.
- Improved maintainability and consistency by centralizing reusable strings.
2026-02-17 15:35:52 +01:00
Jeppe Bundgaard fe3f4b10f0 Extend i18n integration across dashboards, reports, and components
- Updated `en.json` and `da.json` with comprehensive translation keys for department dashboards, booking reports, tables, and POS components.
- Replaced hardcoded strings with dynamic translations using `$t` in multiple components for multilingual consistency.
- Improved maintainability by organizing and centralizing reusable translation keys.
2026-02-17 15:25:32 +01:00
Jeppe Bundgaard 2266e3908f Extend i18n integration for time bookings and POS components
- Added new translation keys in `en.json` and `da.json` for time bookings (placeholders, labels, and actions) and POS component buttons.
- Improved localization for registration numbers, license plate inputs, and booking flows.
2026-02-17 15:13:21 +01:00
Jeppe Bundgaard b0a2c0216f Expand i18n integration across component actions and admin settings
- Replaced hardcoded texts in `ActionSettingsWheelButton.vue` and related components with dynamic translations using `useI18n` for improved multilingual consistency.
- Updated `en.json` with new translation keys for buttons, modals, and action labels.
- Consolidated unused translation keys and improved maintainability by centralizing reusable strings.
2026-02-17 14:57:13 +01:00
Jeppe Bundgaard 16d63a2710 Expand i18n integration across dashboards and components
- Replaced hardcoded text with dynamic translations using `useI18n` or `$t` across multiple dashboards and components.
- Localized labels, placeholders, titles, subtitles, error messages, table headers, buttons, and actions.
- Extended and centralized translation keys for improved multilingual support and maintainability.
2026-02-17 14:16:41 +01:00
Jeppe Bundgaard fe3318e6ac Extend i18n integration across components
- Replaced hardcoded text with dynamic translations using `useI18n` or global `i18n` in multiple components and dashboards.
- Localized buttons, placeholders, labels, table headers, error messages, and object metadata, enhancing multilingual support.
- Improved maintainability by introducing and centralizing new translation keys.
2026-02-17 13:39:43 +01:00
Jeppe Bundgaard 27f6de8b42 Localize titles, subtitles, and error messages across dashboards and tables
- Replaced hardcoded titles, subtitles, and error messages with dynamic translations using `$t` across dashboard and table components.
- Enhanced i18n support by introducing new translation keys for improved multilingual consistency.
2026-02-17 13:16:55 +01:00
Jeppe Bundgaard 6c2ca85dee Localize tables and improve i18n integration
- Replaced hardcoded labels and placeholders with dynamic translations using `i18n` across multiple table components (`PosLastScannedLicensePlates.vue`, `InvoiceCollectionsTable.vue`, `ordersSyncTable.vue`, etc.).
- Added comprehensive translation keys for table headers, actions, and states to improve multilingual support.
- Enhanced maintainability by centralizing reusable translation keys.
2026-02-17 13:06:39 +01:00
Jeppe Bundgaard fd8b86987f Localize objects and enhance i18n integration
- Replaced hardcoded labels in `Bookings.vue`, `Orders.vue`, and `Vehicles.vue` with dynamic translations using `i18n`.
- Added comprehensive translation keys for `objects` in `en.json` and `da.json`.
- Improved multilingual support for objects metadata, columns, and labels.
2026-02-17 12:56:40 +01:00
Jeppe Bundgaard 665dc61d98 Localize global objects and extend i18n support
- Replaced hardcoded text in `ObjectsGlobal.vue` with dynamic translations using `i18n`.
- Centralized global translation keys in `en.json` and `da.json` under the `global` namespace.
- Improved multilingual support and maintainability for global object labels and actions.
2026-02-17 12:52:12 +01:00