Rechnungen: Anrede beim Bearbeiten, lokale Testumgebung, BOMs

Beim Test der Oberflaeche im Browser gefunden:

- addrechnung.tpl fragte die gespeicherte Anrede als $rechnung.anr1 ab
  (die Daten heissen anrede1) und gab sie ohne Klammern aus. Beim
  Bearbeiten von Angeboten/Briefen erschien deshalb immer die
  Standard-Anrede, eine geaenderte ging beim erneuten Speichern verloren.
- |escape innerhalb von {if}-Bedingungen wieder entfernt (dort ohne
  Wirkung, gehoert nicht dorthin).
- UTF-8-BOM aus sechs Dateien entfernt; makepdf.php gab es auf jeder
  Rechnungsseite vor dem HTML aus.
- makeImageFromPDF() loeschte bei der Aufraeumrunde auch .gitkeep;
  Pfade fuer convert per escapeshellarg().
- constants.php: Instanzname auch unter Windows (getcwd() mit
  Backslashes) korrekt; KV_CONFIG_PATH als Config-Pfad fuer lokale Tests.

Im Browser getestet (lokaler PHP-Webserver, migrierte Testdatenbank):
Login mit Sonderzeichen-Passwort, Entwurf automatisch speichern und
laden, Rechnung mit Umlauten/Anfuehrungszeichen/HTML im Artikelnamen und
Komma-Betraegen speichern, Anzeige als PDF (Original und Kopie),
Kundensuche nach Dokumenten mit Umlaut, Artikelnamen escaped, Storno,
Kopie auf andere Adresse, Umschlag, Angebot mit eigener Anrede anlegen und
wieder bearbeiten.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-17 11:27:27 +02:00
co-authored by Claude Opus 5
parent b76d883fbe
commit 8fe43d6802
9 changed files with 43 additions and 37 deletions
+19 -19
View File
@@ -1,4 +1,4 @@
<div class="centersidebyside">
<div class="centersidebyside">
<div class="sidebyside">
{if $rechnung.typ_id && !$newtype}
{$type = $rechnung.typ_id}
@@ -114,11 +114,11 @@
<p>
<br />
<label>Anrede:</label>
{if $anrs.{$adresse.anrede_id|escape} == "Herrn" || $anrs.{$adresse.anrede_id|escape} == "Herr"}
{if $anrs.{$adresse.anrede_id} == "Herrn" || $anrs.{$adresse.anrede_id|escape} == "Herr"}
{strip}
<input value='
{if $rechnung.anr1}
$rechnung.anr1
{if $rechnung.anrede1}
{$rechnung.anrede1|escape}
{else}
Sehr geehrter Herr{" "}
{if $adresse.titel_id > 1}
@@ -131,11 +131,11 @@
{/if}
' id='anr1' maxlength='150' name='anr1' /><br />
{/strip}
{elseif $anrs.{$adresse.anrede2_id|escape} == "Herrn" || $anrs.{$adresse.anrede_id|escape} == "Herr"}
{elseif $anrs.{$adresse.anrede2_id} == "Herrn" || $anrs.{$adresse.anrede_id|escape} == "Herr"}
{strip}
<input value='
{if $rechnung.anr1}
$rechnung.anr1
{if $rechnung.anrede1}
{$rechnung.anrede1|escape}
{else}
Sehr geehrter Herr{" "}
{if $adresse.titel2_id > 1}
@@ -148,11 +148,11 @@
{/if}
' id='anr1' maxlength='150' name='anr1' /><br />
{/strip}
{elseif $anrs.{$adresse.anrede_id|escape} == "Frau"}
{elseif $anrs.{$adresse.anrede_id} == "Frau"}
{strip}
<input value='
{if $rechnung.anr1}
$rechnung.anr1
{if $rechnung.anrede1}
{$rechnung.anrede1|escape}
{else}
Sehr geehrte Frau{" "}
{if $adresse.titel_id > 1}
@@ -165,11 +165,11 @@
{/if}
' id='anr1' maxlength='150' name='anr1' /><br />
{/strip}
{elseif $anrs.{$adresse.anrede2_id|escape} == "Frau"}
{elseif $anrs.{$adresse.anrede2_id} == "Frau"}
{strip}
<input value='
{if $rechnung.anr1}
$rechnung.anr1
{if $rechnung.anrede1}
{$rechnung.anrede1|escape}
{else}
Sehr geehrte Frau{" "}
{if $adresse.titel2_id > 1}
@@ -187,11 +187,11 @@
{/if}
<label>Zweite Anrede:</label>
{if $anrs.{$adresse.anrede_id|escape} == "Frau" && $anrs.{$adresse.anrede2_id|escape} == "Herrn"}
{if $anrs.{$adresse.anrede_id} == "Frau" && $anrs.{$adresse.anrede2_id|escape} == "Herrn"}
{strip}
<input value='
{if $rechnung.anr2}
$rechnung.anr2
{if $rechnung.anrede2}
{$rechnung.anrede2|escape}
{else}
Sehr geehrte Frau{" "}
{if $adresse.titel_id > 1}
@@ -204,11 +204,11 @@
{/if}
' id='anr2' maxlength='150' name='anr2' /><br />
{/strip}
{elseif $anrs.{$adresse.anrede2_id|escape} == "Frau"}
{elseif $anrs.{$adresse.anrede2_id} == "Frau"}
{strip}
<input value='
{if $rechnung.anr2}
$rechnung.anr2
{if $rechnung.anrede2}
{$rechnung.anrede2|escape}
{else}
Sehr geehrte Frau{" "}
{if $adresse.titel2_id > 1}