All checks were successful
Deploy bericht / deploy (push) Successful in 1s
Dolibarr-Modul für Arbeitsberichte aus Rechnungs-Anhängen mit Browser-PDF-Editor. - Reiter "Bericht" auf Rechnungen, Aufträgen und Angeboten - Anhänge-Browser inkl. verknüpfter Objekte (Auftrag → Rechnung) - PDF.js + Fabric.js Browser-Editor: Pfeile, Kreise, Rechtecke, Freihand, Text - SortableJS Seiten-Verwaltung mit Drag&Drop - ODT-Deckblatt mit Platzhaltern, Templates im Admin verwaltbar - TCPDF + FPDI Finalisierung mit eingebrannten Annotationen - ECM-Verknüpfung: PDF erscheint unter Verknüpfte Dokumente - Auftragsnummer aus existierendem Extrafield options_auftragsnummer - Mehrere Berichte pro Dokument - Beim Aktivieren werden vorhandene Extrafields nicht überschrieben Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
23 lines
711 B
PHP
23 lines
711 B
PHP
<?php
|
|
/* POST: order = JSON-Array von page_ids in neuer Reihenfolge, token */
|
|
require_once __DIR__.'/_inc.php';
|
|
|
|
global $db, $user;
|
|
if (!$user->hasRight('bericht', 'write')) bericht_ajax_fail('Permission denied', 403);
|
|
|
|
$order_raw = $_POST['order'] ?? '';
|
|
$ids = json_decode($order_raw, true);
|
|
if (!is_array($ids)) bericht_ajax_fail('Ungültige Reihenfolge');
|
|
|
|
$db->begin();
|
|
foreach ($ids as $pos => $pageid) {
|
|
$pageid = (int) $pageid;
|
|
if ($pageid <= 0) continue;
|
|
if (!$db->query("UPDATE ".$db->prefix()."bericht_page SET page_order = ".((int) ($pos + 1))." WHERE rowid = ".$pageid)) {
|
|
$db->rollback();
|
|
bericht_ajax_fail($db->lasterror());
|
|
}
|
|
}
|
|
$db->commit();
|
|
|
|
bericht_ajax_ok();
|