forked from fa/breadcrumb-the-shire
feat(helpdesk): add Software Products page with BC contract type sync
Add a new Software-Produkte feature to the helpdesk module that syncs contract types (Create_SaaS_License=true) from BC OData into a local database table with a nightly scheduler job, providing a Grid.js list page and detail/edit page for managing custom product names. - DB migration 003: helpdesk_software_products table (code UNIQUE key) - BcODataGateway: FS_Contract_Types entity with SaaS filter + fallback - SoftwareProductRepository: upsert, listPaged, softDelete, updateName - SoftwareProductSyncService: fetch → upsert → soft-delete lifecycle - SoftwareProductSyncJobHandler: daily at 02:00 via scheduler platform - SoftwareProductService: web UI business logic with validation - Permission: helpdesk.software-products.manage (nav-gated) - List page: Grid.js with Code, BC Description, Name, Status columns - Detail page: Code/BC Description read-only, Name editable, PRG pattern - i18n: de + en translation keys Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -356,5 +356,24 @@
|
||||
"Lookup": "Lookup",
|
||||
"Monitoring": "Monitoring",
|
||||
"Contract type": "Contract type",
|
||||
"Customer": "Customer"
|
||||
"Customer": "Customer",
|
||||
"Software products": "Software products",
|
||||
"Software product": "Software product",
|
||||
"Search software products...": "Search software products...",
|
||||
"BC description": "BC description",
|
||||
"Product name": "Product name",
|
||||
"Code": "Code",
|
||||
"Active": "Active",
|
||||
"Inactive": "Inactive",
|
||||
"Last synced": "Last synced",
|
||||
"Modified": "Modified",
|
||||
"Edit software product": "Edit software product",
|
||||
"Back to list": "Back to list",
|
||||
"Save & close": "Save & close",
|
||||
"Software product updated": "Software product updated",
|
||||
"Software product not found": "Software product not found",
|
||||
"Product details": "Product details",
|
||||
"Enter product name...": "Enter product name...",
|
||||
"Name must not exceed 255 characters": "Name must not exceed 255 characters",
|
||||
"Failed to save": "Failed to save"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user