From 7ab3dcdc63e3ce69dca2074f6e11284baaf2223d Mon Sep 17 00:00:00 2001 From: Eduard Wisch Date: Sat, 18 Jul 2026 13:53:21 +0200 Subject: [PATCH] Fix: Zahlart/Zahlungsbedingung im Kunden-Detail uebersetzen (PWA-Defaults) [deploy] customers.php holte die rohen englischen libelle aus c_payment_term/ c_paiement ('Credit Transfer', 'Due upon receipt'). Jetzt uebersetzt ueber die Dolibarr-Sprachkeys PaymentConditionShort / PaymentTypeShort (Sprachdatei bills), mit Fallback auf libelle wenn kein Key existiert. Behebt 'Payment Condition' / 'Credit transfer' in der Uebernommen-Zeile. --- api/customers.php | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/api/customers.php b/api/customers.php index 1bfe9a9..715dd8f 100644 --- a/api/customers.php +++ b/api/customers.php @@ -57,16 +57,28 @@ if (!$id) { $soc = new Societe($db); if ($soc->fetch($id) <= 0) api_fail('Kunde nicht gefunden', 404); -// Labels für Defaults ermitteln (werden beim Auftrag-Anlegen übernommen) +// Labels für Defaults ermitteln (werden beim Auftrag-Anlegen übernommen). +// In c_payment_term/c_paiement stehen die libelle englisch/technisch ("Credit Transfer", +// "Due upon receipt"); die Anzeige-Übersetzung läuft in Dolibarr über die Sprachkeys +// PaymentConditionShort bzw. PaymentTypeShort (Sprachdatei "bills"). +$langs->load("bills"); $cond_label = ''; if (!empty($soc->cond_reglement_id)) { - $rc = $db->query("SELECT libelle FROM ".$db->prefix()."c_payment_term WHERE rowid = ".((int) $soc->cond_reglement_id)); - if ($rc && ($rco = $db->fetch_object($rc))) $cond_label = $rco->libelle; + $rc = $db->query("SELECT code, libelle FROM ".$db->prefix()."c_payment_term WHERE rowid = ".((int) $soc->cond_reglement_id)); + if ($rc && ($rco = $db->fetch_object($rc))) { + $key = "PaymentConditionShort".$rco->code; + $tr = $langs->trans($key); + $cond_label = ($tr != $key) ? $tr : ($rco->libelle != '-' ? $rco->libelle : ''); + } } $mode_label = ''; if (!empty($soc->mode_reglement_id)) { - $rm = $db->query("SELECT libelle FROM ".$db->prefix()."c_paiement WHERE id = ".((int) $soc->mode_reglement_id)); - if ($rm && ($rmo = $db->fetch_object($rm))) $mode_label = $rmo->libelle; + $rm = $db->query("SELECT code, libelle FROM ".$db->prefix()."c_paiement WHERE id = ".((int) $soc->mode_reglement_id)); + if ($rm && ($rmo = $db->fetch_object($rm))) { + $key = "PaymentTypeShort".$rmo->code; + $tr = $langs->transnoentitiesnoconv($key); + $mode_label = ($tr != $key) ? $tr : ($rmo->libelle != '-' ? $rmo->libelle : ''); + } } // Aufträge des Kunden