feat(calllog): Tags einer Gesprächsnotiz zuordnen (n:m)
Backend:
- Neues CallLogTag-Model (Tabelle call_logs_tags) mit Relationship
auf CallLog (cascade delete-orphan); to_dict liefert 'tags'.
- Migration _db_V01_11 (idempotent via create_all).
- _set_call_log_tags in create/update_call_log: ersetzt
Tag-Zuordnungen, filtert is_parent-Tags, eliminiert Duplikate.
- _parse_date wandelt ISO-Strings in date-Objekte (fixt autoflush-
Crash bei Date-Spalten).
Frontend:
- iCallLog um tags (Lesen) und tag_ids (Schreiben) ergänzt.
- Neues generisches MultiSelect-Widget (widgets/select.ts):
Badges + Edit-Button, inline Modal mit Suchfeld, Checkbox-Liste,
OK-Button; konfigurierbare Texte (placeholder, modalTitle,
editTooltip).
- Call_Log-Formular: Tag-Auswahl via MultiSelect, Submit via
FormData.getAll; Tag-Badges in der Listenansicht hinter dem Betreff.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>