Commit Graph

248 Commits

Author SHA1 Message Date
Christian
0373c1d7a4 feat(tag-picker): Enhance keyboard shortcut context handling and logging 2026-02-01 00:25:02 +01:00
Christian
29acdf3e01 Add tests for new SAG module endpoints and module deactivation
- Implement test script for new SAG module endpoints BE-003 (Tag State Management) and BE-004 (Bulk Operations).
- Create test cases for creating, updating, and bulk operations on cases and tags.
- Add a test for module deactivation to ensure data integrity is maintained.
- Include setup and teardown for tests to clear database state before and after each test.
2026-01-31 23:16:24 +01:00
Christian
25168108d6 feat(sag): Initialize case management module with CRUD operations, relations, and tags
- Added backend API routes for case management including listing, creating, updating, and deleting cases.
- Implemented relations and tags functionality for cases.
- Created frontend views for displaying case lists and details with filtering options.
- Added database migration scripts to set up necessary tables and indexes.
- Included HTML templates for case listing and detail views with responsive design.
- Configured module metadata in module.json for integration.
2026-01-29 23:07:33 +01:00
Christian
ef171c7573 Fix: Migration interface now shows correct Podman commands for production servers
- Updated migrations.html to detect production environment and use podman/docker accordingly
- Added container runtime info to settings page
- Updated VERSION to 2.1.1
2026-01-29 00:47:40 +01:00
Christian
4b467aeeec Release v2.1.0 2026-01-29 00:36:32 +01:00
Christian
f059cb6c95 feat: Add product search endpoint and enhance opportunity management
- Implemented a new endpoint for searching webshop products with filters for visibility and configuration.
- Enhanced the webshop frontend to include a customer search feature for improved user experience.
- Added opportunity line items management with CRUD operations and comments functionality.
- Created database migrations for opportunity line items and comments, including necessary triggers and indexes.
2026-01-28 14:37:47 +01:00
Christian
c66d652283 Release v2.0.6 2026-01-28 10:52:36 +01:00
Christian
43c7d64a01 Release v2.0.5 2026-01-28 10:47:29 +01:00
Christian
08b7abbeea Release v2.0.4 2026-01-28 10:41:48 +01:00
Christian
3543a9b079 Release v2.0.3 2026-01-28 10:36:08 +01:00
Christian
2f022bf085 Release v2.0.2 updates 2026-01-28 10:26:22 +01:00
Christian
7c569527fe Add migration execution feature 2026-01-28 10:25:21 +01:00
Christian
5c63385495 Add migrations link to settings page 2026-01-28 09:09:39 +01:00
Christian
ce7bbff766 Release v2.0.0 updates 2026-01-28 08:03:17 +01:00
Christian
c2a265d5f9 Add local pipeline opportunities 2026-01-28 07:48:10 +01:00
Christian
262fa80aef Add pipeline page and link 2026-01-28 01:41:57 +01:00
Christian
c7aa6fe3f5 Bump version to 1.3.150 2026-01-28 01:36:44 +01:00
Christian
31fc285342 feat: Fetch from multiple e-conomic endpoints for complete data
v1.3.149:
- Added /invoices/booked (sent invoices)
- Added /invoices/paid (paid invoices)
- Added /invoices/unpaid (unpaid invoices)
- Keep /invoices/drafts (draft invoices)
- Track unique invoices to avoid duplicates
- Apply customer and date filters correctly after fetching
2026-01-27 08:42:22 +01:00
Christian
04a472d204 fix: Remove undefined matrixHtml reference
v1.3.148:
- Fixed JavaScript error: matrixHtml is not defined
- Removed duplicate table population code
- bodyRows.innerHTML already contains the matrix HTML
2026-01-27 08:36:32 +01:00
Christian
41716ba683 fix: Use /invoices/drafts with proper customer filtering
v1.3.147:
- Changed from /customers/{id}/invoices/sent (404) to /invoices/drafts
- Fetch all drafts, then filter by customer number
- Apply date filter ONLY on customer invoices (fixes bug)
- Proper order: fetch all -> filter customer -> filter date
2026-01-27 08:31:22 +01:00
Christian
0d9f5a4332 feat: Use customer-specific invoices endpoint
v1.3.146:
- Changed to /customers/{customerNumber}/invoices/sent
- More direct approach - fetches only that customer's invoices
- Removed unnecessary customer filtering step
- Still applies 13-month date filter
2026-01-27 07:24:35 +01:00
Christian
e14aff89d7 fix: Apply date filter on customer_invoices not all_invoices
v1.3.145:
- CRITICAL FIX: Date filter was running on all invoices
- Now correctly filters customer_invoices by date
- Prevents showing other customers' invoices
2026-01-27 07:23:19 +01:00
Christian
bff284f398 fix: Remove duplicate customer filtering code
v1.3.144:
- Removed duplicate filtering logic
- Fixed logic flow: check invoices -> filter -> date filter
- Cleaner logs without duplicates
2026-01-27 07:22:00 +01:00
Christian
ffffa8e004 feat: Fetch from multiple e-conomic endpoints
v1.3.143:
- Check drafts, booked, paid, unpaid endpoints
- Deduplicate invoices by invoice number
- Pagination support for each endpoint
- Filter by customer + 13 months date after fetching
2026-01-27 07:21:02 +01:00
Christian
b764224eff fix: Use /invoices/drafts endpoint instead of /sent
v1.3.142:
- Changed from /invoices/sent to /invoices/drafts
- /drafts contains most active invoices (29 vs 0 in /sent)
- Still applies pagination and 13-month filter
2026-01-27 07:20:01 +01:00
Christian
404e81a7a8 fix: Fetch all invoices then filter by customer
v1.3.141:
- Removed unsupported customer filter from API params
- Fetch all invoices from /invoices/sent with pagination
- Filter by customer number in code
- Apply 13-month date filter after customer filter
2026-01-27 07:18:36 +01:00
Christian
8d98e3f01c feat: Use customer filter in e-conomic API call
v1.3.140:
- Use /invoices/sent endpoint with customer.customerNumber filter
- More efficient: only fetch invoices for specific customer
- Apply 13-month date filter after fetching
- Simplified endpoint logic (single endpoint vs 8 endpoints)
2026-01-27 07:17:26 +01:00
Christian
2c524c9a05 fix: Apply date filter in code instead of API parameter
v1.3.139:
- Removed date filter from API params (causes 404 on some endpoints)
- Apply 13-month filter in code after fetching invoices
- Parse invoice dates and filter >= start_date
- More reliable filtering across all e-conomic endpoints
2026-01-27 07:15:44 +01:00
Christian
e0909d4586 fix: Fix month calculation bug in date filter
v1.3.138:
- Fixed ValueError: month must be in 1..12
- Use python-dateutil for proper month arithmetic
- Uses relativedelta for correct 13 month calculation
2026-01-27 07:14:40 +01:00
Christian
1bf04d45b1 feat: Extend invoice filter to 13 months for yearly items
v1.3.137:
- Changed from 12 to 13 months lookback
- Ensures yearly billed items are visible
- Example: Jan 27, 2026 -> fetches from Jan 1, 2025
2026-01-27 07:10:25 +01:00
Christian
86ad68c362 fix: Adjust date filter to 1st of month 12 months back
v1.3.136:
- Changed filter from 365 days to exactly 12 months
- Uses 1st day of the month 12 months ago
- Example: Jan 27, 2026 -> fetches from Feb 1, 2025
2026-01-27 07:09:50 +01:00
Christian
180933948f feat: Add 1-year filter + search to subscription matrix
v1.3.135:
- Added date filter to e-conomic API (only fetch invoices from last year)
- Implemented product search in billing matrix
- Shows/hides search field based on product count
- Real-time filtering with clear button
2026-01-27 07:08:09 +01:00
Christian
36e0f8b0f7 chore: Bump version to 1.3.134 2026-01-27 06:58:49 +01:00
Christian
7d5ec89e13 fix: Skip invoice lines with zero amount (text/description fields only) 2026-01-27 06:58:39 +01:00
Christian
ea062e10ae chore: Bump version to 1.3.133 2026-01-27 01:53:42 +01:00
Christian
cb7e209769 fix: Add pagination to e-conomic API to fetch ALL invoices (not just first 1000) 2026-01-27 01:53:34 +01:00
Christian
c05b11387d chore: Bump version to 1.3.132 2026-01-27 01:46:46 +01:00
Christian
4ce8031513 feat: Add comprehensive logging to subscription matrix for debugging 2026-01-27 01:46:38 +01:00
Christian
1845c9aea2 chore: Bump version to 1.3.131 2026-01-27 01:33:57 +01:00
Christian
2ba9f5e103 fix: Lenient filtering for subscription matrix - include all recurring products 2026-01-27 01:33:46 +01:00
Christian
89d378cf8a chore: bump version to 1.3.130 2026-01-27 01:19:20 +01:00
Christian
501032efcd fix: Include period-based lines and normalize product grouping
- Include lines with period fields even without keywords
- Normalize product names to group similar lines
- Improves monthly Hosting - AR2 visibility
2026-01-27 01:19:08 +01:00
Christian
9c6834b9f6 chore: bump version to 1.3.129 2026-01-27 00:59:15 +01:00
Christian
0b5d98fdc4 fix: Prefer line-level period text and broaden invoice title parsing
- Parse 'periode/abonnement' from line description
- Broaden invoice title fields used for period detection
- Prefer line period over invoice period
- Improve month assignment accuracy
2026-01-27 00:59:02 +01:00
Christian
3a19f8233e chore: bump version to 1.3.128 2026-01-27 00:49:36 +01:00
Christian
fbe43b82e1 fix: Group products and parse period from invoice title
- Group identical product lines on same row
- Parse month from invoice title/notes (e.g., 'Periode May 2025')
- Assign lines to correct month from title
- Sum amounts per month and merge statuses
2026-01-27 00:49:23 +01:00
Christian
8ec12819f7 chore: bump version to 1.3.127 2026-01-27 00:34:57 +01:00
Christian
39b49d4d54 feat: Include invoice title keywords in subscription matrix filter
- Match 'periode'/'abonnement' in invoice notes/title fields
- Allows period-only titles to include line items
- Keeps line-level keyword filtering
2026-01-27 00:34:44 +01:00
Christian
8ec457bba1 chore: bump version to 1.3.126 2026-01-26 17:17:21 +01:00
Christian
1b48e659a8 feat: Show 12-month matrix with empty cells for missing invoices
- Generate all 12 months automatically (last 12 months from today)
- Display empty cells with 'missing' status for months without invoices
- Makes it easy to spot billing gaps
- Empty cells show 0 kr and null invoice_number
2026-01-26 17:17:14 +01:00