kundenkarte/sql/llx_kundenkarte_audit_log.sql
data 844e6060c6 feat(pwa): Offline-fähige Progressive Web App für Elektriker
PWA Mobile App für Schaltschrank-Dokumentation vor Ort:
- Token-basierte Authentifizierung (15 Tage gültig)
- Kundensuche mit Offline-Cache
- Anlagen-Auswahl und Offline-Laden
- Felder/Hutschienen/Automaten erfassen
- Automatische Synchronisierung wenn wieder online
- Installierbar auf dem Smartphone Home Screen
- Touch-optimiertes Dark Mode Design
- Quick-Select für Automaten-Werte (B16, C32, etc.)

Schaltplan-Editor Verbesserungen:
- Block Hover-Tooltip mit show_in_hover Feldern
- Produktinfo mit Icon im Tooltip
- Position und Breite in TE

Neue Dateien:
- pwa.php, pwa_auth.php - PWA Einstieg & Auth
- ajax/pwa_api.php - PWA AJAX API
- js/pwa.js, css/pwa.css - PWA App & Styles
- sw.js, manifest.json - Service Worker & Manifest
- img/pwa-icon-192.png, img/pwa-icon-512.png

Version: 5.2.0

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-23 15:27:06 +01:00

43 lines
1.8 KiB
SQL
Executable file

-- ============================================================================
-- Copyright (C) 2026 Alles Watt lauft
--
-- Audit Log table for tracking changes to all KundenKarte objects
-- ============================================================================
CREATE TABLE IF NOT EXISTS llx_kundenkarte_audit_log
(
rowid integer AUTO_INCREMENT PRIMARY KEY,
entity integer DEFAULT 1 NOT NULL,
-- Object identification
object_type varchar(64) NOT NULL COMMENT 'Type: equipment, carrier, panel, anlage, connection',
object_id integer NOT NULL COMMENT 'ID of the object',
object_ref varchar(128) COMMENT 'Reference/label of the object (for history)',
-- Related context
fk_societe integer COMMENT 'Customer/Third party',
fk_anlage integer COMMENT 'Installation/Anlage',
-- Action tracking
action varchar(32) NOT NULL COMMENT 'create, update, delete, move, duplicate',
field_changed varchar(64) COMMENT 'Specific field that was changed',
old_value text COMMENT 'Previous value (JSON for complex data)',
new_value text COMMENT 'New value (JSON for complex data)',
-- User and timestamp
fk_user integer NOT NULL COMMENT 'User who made the change',
user_login varchar(64) COMMENT 'Login name (cached for history)',
date_action datetime NOT NULL,
-- Optional notes
note text COMMENT 'Additional context',
-- IP tracking (optional, for security)
ip_address varchar(45) COMMENT 'IP address of the user',
INDEX idx_audit_object (object_type, object_id),
INDEX idx_audit_societe (fk_societe),
INDEX idx_audit_anlage (fk_anlage),
INDEX idx_audit_date (date_action),
INDEX idx_audit_user (fk_user)
) ENGINE=innodb;