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
customer_picker: name leer lassen, damit es nicht mit assign_attributes kollidiert
2. Teil zu: Winston-Export, Taxbird-Export und Latex-Export für UstVA entfernt
L.pm um for_submit erweitert und in Kundenvorlage erweitert: #2386
Code von Sven übernommen. Ohne das for_submit wurde bei abgewähltenCheckboxen nichts übertragen (auch keine 0), so daß Rose die Spalte auchnicht aktualisiert hat. Dies wurde durch das Hinfügen von Hiddens...
BackgroundJobHistory getmodels
BackgroundJob models
Erste Version GetModels rewrite
known bugs:disable pagination funktioniert nichtcompiletime optimizations werden noch nicht benutztdoku fehlt
Template: as_list-Methode zum Forçieren vom Listenkontext
jqModal-Dialoge durch jQuery-UI-Dialoge ersetzen
Javascript escape nach Ecmascript Spec.
Es gab einen Eckfall mit CR wo das kaputt gegangen ist, Spec kenntnoch als weitere Randfälle TAB, VT, ' und BS
JavaScript-Plugin: Carriage returns escapen
ClientJS: automatisch Date- und Partpicker nach AJAX-Request initialisieren
Doku, picker nach Presenter verschoben
Part Picker
L.date_tag: Möglichkeit, "class" zu setzen
Unterstützung für andere Datenbankencodings als Unicode/UTF-8 entfernt
'templates' nicht aus %::myconfig, sondern aus Defaults-Tabelle holen
Möglichkeit die Paginating Links auf ein DOM Element zu senden
L.sortable_element: beliebige POST-Parameter mit 'params' übergeben können
client_js.js: Funktionen in namespace kivi verschoben
L.radio_button_tag: value="" ermöglichen
Data::Dumper immer via 'use' und nicht 'require' einbinden
Ist schließlich ein Core-Modul.
SL::Template::LaTeX: Funktion zum Parsen & PDF erzeugen aus einem .tex mit nur einem Funktionsaufruf
_hashify: verallgemeinert, getestet, nach SL::Util verschoben (und das dabei erfunden)
config tag-style für TT vorlagen
Erste Version Template Toolkit Druck
L-Plugin und Presenter: Erzeugung "ID"-Attribute mittels "no_id => 1" unterdrückbar
L: neue Funktion ajax_submit_tag()
L.button_tag: Support für 'confirm' & Doku
L/Presenter: mehrere Funktionen aus L in Presenter verschoben
Presenter-Template-Plugin: bei nicht existierenden Funktionen warnen
L.select_tag: Unterstützung für Nutzung von <optgroup>s
L: "truncate" und "simple_format" in Presenter verschoben
Lokalisierungsdateien jquery-ui hinzugefügt
Fixt #2179.
Alten Code entfernt (MultiColumnIterator)
Opendocument PDF Konvertierung unter FCGI ermöglicht
Forken unter FCGI muss die in/out streams gesondert behandeln.
L: hidden_tag(): Parameterübergabe gefixt
Refactoring: DHTML-Tab-Dialog durch Variante aus jQuery-UI ersetzt
Refactoring: Parameterredesign SL::Controller::Base::render und SL::Presenter::render
Conflicts: SL/Controller/FinancialControllingReport.pm SL/Controller/ProjectType.pm
SL::Presenter -- die neue Präsentationsschicht
Python-Interpreter und -Modulpfad über Konfigurationsoptionen in kivitendo.conf konfigurierbar gemacht
Behebt #671.
customer_autocomplete
Javascript war nicht in der Lage mehr als ein Feld zu handhaben. Es istjetzt ausgelagert in ein Javascript und wird nur bei Bedarf geladen.
Lx-Office heißt nun kivitendo
Refactoring: In Rückgabewert vom Paginated-DB-Helfer 'cur' in 'page' umbenennen
Dient Konsistenz der Eingangs- und Ausgangsparameter.
Dadurch entfällt auch das Hin- und Herbenennen imPaginated-Controller-Helfer/im L-Plugin.
value_title_sub in L.select_tag richtig verarbeiten.
Parameter "empty_label" von L.select_tag nicht als HTML-Attribut ausgeben.
Druckvorlagen: <%if%>-Block auf leere Arrays testen lassen können
OpenDocument: Nicht-ASCII-Zeichen in styles.xml in UTF-8 konvertieren
Fixt #1861.
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
Den Confirm-Text unter SL::Template::Plugin::L::submit_tag escapen
SL::Template::Plugin::L::_J ums escaping von ' und \ erweitert
SL::Template::Plugin::L::select_tag und SL::Template::Plugin::L::options_for_select fusionieren.
Sorted-Controller-Helper: Spaltentitle nicht direkt in make_sorted() übersetzen
Hintergrund ist der, dass ansonsten die Übersetzung nur einmalpassiert, nämlich dann, wenn das Modul compiliert wird. Für normalesCGI funktioniert das:
- Zuerst wird der Dispatcher geladen und ausgeführt. Der analysiert...
L.img_tag
weil L.html_tag aus templates heraus nicht in der lage ist undef als content zu übergeben