new_lastmtime um optionalen dbh erweitert
Zahlungsbedingungen: Unterscheidung zwischen Angeboten/Aufträgen und Rechnungen
Dies führt ein neues Attribut »payment_terms.description_long_invoice«und dazugehörige Übersetzungen in »generic_translation« ein.
Die Druckvariable »payment_terms« wird nun in Abhängigkeit vom...
Belege runden, und Rundungsdifferenzen auf Extrakonten buchen.
Revert "Belege runden, und Rundungsdifferenzen auf Extrakonten buchen."
This reverts commit 422f2f17365ea7879c14b902c5db1e4cd7023e48.
Dispatcher: end_of_request() sub aus main namespace verbannt
(I)LIKE-Argumente immer mit Funktion SL::DBUtils::like erstellen
Funktion »like« von Form nach DBUtils verschoben
Das ist eine Datenbank-Quoting-Funktion und hat daher nichts mehr inForm zu suchen.
Gelangensbestätigung: LaTeX-Druckvorlage, Doku und Übersetzung
Form: globals nicht mehr beim Drucken in Form ablegen
CVars: Lieferadressen-CVars bei Ein-/Verkaufsbelegen benutzen können
Reapply "Form: round_amount precision support"
Und mit neuer Autorschaft neu.
Revert "Form: round_amount precision support"
Originalcommit: 73a78da630ce363f70062447dd82a8a0ece8cd89
Einkaufs-/Verkaufssuchen: bei Textfeldern führende/anhängende Whitespaces entfernen
warnings: besseres sanitizing in Form::calculate_tax
Form::round_amount: nicht initialisierte Variable $places
4. Überarbeitung Prüfen beim Speichern, ob Dokument geändert ist
An einigen Stellen wird nach dem Speichern nicht neu gelesen,sondern die alten Forms-Variablen zum Aufbau der Webseite verwendet, z.B. "Auslagern".
Deshalb wird $form->lastmtime nun nach jedem Speichern aktualisiert.
GLN: Berücksichtigung in Belegmasken
js/switchmenuframe.js entfernt
seit dem letzten Layout rework ist das nicht mehr benutzt,also weg damit
Form: round_amount precision support
Form: parse_html_template: AUTH_RIGHTS_ syntax entfernt
AUTH.assert im template benutzen bitte.
Form: parse_html_template: DEBUG_ syntax entfernt
Hat auf lx_office_config.debug.options getriggert. Undokumentiert undnicht genutzt -> raus damit.
Form: parse_html_template - myconfig_jsc syntax entfernt
Form: parse_html_template: myconfig. Syntax entfernt
Form: parse_html_template: myconfig_ syntax entfernt
Form: parse_html_template lobals analog zu Presenter::render
jetzt auch in Form verfügbar:
- AUTH- LOCALE- LXCONFIG- LXDEBUG- MYCONFIG
Form: parse_html_template - DEBUG handling entfernt
olles legacy zeug, weg damit
css: common vor main/menu einbinden
So kann man common styles in den Stylesheets überlagern.
Form->format_amount: Warnung über negativen repeat count vermeiden
Warnung erscheint, wenn bei Konstrukten wie »'str' x $anzahl« die$anzahl negativ ist.
round_amount: Anzahl Stellen nicht zu hoch werden lassen
format_amount - negative 0 vermeiden
Ist eine Zahl z.B. -0.002, und wird auf 2 Stellen gerundet, so wird erstdas Minuszeichen gemerkt, dann gerundet (0.00), und schießlich wird dasMinus wieder hinzugefügt, dadurch bekommt man -0.00. Mit diesem Patchwird das Minus-Zeichen entfernt wenn die gerundete Zahl genau 0 ergibt.
t8 für sinnvolle Lokalisierung (locales.pl) in mtime_ischanged
Ferner korrekten optionaler Fehlertext bei entsprechender Option ausgeben.
3. Überarbeitung Prüfen beim Speichern, ob Dokument geändert ist
Verbesserte Regex für API-Aufruf. Gorash Code-QS. Abfangen vonSQL-Injections auf API-Ebene (100%)
Übersetzungsbüro Richardson Rechtschreib-QS von Commits in den Standard ...
2. Überarbeitung Prüfen beim Speichern, ob Dokument geändert wurde.
API-Funktion minimale Sicherheitschecks auf Parameter.Häßliche If-Abfrage mosufiziertPOD ergänzt
Erste Überarbeitung "Prüfen beim Speichern, ob Dokument geändert wurde."
Prüfen beim Speichern, ob Dokument geändert wurde.
Allgemeine Funktion in Forms zum Lesen und Vergleichen der mtime
überall Form variable lastmtime da mtime mehrfach auftaucht
Conflicts: templates/webpages/ar/form_header.html templates/webpages/do/form_header.html
Zahlungsbedingungen: Variablen für BIC, IBAN, Mandats-ID, Mandatsunterschriftsdatum
Druck: Bei template-toolkit auch die globals setzen
Name für Attachment auch zurückliefern, wenn keine Belegnummer vorhanden ist.
Undefined chart bei taxkey 0 und 1
Nicht nur bei Taxkey 0 gibt es keine chart_id, auch bei taxkey 1.Abfrage nun umgestellt.
Layout: Inlinejavascripte mit ; trennen
wzToolTip durch jQuery ToolTipster ersetzt
wzToolTip hat ein uraltes, ist in der Benutzung ausgesprochenunkomfortabel und unflexibel und muss zwingend in jedem benutzendenTemplate manuell nach dem <body>-Tag eingebunden werden. Dadurch kannes z.B. nicht im Layout mit ausgegeben werden.
Zahlungsbedingungen: Flag »Fälligkeitsdatum automatisch berechnen«
Zahlungsbedingungen bei Lieferscheinen; veraltete Spalte »terms« entfernt
Dispatcher: Client DB Handles cachen.
Spart etwa ein Drittel an Requestoverhead, von 27ms auf 17ms.
Indirekte Objektnotation fixen
parse_amount: Bei amount undef sofort 0 zurückgeben.
Form::parse_amount: Parsen als Oktalzahlen verhindern
Brieffunktion erste Version
Verkaufsbriefe können jetzt auch mit LaTeX erstellt werden.Ferner gibt es eine Briefentwurfs-Funktion, die aussieht wie drafts, aberzumindestens auf einer eigenen Tabelle beruht. Zusätzlich wurden zwei neue Rechtegesetzt
get_lists: salesman-case analog zu employee case
mit Commit ca18e0478035f63 ging die Verkäuferauswahl im Verkaufsberichtkaputt, da durch den all_salesmen-Parameter der param-Wert ALL_EMPLOYEESnicht benutzt wurde, und die Verkäufer deshalb in all_salesmen statt in...
PartPicker: javascript direkt im P.part_picker adden.
Stylesheets: Aufräumaktion
- gemeinsame stylesheets aus den kivitendo/lx-office-erp Verzeichnissen genommen- README aktualisiert- rp/bwa nicht mehr hartcodiert in kivitendo laden
Bei Fehler LaTeX Tempfiles als UTF8 einlesen
Dadurch können Unicode-Zeichen, die in der .tex Datei Fehlerverursachen, dem Benutzer an der Oberfläche besser angezeigt werden.
Rundung bei Debitorenbuchung, Kreditorenbuchung und Dialogbuchung
Zwei neue Hilfsfunktionen für Form eingeführt die von ap/ar/gl genutztwerden:
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
Form::round_amount: Perls Wissen über Stringifizierung nutzen
Perl weiß am besten, wann eine nicht ganz exakte Fließkommazahleigentlich eine für Menschen sinnvoll lesbare Fließkommazahl ist (alsodass mit 143.19999999999998863132 eigentlich 143.2 gemeint ist, wenn ich...
Whitespace entfernt
round_amount: Perls Repräsentationsalgorithmus fürs exakte Runden nutzen
Als Erläuterung paste ich schlicht den relevanten Teil des Kommentars,der nun auch in der Funktion steht:
Trying to round with more precision first only shifts the problem to rarer...
Form->parse_template: notes nicht immer aus invoicenotes kopieren
Wenn ein Beleg über Rose-Model-Code zum Drucken vorbereitet wird, dannsteht in $form->{notes} bereits der richtige Wert, und denbelegspezifische Wert $form->{invoicenotes} gibt es gar nicht. Also auch...
Form->prepare_for_printing: output_*-Variablen als Fallback auf %myconfig-Werte setzen
Wenn für eine Sprache kein Ausgabeformat für Datum und/oder Zahlenfestgelegt ist, so muss hier der Wert der angemeldeten Benutzeringenommen werden, weil ansonsten die Werte falsch formatiert...
Steuerzonen ungültig machen
jede Steuerzone kann man unter "System->Steuerzonen->auf Steuerzone klicken" individuell auf ungültig (obsolete) setzen.
ungültig heißt:
Sortieren von Steuerzonen in Belegen
Die Sortierreihenfolge von Steuerzonen in Belegen wurde bisher nochnicht in den Belegen berücksichtigt.
round_amount: Fix für falsches Runden bestimmter Werte
Gewisse Werte wie z.B. 33,675 wurden bei 2 Stellen falsch gerundet,nämlich auf 33,67 anstelle von 33,68. Bei anderen Werten hingegenfunktionierte es (beispielsweise 149,175 @ 2 → 149,18).
Grund war, dass durch das Addieren von 0.5 wieder Fließkommaberechnung...
Druckvorbereitung: Lieferschein-Model mit richtigem Primärattribut laden
Das ging im Commit »Einkauf/Verkauf: Lieferadressenfelder nie ausStammdaten vorbelegen« kaputt.
2 Warnungen in den Tests beseitigen
Einkauf/Verkauf: Lieferadressenfelder nie aus Stammdaten vorbelegen
Das neue Verhalten ist wie folgt:
- Weder die shipto_id (die Drop-Down-Box in den Belegmasken) noch die individuellen shipto*-Felder werden weder beim Neuanlegen eines Beleges noch bei Wechsel des Kunden aus den Datenbanken belegt....
print_html_template auch mit scalarrefs als file aufrufbar gemacht
Ausserdem die Fehlermeldung bei nicht korrektem aufruf mit header angeben.
Form->error: confess anstelle von STDERR bei Fehlern von der Console aus benutzen
SL::Template: Optionen von den Contrllern zum eigentlichen Template-Modul durchleiten
jQuery UI fixes für CKEditor in Dialog
Debugcode entfernt
Template-Toolkit-Konfiguration: Mitgeben, dass Templates in UTF-8 encodiert sind
Damit ist die Verwendung von Nicht-ASCII-Zeichen direkt im HTML möglich.
SL::Form->prepare_for_printing: Variablen aus %::myconfig sowie output_*format zur Verfügung stellen
Dokumentenarchivierung unabhängig vom WebDAV-Feature
Neues Feld Firmensignatur in Mandantenkonfiguration
Seit der Umstellung auf die Mandantenfähigkeit gab es für einen Benutzernur eine einheitliche E-Mail Signatur in allen Mandanten. Dadurch konnteman keine firmenindividuellen Signaturen einsetzen. Ab jetzt kann man...
Fälligkeitsdatum auf Rechnungsdatum setzen, falls nichts weiter konfiguriert (#2440)Ist in io.pl auch schon so vorgesehen: print $form->ajax_response_header() . ($duedate || $invdate);Allerdings schmeißt die get_duedate-Funktion in Form.pm einen Fehler, weil keine...
Bugfix für 2275 Verkäuferinformationen im Druck kommen aus der Authdatenbankcloses #2275Hat leider einen kleinen "Rattenschwanz":a) Beim Löschen des Benutzer wird nur deleted auf true gesetzt, jetzt werden auchalle weiteren benutzereditierbaren Metadaten gespeichert, dafür ->...
Form: nicht mehr benötigte Funktionen update_{defaults,business} entfernen
Form->prepare_for_printing: template_meta zur Verfügung stellen
Behebt #2247.
SL::Form->get_lists für employees: Gelöschte nur auf Anfrage mitliefern
Behebt #2116.
Steuerfilterung für Debitoren- und Kreditorenbuchungen
Fixt #2346.
Globale Objekte auch ans Printsystem übergeben
Fix für #2382
Rechnung als neu verwenden: keine Fehlermeldung ausgeben
wenn keine Zahlungsbedingungen gesetzt sind.Als Fälligkeitsdatum wird das Rechnungsdatum gesetzt.fixt #2348
Keine Datenbankhandle aufmachen und dann nicht zumachen.
Teilfix für #2349
Form::parse_template: nur dann in WebDAV-Ordner kopieren, wenn Typ bekannt ist
Soll z.B. nicht für GuV oder BWA ziehen. Fixt #2352.
Form::parse_template: "Content-disposition: attachment"-Header nur ausgeben, wenn Attachmentname bekannt
Fixt #2351.
ClientJS: AJAX-Form-Submit mit jQuery-Form-Plugin
Wiederkehrende Rechnungen: nicht '_email' in Vorlagendateinamen hinzufügenn
In Form::prepare_for_printing wurde '_email' immer an den Dateinamenangehängt, sofern es ein solches Template gibt (alsoz.B. 'invoice_email.tex') -- egal, wohin letztlich ausgegeben werden...
jqModal-Dialoge durch jQuery-UI-Dialoge ersetzen
tax_id auslesen
Statt die tax_id aus einem Join auf die Tabelle taxkeys zu bekommen,wird nun direkt von der acc_trans auf die Steuer zugegriffen. Diesgeschieht an verschiedenen Stellen:
Die tax_id wird jetzt in Kreditoren-/Debitoren- und Dialogbuchungen...
frame_header.css auch für JavaScript im Layout angeben, und nicht direkt in Form
Fixt #2329.
DBUpgrade2: verhindern, dass $::form->get_standard_dbh eine zweite Verbindung öffnet
Ansonsten sind Deadlocks absolut möglich.
Form::get_duedate: SL::DB::PaymentTerm::calc_date nutzen
Part Picker
Temporäre Datei zum richtigen Zeitpunkt in WebDAV-Ordner kopieren
Beim Drucken immer zuerst in temporäre Datei speichern
Datei vor Kopieren schließen
Template-Parameter "conf_xyz" durch "INSTANCE_CONF.get_xyz" ersetzt
Ansonsten haben wir ein Henne/Ei-Problem: Form::parse_html_templatewill die Variablen "conf_xyz" anhand der Werte in $::instance_confsetzen, ruft also dort die Funktionen auf. Wurde aber das dazugehörige...