DanielS
0c99da2eeb
feat(email): add primaryColor branding param to email templates
2026-08-27 00:32:18 +02:00
DanielS
9ecdc645e8
feat(branding): add global dynamic theme system and fix 2fa mail
2026-08-14 15:57:29 +02:00
DanielS
c1efc7916f
feat(email/pdf): include partner company name, partner user name and email in emails and PDF confirmations
2026-08-11 23:40:37 +02:00
DanielS
883b607482
feat(auth): add email-based 2FA for unknown devices
Staging Build / build (push) Successful in 2m54s
2026-08-11 01:10:28 +02:00
DanielS
ea64ce9ef0
feat: exclude verwalter from security lockout emails
Staging Build / build (push) Successful in 3m0s
2026-08-11 00:37:13 +02:00
DanielS
407484f69d
feat: allow verwalter role to act as admin in wizard
2026-08-11 00:35:55 +02:00
DanielS
3ba7c91e1f
feat: CC admins on orders and include partner info
2026-08-11 00:22:39 +02:00
DanielS
6177c0cde1
feat: send security lockout emails to all admin users
2026-08-11 00:20:07 +02:00
DanielS
af261ce923
feat: add unique license number check for devices
2026-08-10 23:37:09 +02:00
DanielS
0e4495292d
feat(my-customers): flatten orders into per-device cards
...
- split orders by device_name into FlattenedDevice entries
- strip device prefixes from product and module names
- render one DeviceCard per Kasse in the customer accordion
- add targeted upgrade URL with orderId, customer_id, device_id
- wizard starts at step 3 in upgrade mode with locked customer
- mark existing licensed modules as read-only with badge
2026-07-23 09:45:14 +02:00
DanielS
07208fcad0
feat(wizard): add partner filter and pagination to customer step
Staging Build / build (push) Successful in 2m52s
2026-07-21 10:43:21 +02:00
DanielS
8b4fd5f02e
feat(dashboard): add customer accordion view and extension flow
Staging Build / build (push) Successful in 3m1s
2026-07-21 08:43:00 +02:00
DanielS
86b63ce77e
feat(checkout): implement wizard and admin actions
Staging Build / build (push) Successful in 3m11s
2026-07-20 23:18:40 +02:00
DanielS
2b372be228
feat(orders): support active status and update RLS
Staging Build / build (push) Has been cancelled
2026-07-20 23:00:02 +02:00
DanielS
13f647409f
fix(sync): query customers by vowels to avoid crash
Staging Build / build (push) Successful in 2m56s
2026-07-15 23:50:13 +02:00
DanielS
5d3eed874c
feat(sync): add customer synchronization from lic server
Staging Build / build (push) Successful in 3m0s
2026-07-15 22:48:10 +02:00
DanielS
6b9023c871
feat(wizard): connect license lookup panel to real lic server api endpoint
Staging Build / build (push) Successful in 2m48s
2026-07-15 01:01:01 +02:00
DanielS
d5593900fb
feat(cron): add automated sync endpoint and vercel cron configuration for partners
Staging Build / build (push) Successful in 2m57s
2026-07-15 00:30:13 +02:00
DanielS
3fb80e6404
feat(admin): add manual partner import from lic server
Staging Build / build (push) Successful in 2m48s
2026-07-15 00:07:31 +02:00
DanielS
7119383139
fix(security): harden licserver config access controls
...
Staging Build / build (push) Successful in 2m50s
- Add auth guard to getLicServerConfig() - unauthenticated callers
now receive null config instead of DB values
- Remove non-existent 'superadmin' role from saveLicServerConfig()
check (only 'admin' exists per project schema)
- New migration: restrict settings table WRITE to admins only
(previously any authenticated user could overwrite licserver_api_key)
2026-07-14 17:35:12 +02:00
DanielS
fa93e060c2
feat(admin): LicServer config manageable via admin settings UI
...
Staging Build / build (push) Has been cancelled
- Migration: add licserver_base_url/api_key cols to settings table
- New: lib/actions/licserver-config.ts (read/write/test server actions)
- Updated: proxy routes read config from DB with env-var fallback
- Updated: admin/einstellungen adds LicServer card with URL + API key
input, show/hide toggle, Save and Connection Test buttons
2026-07-14 17:30:37 +02:00
DanielS
43e6a92663
feat: implement category flags, drop global tables, fix sidebar sticky layout
Staging Build / build (push) Successful in 2m48s
2026-07-10 15:27:55 +02:00
DanielS
4da386f693
fix(build): move buildEmailItemsSection to email-templates.ts to fix Turbopack build failure
Staging Build / build (push) Failing after 25s
2026-07-10 10:00:49 +02:00
DanielS
ec1ad4d444
fix(checkout): use full email template with PDF attachment for checkout confirmations
Staging Build / build (push) Failing after 24s
2026-07-10 09:45:21 +02:00
DanielS
bc6487bba4
feat(email): include order item configurations in confirmation email
Staging Build / build (push) Successful in 2m54s
2026-07-10 08:57:52 +02:00
DanielS
ae4a8429c7
fix: rewrite auth middleware to prevent global login lock for partners and admins
Staging Build / build (push) Successful in 2m46s
2026-07-09 23:16:22 +02:00
DanielS
21c4aa859e
fix: rename invoice terminology to request and quotation confirmation across pdf and mail services
2026-07-09 22:58:29 +02:00
DanielS
567d1f226b
feat(admin): add product dependencies and clean up labels
...
Staging Build / build (push) Successful in 2m43s
- Add addProductDependency and removeProductDependency actions
- Create DependencyPopover and integrate in live editor UI
- Render green requirements and red exclusions badges
- Remove technical parentheses from category checkbox labels
2026-07-09 16:12:57 +02:00
DanielS
915d3b1b2f
Revert "feat: support product quantity and separate steps"
...
Staging Build / build (push) Successful in 2m48s
This reverts commit 4ef21ea144 .
2026-07-09 15:19:38 +02:00
DanielS
4ef21ea144
feat: support product quantity and separate steps
Staging Build / build (push) Successful in 6m17s
2026-07-09 15:10:21 +02:00
DanielS
bffaca1d63
feat(orders): add rejected status to order schema and admin table views
Staging Build / build (push) Successful in 2m49s
2026-07-08 10:13:21 +02:00
DanielS
cc7445e4c5
feat(multiselect): support multi-select categories and free items limits in category config and order wizard
Staging Build / build (push) Successful in 2m38s
2026-07-07 16:56:24 +02:00
DanielS
98c030cd82
fix(end-customers): allow admin to create end customers without company_id
Staging Build / build (push) Successful in 2m38s
2026-07-07 12:32:11 +02:00
DanielS
8e91b3e810
fix(email): remove duplicate pdf download button
2026-07-07 10:30:34 +02:00
DanielS
0ec1319753
style(mail): humanize email templates and remove corporate boilerplates
Staging Build / build (push) Successful in 2m39s
2026-07-07 00:39:06 +02:00
DanielS
2246bdf2be
refactor(shop): extract wizard validation and email templates into helpers
Staging Build / build (push) Successful in 2m48s
2026-07-06 23:15:11 +02:00
DanielS
2d44dd4c58
security: fix 6 critical RLS vulns, SHA-256 hash, DSGVO [GELÖSCHT], completed status
Staging Build / build (push) Has been cancelled
2026-07-06 22:39:05 +02:00
DanielS
a64b6790c6
feat: Add partner account settings page under /account-kunden
Staging Build / build (push) Successful in 3m33s
2026-07-04 21:06:46 +02:00
DanielS
060aa97ce5
fix: PDF headers with filename, email download button via protected route
Staging Build / build (push) Successful in 3m29s
2026-07-04 17:50:02 +02:00
DanielS
80abbfe566
security: replace public PDF URLs with authenticated API route, private bucket
Staging Build / build (push) Successful in 3m33s
2026-07-04 17:43:33 +02:00
DanielS
305af64fd6
feat: assign orders to companies directly and support admin reassignment
Staging Build / build (push) Successful in 3m36s
2026-07-04 16:08:31 +02:00
DanielS
32c2842dbd
feat: enable company-wide order viewing and editing
Staging Build / build (push) Successful in 3m31s
2026-07-04 15:41:48 +02:00
DanielS
149eae59c9
feat: restrict order creation to users assigned to a company
Staging Build / build (push) Successful in 3m31s
2026-07-04 15:33:44 +02:00
DanielS
5f65f890ee
feat: link end customers directly to companies
Staging Build / build (push) Successful in 3m37s
2026-07-04 15:17:04 +02:00
DanielS
4c6fde326b
refactor(order): change order prefix from BE to AE for Anfragenummer
2026-07-03 14:58:43 +02:00
DanielS
23be8bcb52
refactor(wording): change 'Angebot' to 'Anfrage' in client views and order emails
2026-07-03 14:55:56 +02:00
DanielS
5c28fbdea5
feat(wizard): support OR logic for requirements (at least one dependency satisfies requirements)
Staging Build / build (push) Successful in 3m32s
2026-07-03 14:21:15 +02:00
DanielS
90ec351d96
fix(db-tools): resolve REINDEX transaction error by executing directly via pg client, and dynamically support all database tables in integrity dashboard
2026-07-03 14:01:27 +02:00
DanielS
38651037bc
fix(users): refactor user admin actions to return status objects instead of throwing to prevent production error obfuscation
Staging Build / build (push) Successful in 3m29s
2026-07-03 13:51:00 +02:00
DanielS
12d06e46ad
feat(email): improve password reset emails, onboarding templates, and handle server action errors without production obfuscation
Staging Build / build (push) Successful in 3m28s
2026-07-03 13:34:43 +02:00