Setzt eine globale CSS-Regel für alle Scrollbars innerhalb des POS-Interfaces
(`.pos *::-webkit-scrollbar`) auf 8px Breite und Höhe. Dadurch erhalten alle
scrollbaren Elemente eine konsistente und bedienfreundliche Scrollbar-Darstellung,
insbesondere für Touchscreen- und Terminal-Geräte.
When adding a new order via the customer sidebar, the ProductScreen
was not explicitly activated. As a result, the screen_data context
expected by pos_time_based_products was missing, and no play button
was shown for time-based products.
This patch explicitly calls `this.pos.showScreen("ProductScreen")`
after creating a new order to restore compatibility with third-party
POS components that rely on the current screen state.
- Datum wird nun im Format 'dd.mm. hh:mm' angezeigt (analog zu Odoo 17 TicketScreen).
- Name rechtsbündig dargestellt, Datum linksbündig für bessere Lesbarkeit.
- Tooltip bei langen Kundennamen zeigt vollständigen Namen beim Hover.
- Replaced reactive `effect()` with `env.bus` event handling for partner changes
- `OwsPosCustomerSidebar` emits `partner-changed` when order is selected
- `OwsMachineAccessList` listens to `partner-changed` and updates access list
- Refactored to use `.get_partner()` instead of deprecated `.get_client()`
- Improved robustness and consistency of partner-based sidebar refresh
- Erweiterung von get_access_list_grouped() um Sicherheitsdaten (Haftungsausschluss, ID, Geburtstag, RFID)
- Rückgabe nun als dict mit access_by_area + user-Feldern
- Anpassung der OWL-Komponente OwsMachineAccessList:
- updateAccessList() lädt Sicherheitsdaten über jsonrpc
- state enthält jetzt getrennte Felder für security_briefing, security_id etc.
- Maschinenliste bleibt dauerhaft sichtbar
- Fehlerbehandlung bei fehlendem ows.user integriert
- alte load_fields()-Logik entfernt
Added a read-only HTML view to the contact form showing all available machines
grouped by area, including the access status, grant date, and expiry date
for the selected partner. The overview provides a complete matrix view, even
for machines without existing access records.
Beim Kauf eines Einweisungsprodukts wurden bisher nur eine Maschinenfreigabe erstellt,
selbst wenn das Produkt mehreren Maschinen zugeordnet war.
Dieser Fix passt _process_order an, sodass alle zugehörigen Maschinen erfasst und
ggf. neue Freigaben für den Kunden erstellt werden.
+ Nutzung von defaultdict zur besseren Produkt-Maschine-Zuordnung
+ Klares Logging zur Nachvollziehbarkeit
+ Verhindert doppelte Freigaben