Schweizer QR-Rechnung: Adressen auf Adresstyp S umstellen
- innerhalb des QR-Code Adresstyp S verwenden- Validierung angepasst: Strasse und Hausnummer können leer sein- changelog Eintrag- locale update
Schweizer QR-Rechnung: Kreditor Adressdaten validieren
- Übersetzungen + locales lauf de/en
Bereinigung SL/Template/OpenDocument.pm hash keys ohne Anführungszeichen gesetzt, gem. Dok. Style Guide
Schweizer QR-Rechnung: Zusätzliche Rechnungsadressen in QR-Code Ausgabe eingebaut
Schweizer QR-Rechnung: OpenDocument.pm ungenutzte Module entfernt
Revert "Template::Simple: TODO: format_string ist nicht implementiert"
This reverts commit c98e15819ac4a3d39b1f5dea9f29f4dc359ea578.
Tempate::Simple ist zur eigenständigen Verwendung
Template::Simple: TODO: format_string ist nicht implementiert
ZUGFeRD/LaTex pdfmanagement rausnehmen
ZUGFeRD: Paket pdfmanagement anstelle von tagpdf für Erzeugung von PDF/A nutzen
Schweizer QR-Rechnung: Fix Rechnungsvorschau Drucken mit Referenznummer ermöglichen
Presenter: füge 'input_tag_trim' hinzu; entfernt Leerzeichen um Eingabe
Swiss QR-Bill: Rechnungstyp Anzahlungsrechnung für QR-Rechnung erlauben
- Leerzeichen entfernt Z. 563, 697
HTML-zu-LaTeX: Sonderfall bzgl. Zeilenumbruch behandeln
Zeilenumbrüche direkt am Anfang eines Absatzes auch finden, wennAbsatz mit \par gesetzt wird.
Siehe auch 066cdace62af6f25e9e29249aa0325cc247b132b"HTML-zu-LaTeX: diverse Sonderfälle bzgl. Zeilenumbrüchen behandeln"...
multi_level_select_tag hinzugefüht
Dieser Tag dient um aus verschachtelten Objekten mehrere hierarchische select tags zu erzeugen
Merge pull request #51 from kivitendo/2022-redesign-merge-3
2022 redesign merge 3
OpenDocument PDF Erzeugung: Geht neu direkt via LibreOffice CLI Option, anstatt via Makro
- vereinfacht die Einrichtung, da LibreOffice kein Makro mehr ausführen muss (auf dem Server nicht ganz trivial einzurichten)
OpenDocument PDF Erzeugung: Xvfb wird nicht mehr gebraucht um libreoffice auf dem Server zu starten
- libreoffice wird mit --headless gestartet, das funktioniert auch ohne Xvfb, getestet auch mit openofficeorg_daemon Variante
LaTeX: Aufruf von latexmk klarer gemacht
LaTeX-Druckvorlagen: nicht immer zwei mal den LaTeX-Interpreter aufrufen
LaTeX-Druckvorlagen werden nun standardmäßig nicht mehr zwei mal durchden LaTeX-Interpreter übersetzt. Statt dessen wird in derStandardkonfiguration das Programm »latexmk -pdf« aufgerufen, das...
LaTeX: TeX-Var-Verzeichnis permanent im users-Verzeichnis belassen
Bisher lag es bei PDF-Erzeugung im temporären Verzeichnisusers/kivitendo-print-…, das anschließend wieder gelöscht wurde. Dasbedeutete, dass Font-Caching bei jeder PDF-Erstellung erfolgen...
LaTeX switch from \n\n to \par in replacements of user input
L: area-input switch-to-textarea button styling ins css verschoben
CLI Optionen für OpenDocument PDF Erzeugung korrigiert (behebt Warnungen)
Swiss QR-Bill: Einige Variablen bereits in der invoice setzen, so dassdiese auch in den latex Vorlagen verfügbar sind.
Variablen:
qrbill_iban, qrbill_biller_countrycode, qrbill_customer_countrycode,qrbill_amount
Swiss QR-Bill: Unstrukturierte Mitteilung in Rechnung hinzufügen
Swiss QR-Bill: QR-Referenz soll in der jeweiligen Rechnung gespeichert werden
Swiss QR-Bill: QrBillFunctions.pm Fehlerrückgabe angepasst
Swiss QR-Bill: Fix zu Bankkonto für QR-Rechnung
- fehlendes Modul eingefügt- nur erstes markiertes Bankkonto berücksichtigen
Swiss QR-Bill: Helfer Funktionen in separate Datei ausgelagert
Swiss QR-Bill: Schweiz als Standardwert für das Land beim Rechnungssteller verwenden
Swiss QR-Bill: Für die QR-Rechnung nur Vorlagen mit dem Vorlagenkürzel 'qr' berücksichtigen
Ermöglicht die gleichzeitige Verwendung von QR und nicht-QR Rechnungen.
Swiss QR-Bill: Beim Erzeugen der QR-Rechnung Schweiz als Standardwert für das Land beim Kunden verwenden
Swiss QR-Bill: Option Rechnung ohne Betrag
- Checkbox bei Rechnung hinzugefügt (eingeblendet wenn Feature aktiv,sonst hidden)- Integration in Odt Print Ablauf- Übersetzung + locales lauf
Swiss QR-Bill: Fix: Referenznummer nur bei gewählter Variante erzeugen
Swiss QR-Bill: QR-Code in Printablauf nur für Formname "Rechnung" erzeugen
Swiss QR-Bill: Variante IBAN ohne Referenz in Druckablauf und Mandantenkonfiguration hinzugefügt
KiviLatex-Plugin: HTML-zu-LaTeX-Wandlung aus SL::Template::LaTeX verwenden
Die Umwandlung von HTML zu LaTeX ist komplex. Es gibt viele Randfälle,in denen ein falsch platziertes \newline übrig bleibt, über das LaTeXdann stolpert.
Bisher gab es zwei Implementationen dieses Codes:...
Swiss QR-Bill: In Druckablauf OpenDocument/OASIS integrieren
- Feature in Mandantenkonfiguration einschaltbar- Aufruf zum Erzeugen von QR-Code PNG (Steven Schubiger)- Vorlage hinzugefügt (rev-odt/invoice_qr.odt)- PNG Bild CH-Kreuz hinzugefügt- Übersetzungen hinzugefügt, locales Script ausgeführt de/en...
L/Presenter: Funktion zum Entfernen aller HTML-Tags
L/Presenter: Funktion zum Säubern von HTML von unerwünschten Tags
Definitionen von format_amount_units entfernt.
Durch die zwei vorgherigen commits wird format_amount_units nichtmehr verwendet.
Presenter::Tag: img_tag aus Plugin/L verschoben
Presenter::Tag: radio_button_tag aus Plugin/L verschoben
HTML zu LaTeX: gewisse kaputte Konstrukte vom CKEditor entfernen
Dazu gehören leere Listen <ul></ul> oder Paragraphen mitZeilenumbrüchen und non-breakable spaces <p><br><br> </p>
Factur-X/ZUGFeRD: in »Factur-X/ZUGFeRD« umbenannt
Mit ZUGFeRD-Standard Version 2.1.1 ist der offizielle Name desEU-Standards schlicht Factur-X. ZUGFeRD ist nur noch der toleriertealte Name.
In der Oberfläche ist nun überall von »Factur-X/ZUGFeRD« die Rede....
div_tag aus L in Presenter verschoben
ZUGFeRD: Namen der eingebetteten Datei richtig setzen
'ucfilespec' wird erst ab PDF 1.7 unterstützt, was wir nichterzeugen. Daher wurde bisher der Name der temporären Datei auch im PDFals Dateiname verwendet.
Jetzt wird korrekt »ZUGFeRD-invoice.xml« als Name des Anhangs im PDF...
Kosmetik: Einrückung
Hinzufügen der Option ajax_return zu L.sortable_element
ZUGFeRD: nicht nach \documentclass, sondern \begin{document} suchen
\documentclass steht evtl. in einem Include.
PDF/A-Erzeugung: die XMP-Metadaten selber erzeugen
PDF-Erzeugung: alles in temporärem Unterverzeichnis von users erledigen
Das vermeidet Kollisionen, wenn Dateien mit festem Namen wie`pdfa.xmp` für PDF/A erzeugt werden müssen.
PDF-Erzeugung: Support fürs Erzeugen von PDF/A-konformen PDFs
Es gibt einen Rose-DB-Helfer `S:D:H:PDF_A`, der die erforderlicheStruktur für `SL::Template::LaTeX` (via`$form->{TEMPLATE_DRIVER_OPTIONS}->{pdf_a}`) erzeugt. Der Helfer istfür die üblichen Belegklassen (`S:D:{Order,DeliveryOrder,Invoice}`)...
Vorlagen: (kaputte) Unterstützung für XML-Vorlagen entfernt
Außerdem ein paar Vorkommen der schon seit längerem entfernte Winston& Taxbird entfernt.
LaTeX: openin_any weniger restriktiv
Die Einstellung openin_any aus texmf.cnf (oder der Umgebungsvariablegleichen Namens) kontrolliert, aus welchen Pfaden (PDF)LaTeXQuelldateien liest: a = any liest aus beliebigen Verzeichnissen, r =restricted nicht aus Dot-Verzeichnissen und p = paranoid nur aus...
LaTeX-Escaping: gewisse Formen von »no line to end here« vermeiden
Passiert, wenn im HTML so ein Konstrukt existert:
…Text</p><p> <br>
Das wird zu einem Paragraphen, einem Leerzeichen und einem forciertenZeilenumbruch:
----schipp----Text
\newline...
Presenter::Tag::link - umbenannt in link_tag
um Namenskonflikte mit dem link builtin zu vermeiden
LaTeX-Druck: Newlines nicht entfernen
LaTeX-Druck: Unicode-Control-Zeichen und nicht druckbare Zeichen entfernen
Filtert z.B. das »bidirectional left-to-right«-Kontroll-Zeichen raus,an dem sich LaTeX verschluckt.
Presenter::Tag: date_tag aus Plugin/L verschoben
Presenter::Tag: textarea_tag aus Plugin/L verschoben
Presenter: Sub-Presenter auf Funktional geändert
1. alle Sub-Presenter aus dem SL::Presenter Namespace geschmissen
2. Keine ungefragten @EXPORTs mehr, nur noch @EXPORT_OK
3. Alle Methoden sind auf Funktionen umgeschrieben (kein $self mehr)
4. Die benötigten Methoden von Sub-Presentern müssen jetzt direkt importiert...
kivi.Validator: date_tag angepasst und input_number_tag eingeführt
AreaInputTag: kleines Icon neben Input zum Umschalten auf Textarea
In Masken, in denen es keinen »Erneuern«-Button gab (neuerArtikelcontroller), hatten die Benutzer*innen somit auch keineMöglichkeit, aus dem normalen Input eine Textarea zu machen. Dies hier...
SL::Template::*: Form::template direkt nutzen, nicht mehr Form::init_template
Form::init_template wurde bei der Umstellung entfernt, bei der nurnoch die eine Template-Instanz im SL::Presenter genutzt wird, und Formkeine eigene mehr beinhaltet.
Presenter: mehr Funktionen von L in Tag-Presenter verschieben
Datumvalidierung bei ENTER, d.h bei onchange, nich bei onblur.
Beim Bestätigen der Datumseingabe mit ENTER statt mit TAB wird die Funktion nicht getriggert,und ungültiges Datum wird übernommen.
OnBlur Event für alle Datumsfelder auf OnChange umgestellt.
Presenter: button_tag, submit_tag, ajax_submit_tag von L nach SL::Presenter::Tag verschoben
Form: globals nicht mehr beim Drucken in Form ablegen
Presenter: hidden_tag, javascript, checkbox_tag von L → Presenter::Tag verschoben
Damit sind diese Funktionen auch direkt aus Perl-Code verfügbar, und manmuss nicht mehr das unsägliche CGI benutzen, um Checkboxen zu rendern.
HTML-zu-LaTeX: diverse Sonderfälle bzgl. Zeilenumbrüchen behandeln
Zeilenumbrüche an verschiedenen Stellen sorgten dafür, dass LaTeX dieFehlmerldung »There's no line to end here« ausspuckte. Die folgendenSonderfälle werden nun abgefangen und in \vspace*-Anweisungen...
Revert "JavaScript-Plugin: auch als Filter einsetzen können"
Dies revertet Commit 20d730acdbb52b5b75af783aa010609e25b73024. Grundist, dass aus bisher nicht zu analysierenden Gründen in manchenSituationen der Template-Toolkit-Compiler oder eine andere Komponente...
JavaScript-Plugin: auch als Filter einsetzen können
Rückgabewert von system-Aufrufen prüfen und ggf. Fehler ausgeben.
OpenDocument-Template: Umwandlung von HTML-Feldern gefixt
OpenDocument hat gewisse Probleme mit Verschachtelung von gewissenKonstrukten, z.B. kein <text:p> innerhalb von <text:p><text:span>. DieHTML-Felder aber sind immer in ein <p>…</p> eingeschlossen....
Druck: Bei template-toolkit auch die globals setzen
Project-Picker basierend auf Part-Picker
OpenDocument Druck: foreach Konstrukte korrekt ausschneiden
$&, $' und $` grösstenteils entfernt.
L.radio_button_tag: value in id mit einbeziehen
Neues Feature: Chartpicker
Praktisch komplett analog zum Partpicker, danke Sven für diePionierleistung!
Es gibt natürlich ein paar Unterschiede bei den Filteroptionen, z.B.kann man im Popup nur bebuchte Konten anzeigen lassen, oder dieErgebnisliste nach der Kontenart einschränken. Es wird auch immer nur...
CustomerVendor: Picker nach Art von PartPicker
- reinit_widgets fähig- Tab und Enter atomar- unterstützt onChange und set_item:CustomerVendorPicker trigger- unterstützt fat_set_item
L.radio_button_tag: id erhalten wenn sie schon vorher gesetzt ist.
L: Eindeutige ids für radio_tag wiederhergestellt.
Die waren in da2fecb453416b3731a896ab6d35e9992be3d9eb kaputtgegangen.
L: Parameterextraktion dreier Funktionen gefixt
Template übergibt Hash-Parameter als Hash-Ref, nicht direkt als Hash.
LaTeX-Escaping von HTML: Newlines am Ende entfernen
KiviLatex-Template-Plugin: leere Listen entfernen
Das sind Einträge, die im HTML so aussehen: <ul> </ul> LaTeX schmeißtbeim Äquivalent (\begin{itemize} \end{itemize}) Fehler. Kann z.B. viaCopy & Paste aus LibreOffice passieren.
KiviLatex-Plugin: Dokumentation ergänzt
KiviLatex-Plugin: \uline{…} aus ulem-Package für »Unterstrichen« nutzen
Das Standard-\underline{…} setzt den Text in eine \hbox. Nebenwirkungist, dass der Text darin weder der Silbentrennung noch dem Wortumbruchunterworfen wird.
Plugin LxLatex in KiviLatex umbenannt
Template-Plugin LxLatex: neue Funktion filter_html()
Konvertiert HTML nach LaTeX.
Refactoring: SL::Template: Parameterübergabe als Hash, nicht positionsabhängig (Teil 2)
HTML-zu-LaTeX/OpenDocument: durch normale Leerzeichen ersetzen
SL::Template::OpenDocument: Unterstützung für HTML-codierte Felder
SL::Template::LaTeX: Unterstützung für HTML-codierte Felder
SL::Template: Optionen von den Contrllern zum eigentlichen Template-Modul durchleiten
Refactoring: SL::Template: Parameterübergabe als Hash, nicht positionsabhängig
Pflichtenhefte: Unterstützung für an Textblöcke angehängte Bilder
areainput implementierung von cetaq übernommen
L-Plugin: Hilfsfunktion is_rdbo($obj) zum Testen ob $obj von einem RDBO ableitet