Commit Graph

366 Commits

Author SHA1 Message Date
Christian
6133823ade Fix tag addition error handling and add legacy support for case tags
- Improved error handling when adding tags by parsing JSON response safely.
- Added support for legacy tag addition via the /sag/{id}/tags endpoint for case context.
- Enhanced user feedback for tag addition errors and success notifications.
2026-04-27 01:12:33 +02:00
Christian
5bd54a27dc Refactor code structure for improved readability and maintainability 2026-04-26 13:14:53 +02:00
Christian
dee82af2ea Refactor UI components and layouts for improved user experience
- Removed outdated design_forslag_top3_ny_side.html file.
- Updated bottom-bar.js to add back button functionality for better navigation.
- Introduced new sidebar layout in design_forslag_1_sidebar.html for enhanced information display.
- Created design_forslag_2_kompakt.html featuring a compact action ribbon for streamlined interactions.
- Developed design_forslag_3_kort.html implementing a widget cards dashboard for a cleaner overview of case details.
2026-04-24 23:12:51 +02:00
Christian
3452472ba9 Add migrations for recent cases, time tracking pause/resume, and user notes
- Created `sag_recent_cases` table to persist recently opened cases per user for quick access in the bottom bar.
- Added pause/resume support in `tmodule_times` by introducing `paused_at` and `pause_total_seconds` columns.
- Established `user_notes` table for personal user notes with indexing for active and updated notes, along with a trigger to update the `updated_at` timestamp on modifications.

Co-authored-by: Copilot <copilot@github.com>
2026-04-24 11:28:12 +02:00
Christian
ca6640c33c feat: Enhance case detail view with tab count badges and importance bubbles 2026-04-23 23:42:31 +02:00
Christian
fcc7192015 feat: Add rental statistics and pricing tabs to hardware detail view 2026-04-21 18:59:30 +02:00
Christian
4a52bdb5d6 feat: Implement quick-rent functionality for hardware assets
- Added QuickRentCreateInput model to handle quick-rent requests.
- Introduced quick_rent_preview endpoint to check existing subscriptions.
- Created quick_rent_hardware endpoint to manage rental subscriptions, asset bindings, and startup order drafts.
- Updated SQL queries to ensure proper data retrieval and handling.
- Added default rental price columns to hardware_assets table via migration.
- Enhanced UI in sag templates for better user experience and accessibility.
- Refactored existing code for improved readability and maintainability.
2026-04-21 01:34:40 +02:00
Christian
8e8616c835 feat: Enhance vendor and customer linking functionality
- Added endpoints to link and unlink customers to vendors, including validation for relationship types.
- Implemented a UI for managing linked customers in the vendor detail view.
- Introduced a search feature for customers when linking to vendors.
- Updated database schema to support customer-vendor relationships with necessary constraints and indices.
- Added migration scripts for new tables and fields related to supplier invoices and customer-vendor links.
- Modified bottom bar visibility in the frontend for improved user experience.
2026-04-15 09:34:26 +02:00
Christian
13dc1736b4 feat: Implement supplier invoice case traceability and purchase line classification 2026-04-12 09:26:35 +02:00
Christian
ceb560e2f2 feat: Add bottom bar functionality with real-time updates and manual endpoint tests
- Implemented a new bottom bar feature in `bottom-bar.js` that fetches and displays various notifications and statuses in real-time.
- Added functions for handling visibility, state updates, and user interactions within the bottom bar.
- Introduced WebSocket connection for real-time updates and fallback polling mechanism.
- Created a manual testing script `test_manual.py` to validate API endpoints for the manual module.
- Included tests for various paths to ensure expected responses from the server.
2026-04-12 02:27:01 +02:00
Christian
270af0e277 feat(anydesk): Implement multi-ID support for AnyDesk cases
- Added endpoints to list, upsert, and delete AnyDesk IDs associated with cases.
- Introduced normalization for AnyDesk IDs and ensured case existence checks.
- Enhanced session management with quick-connect functionality and local session synchronization.
- Created a new job for syncing AnyDesk sessions from a local endpoint.
- Added database migration for the new `sag_anydesk_ids` table to store AnyDesk IDs per case.
2026-04-06 12:46:04 +02:00
Christian
ee8c517acc feat(manual): add admin interface for creating and editing manuals
- Implemented admin page for manual articles with fields for title, module, difficulty, tags, summary, content, steps, and relations.
- Added preview functionality for markdown content.
- Created list view for recent manuals with edit and view options.
- Developed detail view for individual manuals displaying content, steps, and related guides.
- Established database schema for manual articles, steps, and relations with appropriate indexing.
- Seeded initial manual articles and steps for core functionalities.
- Normalized newline characters in existing manual content.
- Added additional manuals and steps for enhanced user guidance.
2026-04-05 21:48:59 +02:00
Christian
807c68679e feat: Enhance case listing and detail views with improved filtering and relation handling
- 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.
2026-04-04 02:46:37 +02:00
Christian
1f834160ca Add ability to change case customer from case detail 2026-04-03 01:24:20 +02:00
Christian
fb2243f0d4 Preserve email body in auto-created cases and backfill missing content 2026-04-03 00:50:34 +02:00
Christian
267f7e716c Add idempotent migration to repair SAG email threading schema 2026-04-02 23:01:31 +02:00
Christian
73c477bcea Add caseTypeKey fallback to prevent module load cascade on parse errors 2026-04-02 22:06:37 +02:00
Christian
ae6217b976 Fix case tabs fallback and harden sag email-links loading 2026-04-02 21:44:56 +02:00
Christian
9be8b57303 Fix email case auto-create guard and CreateSagFromEmailRequest fields 2026-04-02 09:40:23 +02:00
Christian
0edb78f2ea fix: harden case files endpoints when sag_files table/schema is missing 2026-04-02 00:22:05 +02:00
Christian
c99790a710 fix: expose migrations execute API route and preserve real migration errors in UI fallback 2026-04-01 23:55:20 +02:00
Christian
ba601e38b1 Merge branch 'feature/sag-tidsforbrug-v1' 2026-04-01 21:36:23 +02:00
Christian
30d1be61eb feat: Add global search functionality and email results section
- Introduced a global search button and modal for enhanced user experience.
- Added a new section for displaying email results in the global search modal.
- Implemented functionality to fetch and display emails based on user queries.
- Updated the UI to include a reminders button and improved accessibility features.

fix: Update docker-compose to allow reload configuration

- Changed ENABLE_RELOAD environment variable to default to true for easier development.

chore: Update requirements for new dependencies

- Added brother_ql, pyzbar, and pypdfium2 to requirements for label printing and PDF processing.

feat: Implement Brother label printing service

- Created a new service for printing labels using Brother QL printers.
- Supports direct printing of case hardware labels with customizable layouts.

feat: Add Vaultwarden service for credential management

- Implemented a service to interact with Vaultwarden for secure credential storage and retrieval.

sql: Add migrations for email thread keys and document tokens

- Created migrations to backfill email thread keys and manage document tokens for work orders.
- Introduced new tables and updated existing structures to support token-based linking of scanned documents.

sql: Import links into the database

- Added a script to import a predefined set of links into the database with associated categories.
2026-04-01 21:34:58 +02:00
Christian
bc504b9257 feat: Add subscription management functionality and AnyDesk API integration
- Implemented subscription creation, updating, and rendering in script_9.js.
- Added functions for handling subscription line items, product selection, and total calculations.
- Integrated AnyDesk API for session management in test_anydesk.py.
- Created REST client test requests for API endpoints in api.http.
- Developed a script to check ESET machine status and save details in tmp_check_eset_machine.py.
2026-03-30 07:50:15 +02:00
Christian
5b24c5d978 fix: stabilize call->case prefill and migration status routing 2026-03-26 00:32:54 +01:00
Christian
9f563941e6 feat: add migration validation script and enhance migration status UI 2026-03-25 22:49:33 +01:00
Christian
205c0dab07 feat(timetracking): start sag tidsforbrug v1 backend+ui 2026-03-25 16:33:49 +01:00
Christian
43fd651723 Release v2.2.67: mission touch UX, camera/webhook, env temperature feed 2026-03-25 13:46:03 +01:00
Christian
daf2f29471 feat: improve billing, sag, orders, and email workflows 2026-03-23 20:35:15 +01:00
Christian
a8eaf6e2a9 feat: enhance tag management and search functionality
- 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.
2026-03-20 18:43:45 +01:00
Christian
92b888b78f Add migrations for seeding tags and enhancing todo steps
- Created migration 146 to seed case type tags with various categories and keywords.
- Created migration 147 to seed brand and type tags, including a comprehensive list of brands and case types.
- Added migration 148 to introduce a new column `is_next` in `sag_todo_steps` for persistent next-task selection.
- Implemented a new script `run_migrations.py` to facilitate running SQL migrations against the PostgreSQL database with options for dry runs and error handling.
2026-03-20 00:24:58 +01:00
Christian
dcae962481 release: v2.2.65 fix AI prompt tests and case email threading 2026-03-18 13:49:33 +01:00
Christian
243e4375e0 Add QuickCreate heuristic fallback when AI unavailable 2026-03-18 10:29:45 +01:00
Christian
153eb728e2 Fix QuickCreate AI request payload 2026-03-18 10:25:47 +01:00
Christian
73803f894b Fix SAG detail right column nesting 2026-03-18 09:58:31 +01:00
Christian
60d692c085 Fix SAG tab pane top rendering fallback 2026-03-18 09:46:33 +01:00
Christian
beaea0288c release: v2.2.60 enforce active sag tab top view 2026-03-18 09:29:57 +01:00
Christian
e07932f2cc release: v2.2.59 robust sag tab content scrolling 2026-03-18 08:57:29 +01:00
Christian
7a95623094 release: v2.2.58 sag tab top-position UX 2026-03-18 08:36:54 +01:00
Christian
9a3ada380f release: v2.2.57 email+sag tab stability 2026-03-18 07:33:32 +01:00
Christian
eb5e14e2a1 release: v2.2.56 email layout + supplier invoice stabilization 2026-03-18 07:14:28 +01:00
Christian
074ab6a62a feat(email): add deadline and enhanced company search in email-to-sag flow 2026-03-17 22:08:05 +01:00
Christian
15feb18361 release: v2.2.53 notes for email-to-sag phase 1 2026-03-17 21:58:40 +01:00
Christian
695854a272 feat(email): add functionality to send emails with attachments from case tab 2026-03-17 21:51:43 +01:00
Christian
1d7107bff0 Release v2.2.52: harden admin users loading on v2 2026-03-07 03:14:45 +01:00
Christian
7678b58cb4 Harden admin users endpoint fallback on partial schemas 2026-03-07 03:14:29 +01:00
Christian
7e77266d97 Fix admin users list on partially migrated v2 DB 2026-03-07 03:02:45 +01:00
Christian
ba9622250a Release v2.2.51: fix user admin actions + archived sync monitor 2026-03-07 02:52:00 +01:00
Christian
e3094d7ed0 Fix user admin actions on v2 + add archived sync monitor in settings 2026-03-07 02:39:57 +01:00
Christian
959c9b4401 Fix: restore case email compose button in sag email tab 2026-03-06 16:11:05 +01:00