Das Modul HTML::Template wird nicht mehr benötigt.
Umstellung einiger Vorlagen aus templates/webpages/generic von HTML::Template auf Template. Die Vorlagen calculate_alu* werden gar nicht benutzt und deswegen entfernt.
Keine Debugmeldungen. Danke.
Den DOCTYPE nur dann setzen, wenn der Internet Explorer verwendet wird. Andere Browser haben ansonsten Probleme, u.a. mit dem JavaScript-Menü.
Diese Patch ist ein Merge der Revisionen2866, 5349, 5365, 5370, 5408, 5413, 5470, 5473, 5475, 5519, 5520, 5521, 5524, 5526, 5591, 5618, 5622, 5814, 5881, 5882 und 5961in das Unstable.
Hintergrund ist die Auslagerung der OE-Masken, das heisst aller Masken, die fuer Auftraege, Angebote und teilweise Rechnungen zustaendig sind....
Verbesserungen am Tag Script.
Ausserdem Merge der Revisionen 5239 5259 5340 5341 5342 und 5343.
Durch das Setzen eines entsprechendenden DOCTYPEs für alle Seiten schaltet der Internet Explorer 7 in den "standards mode", in dem er auch das CSS-Menü richtig darstellt.
Kosmetik: Einrückung mit zwei Leerzeichen.
Fehler beim Laden von Buchungen, wenn Konto nicht mit einer Steuer verknüpft ist
1. Fieser Bug der in format_amount auftritt, wenn eine sehr kleine Zahl in Exponentialschreibweise uebergebenwird wie bspw. 1.13686837721616e-13. BITTE UNBEDINGT PRUEFEN, TESTEN UND VERBESSERN.Siehe auch Forenbeitrag: http://lx-office.org/forum/forum_entry.php?id=5315...
Quoten von allen in regulären Ausdrücken verwendeten Variablen, die direkt oder indirekt von Benutzereingaben stammen können. Fix für Bug 302.
Wenn das Parsen eines Templates fehlschlägt, dann die dazugehörige Fehlermeldung auf STDERR ausgeben, damit sie analysiert werden kann.
Eine Funktion zur Formatierung von Strings, die Vorkommen von "#n" durch das n-te Argument ersetzt. Zur Benutzung mit $locale->text(), sodass die Reihenfolge von Parametern in Übersetzungen verändert werden kann.
Preisfatkoren implementiert.
Die Variable $form->{error_function} konnte dazu benutzt werden, die Authentifizierung komplett zu umgehen, indem sie z.B. auf header gesetzt und der HTTP_USER_AGENT vom Client leer gelassen wird. Analog zum SQL-Ledger-Problem, das in CVE-2007-1437 beschrieben wird.
Zahlungskonditionen: Zahlenwerte auf zwei Stellen gerundet ausgeben.
Zahlungskonditionen:1. Neue Variablen <%invtotal_wo_skonto%> und <%total_wo_skonto%> hinzugefügt, die die Belegsumme bzw. die noch offene Summe abzüglich des Skontobetrags beinhalten.2. Die Variablen <%total%> und <%invtotal%> waren nur bei Rechnungen gefüllt, nicht aber bei Angeboten und Aufträgen.
Umstellung der Kontenübersicht auf die Verwendung von "Template".
Form::redirect muss auch Zahlen in Scriptnamen zulassen, weil ansonsten z.B. menuv3.pl nicht ausgeführt wird.
Beim Versenden per Email eine anständige Überschrift anzeigen und nicht "email oe".
Verhindern, dass durch Manipulation von $form->{callback} beliebiger Code ausgeführt werden kann.
Pfadkomponenten entfernen, bevor exec aufgerufen wird, damit nicht beliebige Perlscripte ausgeführt werden können.
Das nächste Release ist 2.4.3.
Umwandlung von Angebot nach Auftrag hat nach Fehler verursacht, da gleiches Modul
Bei der Umwandlung eines Auftrags in eine Rechnung wurde die individuelle Lieferadresse nichtgespeichert
update_business und update_defaults: Bei sehr langen Zahlenkomponenten wurden die erzeugten Nummern leider auf -0000000...001 gesetzt. Grund ist, dass der Formatierer '%d' für sprintf auf 32bit-Systemen nun mal nur mit 32bit-Zahlen umgehen kann. Geriet die Zahlenkomponente größer als 2147483647, so erhielt man einen Überlauf.
Bei Template-Vorlagen per Default nicht vorne und hinten die Zeilen bereinigen -- ist zum Debuggen einfacher.
Wenn ein Hash namens %main::debug_options existiert, dann werden all seine Variablen 'key' in HTML-Vorlagen als DEBUG_KEY zur Verfügung gestellt. Wird bisher nur bei Mahnungsvorlagen benutzt. Und ist nur für Entwickler gedacht.
Debugmeldung entfernt
Einführung des Modules "Template" als schnellere Alternative (Faktor 9) zu "HTML::Template". Wird via $form->parse_html_template2() aufgerufen. Umstellung der von ReportGenerator verwendeten Vorlage auf die Verwendung von "Template".
Konvertierung von lokalisierten HTML-Seiten in den als $dbcharset angegebenen Zeichensatz.
Probleme mit mehreren Währungen und Wechselkursen behoben.
"Als bezahlt markieren" Button-Funktion in die common.pl verlegt.
neuen button und Funktion für "als bezahlt markieren" eingeführt.
Eine neue Funktion eingebaut, mit der eine einzelne Datenbankverbindung zum Abholen verschiedener Funktionen genutzt werden kann. Diese Datenbankverbindung wird erst beim Ende der Lebenszeit von $form wieder geschlossen. Momentan bauen fast alle Backendfunktionen eine eigene Datenbankverbindung auf. Hiermit ist das teilweise überflüssig.
Nur die Lieferanten und Händler zurückliefern, die nicht 'ungültig' markiert sind.
Die Funktion "Zahlung buchen" bei Debitorenrechnungen komplett umgeschrieben. Sie verlässt sich nun nicht mehr auf die aktuellen Daten in $form, um die alten Einträge in acc_trans zu löschen, sondern lädt den vorherigen Stand aus der Datenbank, entfernt darauf basierend die Einträge in acc_trans und lässt AR->post_transaction() selber die Zahlungen eintragen.
Auch bei undefinierten Wechselkursen 1 zurueckliefern, Workaround fuer Wechselkursproblem
Revision 2532 rückgängig gemacht (Befehl aus falschem Verzeichnis abgeschickt)
Merge der Änderungen zwischen https://ls-bs-si1.bs.linet-services.de/svn/prog/vendor/lxoffice-erp/2.4.2 und https://ls-bs-si1.bs.linet-services.de/svn/prog/vendor/lxoffice-erp/unstable-rev-2530
Wechselkurse dürfen nicht 0 sein.
Diverse Listen nach Namen sortieren. Fix für Bug 661.
Bindestriche und ID aus den PopupMenus entfernt und in der FOrm.pm die Speicherung der Historie angepasst, damit nur der aktuell eingeloggte Bearbeiter gespeichert wird und somitManipulationen vermieden werden können.
fix von salesmen und employee bzw. split in zwei eigenständige Funktionen durch get_list aufgerufen. Fixing von Bug 658
Auch die ID des Kontos zurückliefern.
Der bisherige Code, um Post-Anfragen mit enctype="multipart/form-data" zu parsen, hat leider bei Binärdaten versagt.
"use"-Anweisungen gehören an den Anfang der Datei.
Verbesserung der Suchfunktionen der Historie und Visualisierung der Sortierreihenfolge.
Weitere Konfigurationsvariablen in HTML-Formularen zur Verfügung stellen.
sub get_history() an die neuen Historienmöglichkeiten angepasst
In $form->get_lists() alle Details für die Lieferadressen abholen.
Den Rest von dn.pl auf die Verwendung von HTML-Vorlagen umgestellt.
Lx-Office verlangt inzwischen an sehr vielen Stellen, dass Javascript zwingend angeschaltet ist, weil es ansonsten schlicht nicht mehr funktioniert. Deswegen sind Abfragen auf die Verwendung des Javascript-Kalenders reine Platzverschwendung und blähen den Code unnötig auf.
$form->parse_template() sowie Template.pm benutzen $form->{OUT} und $form->{tmpfile} direkt in Systemkommandos. Deswegen muss sichergestellt sein, dass diese Variablen nur mit geprüften Werten gefüllt werden.
Filehandles lokal deklarieren. Kosmetik. In Mailer.pm open() nur mit festgelegtem Argument aufrufen.
USTVA: Korrektur zum attachment_filename: Winston export Filename wurde ueberschriebenBetrifft commit:Revision: 2326Author: sschoelingDate: 2007-05-03 13:06:46 +0200 (Thu, 03 May 2007)
Limitierung nicht schon bei der Datenbankabfrage.
Leicht anderer Name -- es ist im Endeffekt ein stack backtrace, also soll er auch so benannt werden.
Mehr Debugmöglichkeiten für DBUtils.pm und allgemein für Fehlersituationen eingeführt, die über $form->error() signalisiert werden.
get_lsits um payments eweitert
Änderungen zur Unterstützung von anderen Zeichensätzen als ISO-8859-1(5) implementiert. Es ist jetzt möglich, $dbcharset in lx-erp.conf auf UTF-8 zu setzen und dann auch UTF-8 als Datenbankencoding zu benutzen.
Attachment Filenmaes werden nun von einer SL/Form.pm Objektfunktion generiert
einen sub für get_lists -> "vendor" hinzugefügt
subs für den customer und employee select angepasst; sowie get_lists
sub _get_currencies an currencies angepasst, da diese mit : getrennt in der Tabelle stehen
Erweiterung der get_lists für die currencies
Query durch LEFT JOIN vereinfacht und die Ergebnisanzahl deutlich reduziert.
Query-Vereinfachung wurde aus Versehen in r2296 committed.
Bearbeiten von Vorlagen: Es können jetzt die Vorlagen für alle konfigurierten Mahnstufen bearbeitet werden.
$locale->text('CANCELD') für Stornierungen hinzugefügt
Den zuletzt implementierten Mechanismus entfernt, um $form-Variablen zu überwachen, und dafür einen neuen Mechanismus implementiert, der auf tie basiert. Dadurch ist es möglich, immer die exakte Zeilennummer zu erfahren, in der eine Variable geändert wird.
typo
return muss nach leave_sub stattfinden, sonst wird das ignoriert
Substitute mit execute reimt sich.
Kosmetik: Formatoptionen nutzen, anstatt den Formatstring extra zusammenzusetzen.
In allen Einkaufs- und Verkaufsmasken die Drop-Down-Box für die Steuerzone bei jedem Formularaufbau neu generieren. Dadurch bleibt auch der bisher selektierte Eintrag selektiert, was er vorher nicht tat (sprang immer auf "Inland" zurück).
Beim Vergeben von neuen Angebotsnummern etc die "Breite" der Nummernkreisvorlagen berücksichtigen (also wird aus z.B. "A00000" auch wirklich "A00001" und nicht "A1").
Anpassung des Speichervorgangs der Historie. Parameter $form->{snumbers} wird erwartet.
Die Javascript-Funktion "fokus()" sollte immer definiert sein, um keine Javascript-Fehler zu produzieren. Ob sie auch was tut hängt dann davon ab, ob $form->{fokus} gesetzt ist.
Die Funktionen zum Bearbeiten von HTML-, LaTeX-Vorlagen und Stylesheets neu geschrieben.
Geladene Buchungen zeigten nach r2145 keine Steuern mehr an.Das Query zum Abfragen der Kontodaten war falsch verkuerzt worden.
In Form.pm gibt es kein $form, nur $self.
Beim Verschicken von Emails auch die Variable $form->{EMAIL_RECIPIENT} als Empfaenger benutzen, falls in $form->{email} z.B. die Emailadresse des Kunden steht. Bei der Sammelrechnung genau deswegen $form->{EMAIL_RECIPIENT} benutzen.
Die Variable hieß vorher "all_partsgroup" und sollte danach ebenso heißen.
Noch ein Fallback, falls $language wirklich nicht definiert sein sollte.
%myconfig ist ein Hash.
Bei Nummernkreisen auch Sonderzeichen erlauben (Perls eigener Algorithmus hinter "$var++;" funktioniert z.B. nicht, wenn die Variable ein Gleichheitszeichen enthält).
Umstellung der Form.pm auf die Verwendung parametrisierter Queries zur Vermeidung von SQL injection. Zusätzlich etwas Kosmetik (trailing whitespace, TABs entfernt).
Abfangen von doppelten Lieferantenadressen (beim Eintragen)
Weitere Unterfunktion zu Form::get_lists() zum Auslesen von Kunden-/Lieferantentypen.
Bugfix: SQL Fehler bei nicht vorhandenem salesman
CT.pm auf die Verwendung von parametrisierten Queries zur Vermeidung von SQL injection umgestellt. Dabei Restfunktionalität von customertax und vendortax entfernt. Mehr Datenbankhilfsfunktionen hinzugefügt.
Betr. Frontendfunktionen ar, ap, ir, is Zahlungskonto.Die Abfrage von $form->create_links verbessert (vor Inf. Regress geschützt) und aufgeräumt.Vereinheitlichung: Umstellung der Datenbankanfragen auf SL::DBUtils.
Beim Ausdruck die Variablen für den Verkäufer (salesman_*) füllen.
Speichern und Anzeigen eines Verkäufers bei Verkaufsmasken.
Speichern von Verkäufern bei Kundenstammdaten.
Teile von SL/Form.pm auf neuen stand gebracht
Eine Funktion auf Tracelevel 2 gesetzt
Rechnungs- und Gutschriftsnummern werden nun direkt innerhalb der Backend-Routinen innerhalb der gleichen Transaktion vergeben, in der auch die eigentliche Rechnung etc gespeichert wird. Damit soll besser verhindert werden, dass sich Löcher in den Nummernkreisen ergeben.
Dialogbuchen: Die Drop-Down-Boxen bei jedem Formularaufbau aus der Datenbank heraus aufbauen und nicht in $form mitschleifen. Behebt auch den Fehler, dass das Steuerkonto beim initialen Aufbau nicht richtig ausgewählt wurde.