- Introduced `overdueCases` state to track overdue cases in the planner.
- Enhanced `loadCases` function to fetch and store overdue cases.
- Updated `renderCases` to display overdue cases with appropriate labels.
- Modified case card rendering to highlight overdue cases.
fix(telefoni): ensure WebSocket connection on DOMContentLoaded
- Adjusted WebSocket connection logic to handle cases where the script loads after DOMContentLoaded.
test(tests): add tests for case creation and internal ticket handling
- Added tests to ensure ticket creation commits all optional data.
- Implemented tests for internal ticket creation, ensuring correct customer and user assignments.
feat(migrations): add new tables for email configuration and case assignments
- Created `email_connection_configurations` table for managing email settings.
- Introduced `sag_case_assignees` table to handle individual case assignments.
- Added `sag_case_details` table for structured case type details.
- Updated existing case types to align with new templates and added support for internal tickets.
fix(timetracking): allow manual time creation without case customer
- Modified manual time creation to support entries without a customer.
- Updated settlement options to recommend internal settlement for customerless time.
feat(v4): enhance case detail template with new features
- Added new features to the case detail template, including compact icons and inline relation creation.
- Improved comment actions and time tracking functionalities.
- Implemented a comprehensive end-to-end testing script for the Sag module's HTTP API, covering various functionalities including case creation, updates, and file uploads.
- Introduced a safe HTML sanitizer utility to ensure safe rendering of HTML content in the BMC Hub UI.
- Added database migrations for new features including WAN connection marking for wall outlets, permanent audit trails for supplier invoices, and dedicated permissions for the Sag module.
- Created a migration center for manual subscription and invoice migrations with relevant tables and indexes.
- Added tests for migration center functionalities, ensuring stability and correctness of the new features.
- Added filtering for cases based on start date in `sager_liste`.
- Improved fallback relation tree rendering in `sag_detaljer` when tree builder fails.
- Normalized relation types in `RelationService` for consistency.
- Updated relation type display in templates with new styles and improved semantics.
- Enhanced customer handling in detail view with edit functionality.
- Updated various labels for clarity in the UI.
- Added new buttons for deferred status shortcuts in the detail view.
- Improved tag picker resilience by decoupling from optional tag group API.
- Updated the index.html template to include a new column for "Næste todo" in the sag table.
- Added new JavaScript functions to load and manage case statuses in settings.html, including normalization and rendering of statuses.
- Introduced a new tag search feature in tags_admin.html, allowing users to filter tags by name, type, and module with pagination support.
- Enhanced the backend router.py to include a new endpoint for listing tag usage across modules with server-side filtering and pagination.
- Improved the overall UI and UX of the tag administration page, including responsive design adjustments and better error handling.
- Removed opportunity detail page route from views.py.
- Deleted opportunity_service.py as it is no longer needed.
- Updated router.py to seed new setting for case_type_module_defaults.
- Enhanced settings.html to include standard modules per case type with UI for selection.
- Implemented JavaScript functions to manage case type module defaults.
- Added RelationService for handling case relations with a tree structure.
- Created migration scripts (128 and 129) for new pipeline fields and descriptions.
- Added script to fix relation types in the database.