fix: Foto-Upload hängt an neuestem Entwurf, nicht blind an [0]
All checks were successful
Deploy bericht / deploy (push) Successful in 1s
All checks were successful
Deploy bericht / deploy (push) Successful in 1s
- Wenn mehrere Berichte zum Auftrag existieren, wird der erste gefundene ENTWURF (status=0) wiederverwendet - Finalisierte Berichte werden NICHT mehr mit neuen Seiten überschrieben - Optional ?bericht_id=X um gezielt in einen bestimmten Bericht hochzuladen - Wenn alle Berichte final sind, wird automatisch ein neuer Entwurf angelegt So kann die PWA mehrere Fotos hintereinander in denselben Bericht packen, statt pro Upload einen neuen anzulegen. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> [deploy]
This commit is contained in:
parent
bcf48ccddc
commit
046b26665f
1 changed files with 17 additions and 3 deletions
|
|
@ -102,9 +102,23 @@ if ($action === 'upload_photo' && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||
if (!$user->hasRight('bericht', 'write')) api_fail('Schreibrechte fehlen', 403);
|
||||
if (empty($_FILES['file']['tmp_name'])) api_fail('file fehlt');
|
||||
|
||||
// Bericht zum Auftrag suchen oder neu anlegen
|
||||
// Bericht zum Auftrag suchen: neuester ENTWURF wird erweitert.
|
||||
// Wenn nur finalisierte Berichte existieren, wird ein neuer Entwurf angelegt.
|
||||
// Mit ?bericht_id=X kann die PWA einen spezifischen Bericht addressieren.
|
||||
$wanted_id = (int) ($_GET['bericht_id'] ?? 0);
|
||||
$bericht = null;
|
||||
if ($wanted_id > 0) {
|
||||
$b = new Bericht($db);
|
||||
if ($b->fetch($wanted_id) > 0 && $b->fk_element == $cmd->id && $b->element_type === 'order') {
|
||||
$bericht = $b;
|
||||
}
|
||||
}
|
||||
if (!$bericht) {
|
||||
$list = Bericht::fetchAllForElement($db, 'order', $cmd->id);
|
||||
$bericht = !empty($list) ? $list[0] : null;
|
||||
foreach ($list as $b) {
|
||||
if ((int) $b->status === Bericht::STATUS_DRAFT) { $bericht = $b; break; }
|
||||
}
|
||||
}
|
||||
if (!$bericht) {
|
||||
$bericht = new Bericht($db);
|
||||
$bericht->element_type = 'order';
|
||||
|
|
|
|||
Loading…
Reference in a new issue