Commit Graph

111 Commits

Author SHA1 Message Date
Christian
be68148448 feat(email): add RETURNING id to email activity log insert
feat(ollama): implement case creation rewrite with strict rules

fix(sync): include phone number in economic customer sync

fix(migrations): clean up orphan links before enforcing foreign keys in email threading schema

feat(migrations): add support for physical patch-panel layouts and update related constraints

feat(migrations): add start port number for physical patch panels

feat(migrations): introduce display order for physical panels

feat(migrations): link wall outlets to switch hardware

feat(migrations): allow optional label and customer for wall outlets

feat(migrations): create hardware network links table

feat(migrations): add location display order for hardware assets

feat(migrations): create UISP devices and link to hardware assets
2026-07-18 10:10:31 +02:00
Christian
d4d9ac22a5 feat: add locations outlet and cross-field management 2026-07-17 10:23:57 +02:00
Christian
0655b4c4f8 feat: Enhance opportunity listing and invoice error finder functionality
- Added customer_id and contact_id filters to the list_opportunities endpoint for improved querying.
- Implemented a redirect for opportunity detail pages to a new format.
- Refactored SubscriptionMatrixService to load invoices from a local snapshot instead of an external service, improving performance and reliability.
- Updated settings to include 'pipeline' as a case type and added a new section for managing ignored product texts in the invoice error finder.
- Introduced a new user_sag_create_preferences table to store per-user default case types for new cases.
- Enhanced frontend settings page with invoice error finder configuration options and improved handling of ignored product texts.
- Added migrations to support new features, including resolved status for invoice error finder issues and user-specific case type preferences.
2026-07-17 01:58:02 +02:00
Christian
db2e8c3157 chore(release): bump version to 2.3.30 2026-07-11 11:48:42 +02:00
Christian
b91f9fcc2d chore(release): bump version to 2.3.29 2026-07-11 11:45:24 +02:00
Christian
48f7b80c49 chore(release): bump version to 2.3.26 2026-07-10 16:22:57 +02:00
Christian
ca23ac1f2b chore(release): bump version to 2.3.25 2026-07-10 08:10:31 +02:00
Christian
128a2b83d0 feat(invoice_error_finder): add invoice error finder module
- Detect missing invoice lines, open orders not invoiced, quantity drops, price changes
- Import e-conomic invoices and Simply CRM sales orders
- Dashboard and issues UI with sag/ordre-draft actions
- Scheduled daily sync job at 05:00
- Add invoice_error_finder permissions
2026-07-10 07:08:49 +02:00
Christian
3311b8e590 Add comprehensive tests for internet connections module, invoice parsing, and subscription provisioning
- Implement tests for the internet connections module, covering routes, IP range creation, and connection validation.
- Add tests for the Invoice2DataService to validate extraction from GlobalConnect invoices.
- Create tests for subscription network provisioning, ensuring proper handling of network items and IP allocations.
- Include validation checks for subtotal mismatches and ensure error handling for missing IP selections.
2026-07-09 23:44:30 +02:00
Christian
8e99453dea chore(release): bump version to 2.3.23 2026-07-03 20:20:22 +02:00
Christian
8710f7f798 feat(drift): add Drift module with frontend and backend components
- Implemented the Drift module with a new FastAPI router and HTML templates for the frontend.
- Created database tables for drift sources, devices, events, event history, and customer mappings.
- Added functionality to manage and display drift events, including filtering and bulk mapping of monitors to customers.
- Introduced tests for the Drift module, covering various functionalities including event blacklisting and UISP connector configuration.
- Enhanced Telefoni service tests to ensure proper call termination handling.
2026-06-26 14:15:46 +02:00
Christian
4822637466 feat: add time multiplier presets management and extend worklog model
- Added a new section in the settings frontend for managing time multiplier presets, including UI for adding, displaying, and saving presets.
- Introduced a new function to normalize and load time multiplier presets from settings.
- Updated the worklog submission process to include a selected multiplier preset and its corresponding rate multiplier.
- Enhanced the worklog model to support additional fields: extra_billed_hours, extended_support_flag, rate_multiplier, manual_hourly_rate, manual_rounded_hours, and rounding_override_reason.
- Implemented backend validation to ensure that time entries linked to prepaid cards cannot be edited if the card is in a locked status.
- Added database migration to introduce new columns and constraints for the worklog and time entry tables.
2026-06-21 10:26:07 +02:00
Christian
a604a3cc44 Add comprehensive test suite for vTiger integration and ticket module
- Implemented test scripts for vTiger account retrieval, contact data, and modules.
- Created a detailed test suite for the ticket module, covering database schema validation, ticket number generation, prepaid card constraints, and service logic.
- Added tests for vTiger field inspection and various queries related to accounts and sales orders.
- Introduced SQL migration scripts for the ALSO Cloud Billing foundation, including import jobs, lines, and mapping tables with necessary constraints and indices.
- Enhanced workflow columns in the import lines table to support matching and validation timestamps.
2026-06-20 03:29:51 +02:00
Christian
ce75f12f56 feat: integrate bug reporting module and enhance screenshot functionality
- Added bug reporting API router to main application.
- Enhanced screenshot functionality in bug-report.js with timeout handling and dynamic loading of html2canvas library.
- Improved screenshot capture strategies and error handling for better user experience.
- Updated modal handling for bug reports to include screenshot previews and status messages.
- Refactored code for better readability and maintainability.

feat: implement user-specific case status and preferences

- Created migration to allow dynamic case statuses in sag_sager table.
- Added user_sag_list_preferences table for per-user preferences on case list filters.
- Introduced user_menu_preferences table to manage per-user menu visibility preferences with triggers for updated_at timestamps.
2026-06-18 22:20:39 +02:00
Christian
f4bc2828e8 Fix case status save on v3 detail by binding inline onchange fallback 2026-06-11 09:34:02 +02:00
Christian
fd8f4d6d88 Fix case status update: use Body() to properly parse JSON request body for PATCH endpoints 2026-06-11 01:38:55 +02:00
Christian
592ed8640d feat(telefoni): enhance call handling with external number normalization and case linking 2026-06-09 00:05:28 +02:00
Christian
071d926781 fix(telefoni): skip initial auto-refresh when SSR rows exist 2026-05-18 07:07:51 +02:00
Christian
94f6735ed5 fix(telefoni): preserve SSR call rows when client refresh fails 2026-05-18 07:00:52 +02:00
Christian
ef8e68fc16 fix(telefoni): remove raw_payload dependency from call list queries 2026-05-17 23:16:31 +02:00
Christian
08f40977f9 fix(telefoni): keep SSR call rows when initial API refresh is empty 2026-05-17 09:44:28 +02:00
Christian
e162ee3fe1 fix(telefoni): render initial calls server-side on log page 2026-05-17 09:36:09 +02:00
Christian
c5478b7e29 fix(telefoni): show legacy call history when telefoni_opkald is empty 2026-05-16 13:23:56 +02:00
Christian
6a68aecafa fix(telefoni): accept callbacks via db whitelist and internal fallback 2026-05-16 13:16:35 +02:00
Christian
8e5b3cf3d2 fix(telefoni): restore corrupted log template to resolve blank page 2026-05-16 12:18:59 +02:00
Christian
d0ec639de0 fix(telefoni): restore template and add clear load/error status banner 2026-05-16 12:10:59 +02:00
Christian
3bc4472525 fix(telefoni): add explicit load/error status and stronger empty-state fallback 2026-05-16 11:06:48 +02:00
Christian
97a4a2435c fix(telefoni): add SSR fallback rows for non-empty log page 2026-05-16 10:52:36 +02:00
Christian
a36e3e716f feat: Add Service Contract Report page with customer and contract selection
- Implemented a new HTML page for generating service contract reports.
- Added CSS styles for report layout and components.
- Developed JavaScript functionality for loading customers and contracts, fetching report data, and rendering metrics and cases.
- Included buttons for downloading reports in PDF and Excel formats.

docs: Create Route Auth Audit for route access control

- Generated an audit report detailing route access requirements.
- Classified routes based on authentication needs and documented them in a markdown file.

feat: Introduce buzzwords and mission projects tables in the database

- Created `buzzwords` and `sag_buzzwords` tables for managing keywords related to SAG cases.
- Established `mission_projects`, `mission_project_milestones`, and `mission_project_blockers` tables for project management.
- Updated `sag_sager` table to link with mission projects and milestones, including necessary foreign key constraints.
2026-05-12 08:41:13 +02:00
Christian
770f822fc6 feat: Implement bug reporting feature with screenshot support
- Added a new modal for reporting bugs, including fields for describing the issue and attaching optional files.
- Integrated automatic screenshot capture functionality when the bug report modal is opened.
- Created a new API endpoint for submitting bug reports, including validation and rate limiting.
- Added database migration for tracking bug report submissions.
- Updated frontend scripts to handle bug report submissions and display status messages.
- Enhanced contact search functionality with improved error handling and backward compatibility.
- Introduced a new button in the UI for accessing the bug report modal.
2026-05-06 07:01:43 +02:00
Christian
71f6372496 feat: Implement bug reporting feature with screenshot support
- Added a new modal for reporting bugs, including fields for describing the issue and attaching files.
- Implemented backend API for creating bug reports, including rate limiting and metadata logging.
- Introduced a new database table to track bug report submissions for auditing purposes.
- Enhanced the frontend to capture screenshots automatically and allow manual file uploads.
- Added error handling and user feedback for the bug reporting process.
- Updated existing templates and scripts to integrate the new bug reporting functionality.
2026-05-05 19:13:54 +02:00
Christian
e878336537 hotfix: replace legacy missing economic customer number error message 2026-05-05 07:37:16 +02:00
Christian
f6b78f93eb fix: show sanitized phone details in sag contact search results 2026-05-05 07:14:51 +02:00
Christian
1fe0611453 fix: show phone and mobile in sag v3 add-contact search results 2026-05-05 07:03:03 +02:00
Christian
0dcc6c4fdb ui: make telefoni row action buttons icon-only 2026-05-05 06:50:20 +02:00
Christian
86b3b3be15 feat: add direct Ny kontakt / Søg / Firma buttons on telefoni rows 2026-05-05 00:57:28 +02:00
Christian
31fa771626 fix: strip local phone suffix from overly long caller numbers (Yealink URL misconfiguration) 2026-05-05 00:29:13 +02:00
Christian
e4e35a1285 fix: skip auto-loadCalls when SSR already rendered telefoni rows 2026-05-05 00:22:02 +02:00
Christian
aa2aea555d hotfix: ignore restored telephony filters on first load 2026-05-05 00:10:42 +02:00
Christian
415abb058a hotfix: keep initial telephony rows on first empty refresh 2026-05-04 23:46:41 +02:00
Christian
b1a4342a9a hotfix: server-render initial telephony calls 2026-05-04 22:46:31 +02:00
Christian
25530c7c94 release: v2.2.81 contacts visibility and telephony/date/deploy fixes 2026-05-04 19:20:55 +02:00
Christian
5ee962fdb3 Release: mission day workflow, telefoni contact modal, fedex support overview, and economic sync dry-run 2026-05-02 11:02:29 +02:00
Christian
f2c8af4680 feat(task-templates): implement task template MVP with modal selector and tag actions
- Added task template and task template items tables to the database.
- Introduced case template runs and run items tables for tracking template executions.
- Created a new JavaScript module for task template selection with a modal interface.
- Integrated tag actions to open the task template selector modal upon tag addition.
- Updated backend to resolve tag actions and return them in the response when adding tags.
- Enhanced the tag picker to handle actions and trigger the appropriate modal.
- Added permissions and group permissions for managing task templates.
2026-05-01 20:58:13 +02:00
Christian
785a2d3ffe feat: Enhance FedEx service with pricing information and update UI for shipping address selection 2026-05-01 07:08:28 +02:00
Christian
bd44771738 feat: Update sag links to include versioning in URLs across multiple templates and services
- Updated links in index_old.html, varekob_salg.html, log.html, opportunities.html, detail.html, and various frontend files to point to the new versioned sag URLs.
- Modified reminder_notification_service.py to reflect the new sag URL structure in notifications.
- Added FedEx shipment management functionality, including API client, service layer, and router for handling FedEx bookings, tracking, and cancellations.
- Created database migration for FedEx shipments, including tables for shipments, packages, and tracking events.
2026-04-30 23:06:00 +02:00
Christian
ec2c8fe784 feat: Implement legacy case details redirection and enhance contact info UI 2026-04-30 22:20:44 +02:00
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