VanVan im Support, Meldung #8: „Wenn man auf ich fange an drueckt steht dort in Bearbeitung und wenn man auf fertig drueckt dann wird es zu erledigt. DIE AUFGABE BLEIBT ABER IM STATUS OFFEN STEHEN." GESTERN HABE ICH DIE HALBE ARBEIT GEMACHT und daneben eine Ausrede geschrieben. Die zwei Knoepfe kamen weg, und in den Kommentar kam: „Der Weg `/mein-stand` bleibt bestehen -- er ist die Schranke, falls ihn jemand direkt anspricht." Eine Route ist keine Schranke gegen sich selbst. Sie setzte weiterhin NUR `aufgaben_zuteilung.zustand` und liess `aufgaben.status` stehen -- also genau den Widerspruch, den VanVan beschrieben hat. Ich hatte ihn unsichtbar gemacht, nicht abgeschafft: kein Knopf mehr, das Verhalten unveraendert im System. GEFUNDEN BEIM NACHMESSEN AM LAUFENDEN SERVER, nicht beim Schreiben. Filipe hat auf den Screenshot gezeigt und gesagt, es sei noch nicht in Ordnung. Statt meine Pruefungen zu zitieren habe ich die Route gelesen -- und dort stand es. NACHGEMESSEN, BEVOR SIE WEGKAM: Kein einziger Aufruf mehr im ausgelieferten Browsercode (grep ueber alle JS- und HTML-Dateien des Workspace). Nur zwei Pruefungen benutzten sie. UND EINE DAVON NICKTE DEN FEHLER AB. In pruef-zuteilung stand: Bea setzt "in Bearbeitung" (HTTP 200) und danach "erledigt" (HTTP 200) Zwei gruene Haken ueber genau dem Verhalten, das gemeldet wurde -- weil sie nur den Rueckgabewert ansahen und nie den Aufgabenstatus daneben. Eine Pruefung, die nur eine Haelfte misst, kann den Widerspruch gar nicht finden. Jetzt steht dort: Bea setzt "in Bearbeitung" (HTTP 200) und BEIDES steht auf "in Arbeit" (Aufgabe arbeit, Zuteilung arbeit) — das war VanVans Befund und danach "erledigt" (HTTP 200) und wieder beides (Aufgabe erledigt, Zuteilung erledigt) WAS JETZT GILT: `PATCH /workspace/api/aufgaben/:id` mit `{ status }`. Er setzt den Status UND zieht die Zuteilung mit (`zuteilungenNachStatus`), kennt dieselbe Sperre fuer dauerhafte Aufgaben und dieselbe Rechtepruefung. Eine Frage, eine Antwort. ENTFERNT STATT AUSKOMMENTIERT -- dieselbe Entscheidung wie bei `/vorlagen/hilfe` am 01.09.: Eine Route, die niemand mehr aufruft, wird beim naechsten Mal fuer lebenden Code gehalten und mitgepflegt. EIN SCHRECKMOMENT UNTERWEGS, der sich als Messfehler herausstellte: Nach der Umstellung meldete pruef-bewerbung-aufgaben eine 404 beim Abhaken -- also der Verdacht, dass eine ZUGETEILTE Aufgabe ueber den Statusweg gar nicht erreichbar ist und ich gerade etwas kaputt gemacht haette. Nachgemessen statt geglaubt: Die Aufgabe steht in ihrer Liste, der PATCH antwortet 200. Die rote Zeile war eine DRITTE Stelle, die ich beim Umstellen uebersehen hatte und die noch auf die alte Route zeigte. Zwei Minuten Messung statt einer Stunde Suche an der falschen Stelle. GEPRUEFT pruef-zuteilung ok, mit zwei neuen Zeilen, die BEIDE Zustaende messen den zweiten Weg (mein-stand) gibt es nicht mehr (404) pruef-bewerbung-aufgaben 178 ok pruef-struktur 102 ok, 414 -> 413 Routen pruef-aufgabenbrett · pruef-modi-katalog 159 · pruef-aufgaben-vorlagen 60 Co-Authored-By: Claude Opus 5 <[email protected]>
187 lines
8.4 KiB
HTML
187 lines
8.4 KiB
HTML
<!doctype html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||
<title>Scouting · Spicy & Dogi</title>
|
||
<meta name="robots" content="noindex, nofollow" />
|
||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||
<!-- Die Farbe der Fensterleiste, wenn der Workspace als App laeuft.
|
||
Stand auf #0674b9 (kraeftiges Blau) und stach damit als einziger
|
||
heller Balken ueber einer durchweg dunklen Seite. Jetzt derselbe
|
||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||
eine Flaeche sind statt zweier. -->
|
||
<meta name="theme-color" content="#06090f" />
|
||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610031121" />
|
||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610031121" />
|
||
<link rel="stylesheet" href="assets/css/gate.css?v=202610031121" />
|
||
<link rel="stylesheet" href="assets/css/start.css?v=202610031121" />
|
||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610031121" />
|
||
<link rel="stylesheet" href="assets/css/scouting.css?v=202610031121" />
|
||
<link rel="stylesheet" href="assets/css/module.css?v=202610031121" />
|
||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||
<link rel="stylesheet" href="assets/css/haus.css?v=202610031121" />
|
||
</head>
|
||
|
||
<body class="start">
|
||
|
||
<header class="kopfleiste">
|
||
<button type="button" class="zurueck-knopf" id="zurueck" hidden>
|
||
<svg class="zurueck-knopf__pfeil" viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M14.5 5.5 8 12l6.5 6.5" />
|
||
</svg>
|
||
<span class="zurueck-knopf__text">Zurück</span>
|
||
</button>
|
||
<p class="marke"><span class="marke__text"><a class="zurueck" href="start.html">Creator Workspace</a> · Scouting</span></p>
|
||
<div class="kopfleiste__rechts">
|
||
<span class="wer" id="wer">…</span>
|
||
<button type="button" class="abmelden" id="abmelden">Abmelden</button>
|
||
</div>
|
||
</header>
|
||
|
||
<main class="inhalt inhalt--breit">
|
||
|
||
<section class="kopf-zeile">
|
||
<div>
|
||
<p class="marke">Scout-CRM</p>
|
||
<h1 class="titel">Pipeline</h1>
|
||
<p class="unterzeile" id="unterzeile">Vom ersten Fund bis zur Übergabe – nachvollziehbar statt im Kopf.</p>
|
||
</div>
|
||
<div class="steuerung">
|
||
<div id="scoutwahl-block" hidden>
|
||
<label class="feld-schild" for="f-scout">Scout</label>
|
||
<select id="f-scout"><option value="">Alle Scouts</option></select>
|
||
</div>
|
||
<button type="button" class="knopf knopf--klein" id="neu-auf">Neuer Kontakt</button>
|
||
</div>
|
||
</section>
|
||
|
||
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
|
||
|
||
<!-- Follow-ups: der Teil, der ohne System am ehesten untergeht. -->
|
||
<section class="faellig" id="faellig" hidden>
|
||
<p class="faellig__titel">Follow-up fällig</p>
|
||
<ul class="faellig__liste" id="faellig-liste"></ul>
|
||
</section>
|
||
|
||
<section class="neu" id="neu-block" hidden>
|
||
<h2 class="neu__titel">Neuer Kontakt</h2>
|
||
<form id="neu-form">
|
||
<div class="neu__raster">
|
||
<div class="feld feld--breit">
|
||
<label class="feld-schild" for="n-name">Name</label>
|
||
<input id="n-name" maxlength="120" required placeholder="Wie heißt die Person?" />
|
||
</div>
|
||
<div class="feld">
|
||
<label class="feld-schild" for="n-plattform">Plattform</label>
|
||
<input id="n-plattform" maxlength="60" placeholder="z. B. TikTok" />
|
||
</div>
|
||
<div class="feld">
|
||
<label class="feld-schild" for="n-handle">Profil / Handle</label>
|
||
<input id="n-handle" maxlength="120" placeholder="@…" />
|
||
</div>
|
||
<div class="feld">
|
||
<label class="feld-schild" for="n-prio">Priorität</label>
|
||
<select id="n-prio">
|
||
<option value="hoch">Hoch</option>
|
||
<option value="mittel" selected>Mittel</option>
|
||
<option value="niedrig">Niedrig</option>
|
||
</select>
|
||
</div>
|
||
<div class="feld" id="n-scout-block" hidden>
|
||
<label class="feld-schild" for="n-scout">Scout</label>
|
||
<select id="n-scout"><option value="">– niemandem zugeordnet –</option></select>
|
||
</div>
|
||
<div class="feld feld--breit">
|
||
<label class="feld-schild" for="n-aktivitaet">Aktivität & LIVE-Fokus</label>
|
||
<input id="n-aktivitaet" maxlength="3000" placeholder="Wie oft LIVE? Welche Zeiten? Welches Format?" />
|
||
</div>
|
||
<div class="feld feld--breit">
|
||
<label class="feld-schild" for="n-potenzial">Potenzial & Stil</label>
|
||
<input id="n-potenzial" maxlength="3000" placeholder="Was macht die Person besonders?" />
|
||
</div>
|
||
<div class="feld">
|
||
<label class="feld-schild" for="n-followup">Nächster Follow-up</label>
|
||
<input id="n-followup" type="date" />
|
||
</div>
|
||
<!-- DIE DREI QUALIFIZIERENDEN FRAGEN (11.09.2026).
|
||
|
||
Sie stehen schon beim Anlegen da, weil sie sonst nie
|
||
gestellt werden: "Schon im Netzwerk?" entscheidet, ob sich
|
||
der ganze Rest lohnt, und wer sie erst nach drei Nachrichten
|
||
stellt, hat drei Nachrichten zu viel geschrieben.
|
||
|
||
Alle drei sind freiwillig. Ein Pflichtfeld beim Anlegen
|
||
wäre die sichere Art, dafür zu sorgen, dass Kontakte gar
|
||
nicht erst eingetragen werden. -->
|
||
<div class="feld">
|
||
<label class="feld-schild" for="n-netzwerk">Schon im Netzwerk?</label>
|
||
<select id="n-netzwerk">
|
||
<option value="">– noch nicht gefragt –</option>
|
||
<option value="nein">frei</option>
|
||
<option value="ja">schon im Netzwerk</option>
|
||
<option value="unbekannt">noch nicht gefragt</option>
|
||
</select>
|
||
</div>
|
||
<div class="feld">
|
||
<label class="feld-schild" for="n-land">Land</label>
|
||
<select id="n-land">
|
||
<option value="">– nicht angegeben –</option>
|
||
<option value="DE">Deutschland</option>
|
||
<option value="AT">Österreich</option>
|
||
<option value="CH">Schweiz</option>
|
||
<option value="LU">Luxemburg</option>
|
||
<option value="andere">anderes Land</option>
|
||
</select>
|
||
</div>
|
||
<div class="feld">
|
||
<label class="feld-schild" for="n-follower">Follower</label>
|
||
<input id="n-follower" maxlength="14" inputmode="numeric" placeholder="z. B. 12400 oder 12,4k" />
|
||
</div>
|
||
</div>
|
||
<p class="fehler" id="n-fehler" role="alert" aria-live="polite"></p>
|
||
<div class="neu__knoepfe">
|
||
<button type="submit" class="knopf knopf--klein" id="n-speichern">Aufnehmen</button>
|
||
<button type="button" class="knopf-still" id="neu-zu">Abbrechen</button>
|
||
</div>
|
||
</form>
|
||
</section>
|
||
|
||
<div id="pipeline" aria-busy="true"><p class="leise">Pipeline wird geladen …</p></div>
|
||
|
||
</main>
|
||
|
||
<!-- Zugangscode nach dem Onboarding: genau einmal sichtbar. -->
|
||
<div class="schleier" id="code-schleier" hidden>
|
||
<div class="code-fenster" role="dialog" aria-modal="true" aria-labelledby="code-titel">
|
||
<p class="marke">Onboarding gestartet</p>
|
||
<h2 class="code-fenster__titel" id="code-titel">Zugangscode</h2>
|
||
<p class="code-fenster__text">
|
||
Dieser Code wird <strong>genau einmal</strong> angezeigt und ist danach nicht mehr
|
||
abrufbar. Gib ihn persönlich weiter, nicht über einen offenen Kanal.
|
||
</p>
|
||
<p class="code-fenster__code" id="code-wert">—</p>
|
||
<div class="neu__knoepfe">
|
||
<button type="button" class="knopf knopf--klein" id="code-kopieren">Kopieren</button>
|
||
<button type="button" class="knopf-still" id="code-zu">Habe ich notiert</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script src="assets/js/meldung.js?v=202610031121" defer></script>
|
||
<script src="assets/js/nachfrage.js?v=202610031121" defer></script>
|
||
|
||
<script src="assets/js/wahl.js?v=202610031121" defer></script>
|
||
<script src="assets/js/bereiche.js?v=202610031121" defer></script>
|
||
<script src="assets/js/installieren.js?v=202610031121" defer></script>
|
||
<script src="assets/js/kopf.js?v=202610031121" defer></script>
|
||
<script src="assets/js/glocke.js?v=202610031121" defer></script>
|
||
<script src="assets/js/scouting.js?v=202610031121" defer></script>
|
||
</body>
|
||
</html>
|