Suspects: Vorstufe der Leads als Tabelle

Neuer Menüpunkt über Leads mit Unterpunkt Archiv.

- Tabelle Name, Funktion, Unternehmen, LinkedIn, Website, Notiz,
  Letzter Kontakt, Nächster Impuls; leere Zeile unten, speichert beim
  Verlassen. Links als Symbol mit URL im Tooltip.
- Nächster Impuls: Tage eingeben, Erinnerung über den ReminderWatcher
- Archivieren, Zurückholen, endgültig löschen (nur aus dem Archiv)
- Lead erstellen öffnet die Lead-Karte vorbelegt (LeadModal.initial),
  danach wandert der Suspect mit lead_id ins Archiv

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
schakal00783
2026-09-29 12:11:36 +02:00
co-authored by Claude Opus 5.5
parent e0f6ef06cd
commit 6a452f1510
14 changed files with 1139 additions and 22 deletions
+35
View File
@@ -339,6 +339,41 @@ CREATE TABLE IF NOT EXISTS icon_leads (
REFERENCES icon_contacts (id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ---------------------------------------------------------------------------
-- Suspects - die Stufe vor dem Lead (29.09.2026)
--
-- Personen, die interessant sein koennten, als schlichte Tabelle: Name,
-- Funktion und Unternehmen sind bewusst Freitext, nicht Verweise auf Kontakte
-- und Unternehmen - ein Suspect soll in Sekunden erfasst sein. Erst beim
-- Schritt zum Lead wird gegen die Stammdaten abgeglichen.
--
-- `remind_at` ist der "naechste Impuls": dann erinnert das CRM daran, die
-- Person erneut anzusprechen. `lead_id` zeigt nach der Uebergabe auf den Lead;
-- der Suspect selbst wandert dann ins Archiv.
-- ---------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS icon_suspects (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(190) NOT NULL,
role VARCHAR(190) NULL,
company VARCHAR(190) NULL,
linkedin VARCHAR(500) NULL,
website VARCHAR(500) NULL,
notes TEXT NULL,
last_contact_on DATE NULL,
remind_at DATETIME NULL,
archived TINYINT(1) NOT NULL DEFAULT 0,
lead_id INT UNSIGNED NULL,
created_by INT UNSIGNED NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
KEY idx_icon_suspects_archived (archived, id),
KEY idx_icon_suspects_remind (remind_at),
CONSTRAINT fk_icon_suspects_lead FOREIGN KEY (lead_id)
REFERENCES icon_leads (id) ON DELETE SET NULL,
CONSTRAINT fk_icon_suspects_creator FOREIGN KEY (created_by)
REFERENCES icon_users (id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS icon_lead_todos (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
lead_id INT UNSIGNED NOT NULL,