Aufrufe von 'exit' durch eigene Funktion '::end_of_request()' ersetzt.
Außerdem dafür gesorgt, dass Meldungen, die per$form->show_generic_(error|information) ausgegeben werden, nichtdoppelt angezeigt werden.
Conflicts:
bin/mozilla/io.pl bin/mozilla/oe.pl
fcgi patch test
am.pl bin/mozilla/oe.pl
Es gibt keine explizit übersetzten Templates mehr.
Cookie-Base-Path richtig berechnen.
Commit 0c50616fb43bcf934101fadd488278c40317b586 hat denCookie-Gültigkeits-Pfad leider inklusive des Scriptnamens gesetzt,wodurch nur noch Zugriff auf login.pl möglich war.
myconfig als objekt auch zur verfügung stellen
Eine Funktion zum Erzeugen von HTTP-Redirect-Headern implementiert.
strict Fehler in Form behoben, nach Forenbeitrag "Preisupdate schlägt fehl".
Optionale minimale Excel-Unterstützung für Druckvorlagen (Austausch von Platzhalter-Variablen in Excel-Dateien). Entsprechend noch für strict angepasst
Zahlungsbedingungen: skonto_in_percent kann verwendet werden.
Im Langtext der Zahlungsbedingungen kann so der Prozentsatzdes Skonto ausgegeben werden.
Versionsnummer auf 2.6.1 gesetzt.
2 defined entfernt. Der Gebruach ist deprecated, und in diesem Fall eh nicht notwendig.
perldoc sagt:
Use of defined on aggregates (hashes and arrays) is deprecated. It used to report whether memory for that aggregate has ever been allocated. This behavior may disappear in future versions of Perl. You should instead use a simple test for size:
Versionsnummer auf 2.6.1 Beta 1 gesetzt.
Eingabe, Anzeige und Filter für Mindesthaltbarkeitsanzeige istüber show_best_before einschaltbar.
Nicht mit Wechselkursen arbeiten, wenn keine Währungen konfiguriert sind
Fix für Bug 1349
updatefehler in all_vc wenn vclimit == anzahl der einträge war.
Beim Runden zuerst auf acht Stellen runden, danach auf die gewünschte Anzahl
Die interne Repräsentation von Fließkommazahlen in modernen CPUs istimmer ungenau. Um zu vermeiden, dass man mit int() zu vielabschneidet, weil der Nachkommaanteil eben nicht ganz exakt 0 sondern...
"Vertreter" sind Kunden mit Kundentyp mit Vertreter-Flag, nicht die Kundentypen selber
Iconv-Problem behoben
Soll der Inhalt von $form mit Iconv von UTF-8 nach ISO-8859-15konvertiert werden (z.B. weil der GET-Parameter INPUT_ENCODING aufUTF-8 gesetzt und $dbcharset = 'ISO-8859-15' ist), so gibt$iconv->convert($form->{key}) immer undef zurück. Ich weiß nicht...
Merge branch 'master' of ssh://git-mbunkus@lx-office.linet-services.de/~/lx-office-erp
"Vertreter"-Feature in Kunden-/Lieferantenstammdaten wieder eingebaut
code verbesserungen für balance_sheet, form->current_date kommt nun ohne myconfig aus.
Autocomplete wieder entfernt.
Grund: Die Idee an sich sieht gut aus, hat aber im Moment technische Schwächen,die erst mit Entwicklungen der nächsten Serie behoben sein werden. DaAutocompletion bis dahin de facto wertlos ist fliegt es erstmal raus. DasJavascript bleibt als Ressource weiter im Quelltext, wird aber nicht...
Debugflag: $::keep_temp_files
javascript im header richtig setzen
Dokumentation einheitlich in den Footer verschoben, Datei mit END abgeschlossen (beschleunigt parsen), und POD Fehler gefixt.
Feature Branch: Autocompletion.
Alle Vorkommen von all_departments abgesichert.
Form->header: $extra_code als deprecated kommentiert.
und die restlichen .pm Module.
Fokus. dynamisch fokus über jquery erinnern,
Im geichen Zuge JQuery update auf 1.3.1, und einige Verbesserungen ander alten inlune Fokus Mechanik. War buggy wegen Kollisionen mit dereingebauten focus Methode von Javascript.
Fix für Bug 1150 - Dialogbuchen geht auf Überschriften. Entsprechend im Backend den chart.charttype zusätzlich geholt und die Liste ALL_CHARTS im Frontend gefiltert
Variablen nicht doppelt mit my deklarieren. Dazu Whitespace-Kosmetik.
form->get_employee nimmt sich bei Bedarf eine eigene dbh.
Nur dann die Eingabe recodieren, wenn sich die Charsets wirklich unterscheiden.
Secure Cookies.
Sobald der Loginrequest mit HTTPS gesendet wird, wird das Cookie nun aufSecure gesetzt, und sollte nur noch bei sicheren Verbindungenmitgesendet werden.
Mahnsystem - mehr Variablen exportieren
Ausserdem strict fixes.
GenericTranslations.pm und debug-code entfernt
Ansprechpartner: cp_greeting durch cp_gender ersetzt
contacts->cp_greeting, was normalerweise fuer Frau/Herr benutzt wird,wird durch cp_gender (m/f) ersetzt, was den Vorteil hat, dass man jenach beim Kunden definierter Sprache verschiedene Anreden generieren und...
Bugfix: _recode_recursively hat das Form Objekt nicht als Hash erkannt.
Symptom: Langtexte werden nicht korrekt kodiert.
Beim Versenden von Emails mit PDFs aus OpenDocument den MIME-Typen und Dateinamen richtig setzen.
_store_value() aus Kundenprojekt übernommen.
1. Dokumentation der Funktion2. Möglichkeit, 'variablenname[]' für einfache Arrays zu benutzen3. Umstellung der anderen Funktionen, die _store_value() benutzen, auf Objekt-Aufrufsyntax.
Versionsnummer aktualisiert.
Versionspdate auf 2.6.0 RC 1
Überraschend einfacher Fix für Numemrnkreisproblem in Kunden/Lieferantentypen.
Wenn ein Nummernkreis eines Kunden/Lieferantentyps leer ist, wird jetzt auf den STandardkreis ausgewichen.
Fix für Bug: 906
Einführung einer ID-Spalte in acc_trans
Die Benutzung der von PostgreSQL zur Verfügung gestelltenSpalte "oid" hat ihre Tücken. Über diese wird in Lx-Office dieReihenfolge der Einträge in acc_trans geregelt. Wird aber einUPDATE-SQL-Query auf acc_trans ausgeführt, so kann es (anscheinend...
Revision 4076 hat bei den Funktionen quote und unquote dafür gesorgt, dass nur "1" zurückgegeben wird, weil die lxdebug-Anweisungen vor dem impliziten Return standen. Fix für Bug 964.
Debugs in SL/Form.pm eingefuegt fuer konsistentes Tracen
Wir haben gut 'gesprintet' und gehen auf die naechste beta
Beim Dialogbuchen die Kontensalden zu den jeweils ausgewählten Konten anzeigen. Fix für Bug 548.
Die Historiensuchmaske nicht mehr per JavaScript abschicken und dem <form>-Element den Action-Parameter mitgeben. Damit funktioniert nun auch das Abschicken per Enter-Taste, und der Request wird vom Browser nicht mehr zwei mal geschickt.
Variablen zwischenspeichern und wiederherstellen, sofern sie existieren, auch wenn sie undefiniert sind. Bugfix für diesen Fall: Angebot mit einem Kunden, der beim Kunden eine Sprache hinterlegt hat. Angebot hat explizit keine Sprache ausgewählt und wurde gespeichert. Wenn man das Angebot aufruft, wurde ohne diese Änderung nun wieder die beim Kunden hinterlegte Sprache ausgewählt....
Die Berechnung des Fälligkeitsdatums anhand des momentan eingetragenen Rechnungsdatums durchführen, und nicht anhand des Serverdatums.
Fix für Bug 927.
Beim Verschicken von Dokumenten per EMail die MIME-Header richtig setzen:
1. MIME-Header anhand des Dateinamens setzen; weniger anhand von $form->{format}, weil das nicht immer gesetzt ist und nicht immer zu einem richtigen MIME-Typ führt (so ist "format" z.B. "opendocument", und der MIME-Typ lautet aber "vnd.oasis.opendocument.text")....
Kosmetik.
Die JavaScript-Funktion "encodeURIComponent()" benutzt immer UTF-8 als Zeichensatz, egal, was die HTTP-Header oder das <form>-Element sagen. Also muss der Input bei Erhalt in den Zeichensatz der Installation konvertiert werden.
Bug 905.
check_currency sicherer gemacht und eine aufrufschwäche in do.pl beseitigt.
Whitespace Purge
Strict in 4 Dateien wieder deaktiviert.
Idee war gut, aber einige interne Mechaniken verhindern, dass strict so einfach eingesetzt werden kann.Diese Mechaniken, unter anderem die beliebte Array/Scalar Schizophrenie, lassen sich nicht ohne weiteres fixen,...
Bei Kreditorenbuchungen die Umsatzsteuer-Steuerschlüssel und bei Debitorenbuchungen die Vorsteuer-Steuerschlüssel nicht anzeigen.
Mehr Perlcode strict gemacht.
Die JavaScript-Funktion heißt jetzt "focus()".
Form einmal durchgecheckt. Einige kaputte Sachen deaktiviert, und das ganze mit strict durchgecheckt.
Konzeptioneller Fehler. Da es mehr als ein Form-Objekt geben kann (in diesem Falle beim Wiederherstellen von $form mittels restore_form()), darf das Standard-Datenbankhandle nicht geschlossen werden, wenn ein Form-Objekt vernichtet wird, sondern erst, wenn das Programm beendet wird.
Update des DHTML-Tab-Scripts auf Version 2.2.
Wir haben nun die erste Beta von Version 2.6.0.
Bei Druckvorschau einer Rechnung den Namen der herunterladbaren Datei nicht auf "is.pdf" belassen, sondern auf "Rechnung_(Druckvorschau).pdf" setzen.
Weitere Unterfunktionen tracen lassen.
Bei $form->parse_template() nur dann die ganzen Variablen employee_* überschreiben, wenn employee_id nicht gesetzt ist. In io.pl die ganzen employee_*-Variablen mit denen des ausgewählten Bearbeiters belegen und nicht mit denen des aktuellen Benutzers.
Die Signatur des Verkäufers ebenfalls als Variable <%salesman_signature%> zur Verfügung stellen.
1. Salesman-Daten wurden nicht in $form eingetragen, weil die User-Klasse nur noch einen Parameter erwartet.2. Kosmetik.
AJAX-Antworten nicht direkt $cgi->header() ausgeben, sondern über eine Funktion, die auch das Charset ausgibt.
JavaScript und Umlaute in UTF-8-Codierung funktioniert nicht mit der JavaScript-Funktion "encode()", deshalb "encodeURIComponent()" benutzen.
Kleiner Syntax-Highlighting-Fix für Emacs.
HTML-Templates vor und nicht nach der Verarbeitung durch die Template-Klasse mit iconv in das $db_charset konvertieren. Andernfalls würden Daten, die bereits im $db_charset vorliegen, erneut konvertiert und damit falsch codiert sein.
Form::format_amount_units() darf auch ohne die Parameter amount und part_unit aufgerufen werden. Kein amount wird einfach als 0 gewertet, und wenn part_unit fehlt, so wird schlicht ein leerer String zurückgegeben. Macht Ausgaben wie den Lagerinhalt inkl. leerer Lagerplätze aus wh.pl einfacher.
Vermeiden, dass SQL-Fehlermeldungen angezeigt werden, wenn noch kein Kunde/Lieferant ausgewählt wurden.
Typo
Doppeltes "use".
Die Tabelle "warehouse_access" gibt es in der offiziellen Version nicht. Fix für Bug 820.
Wenn get_standard_dbh() merkt, dass $standard_dbh zwar definiert ist aber zwischenzeitlich geschlossen wurde, dann eine Warnung ausgeben und eine neue Verbindung aufbauen.
Unterstützung für Lieferscheine in Form::lastname_used.
Ueberarbeitete Buecherkontrolle
Fokus Patch.
Angeregt durch Bug798, allerdings erweitert und verallgemeinert.
Essentiell merkt sich Lx-Office jetzt in den Bereichen Auftrag, Rechnung, Einkaufsrechnung und Lizenzen die Fokusposition bei Update.
Das Javascript ist in common.js enthalten. Um es in andere Bereiche einzubinden muessen die folgenden Schritte gemacht werden:...
Bugfix: Update im Warendialog hatte die Warengruppe verschluckt.
Wechselkurse.
Zum einen den unsaeglichen Algorithmus zum setzen von exchangerate und forex im ganzen Porgramm geaendert.Dann einen Bug mit der Angzeige der Wechselkurseingabe in oe.pl gefixt.Ausserdem Bug 666 gefixt.
Bugfix in isblank. (Tip: Benutzt nie split '.' wenn ihr nicht wirklich sicher seid was das macht.)
Ausserdem akzeptieren Einkaufsrechnungen jetzt keine leeren Rechnungsnummern mehr, da Einkaufsrechnungen immer unter der Rechnungsnummer des Lieferanten abgespeichert werden.
Weitere, nicht ganz so behutsame Codesaeuberungen.
Beim Verschicken von Belegen per Email den Betreff analog zum Namen des Anhangs vorbelegen, sofern der Betreff nicht vom Aufrufer vorgegeben wird.
Attachmentnamen (z.B. bei Emails): Weitere Sonderzeichen ( / und \ ) ersetzen, damit der Anhang leichter im Dateisystem gespeichert werden kann.
Parametername von "type" in "content_type" geändert.
Das Erzeugen der HTTP-Antwort in eine eigene Funktion ausgelagert, damit sie auch von anderer Stelle aus benutzt werden kann.
Das Quoten/Unquoten von speziellen Zeichen in zentrale Hilfsfunktionen in Locale verlagert.
Debugausgaben.
Projektverwaltung in eine eigene Datei ausgelagert und auf die Verwendung von Template umgestellt.
Lieferscheine im Einkauf und Verkauf. Bisher nur gemerget, noch nicht getestet.
API-Anpassung für $form->show_generic_error(): Man kann einen JavaScript-"Zurück"-Button anzeigen lassen, oder einen Button mit beliebigem anderen Text.
Zwei neue Features:1. Beliebige Notizen für Kunden und Lieferanten können angelegt werden. Solche Notizen können auf Wiedervorlage gelegt werden, was durch 2. implementiert ist.2. Einkaufs- und Verkaufsbelege können auf Wiedervorlage gelegt werden. Wiedervorlagen können für beliebige Nutzer erstellt werden (Aufgabe an andere Nutzer deligieren). Anstehende Wiedervorlagen und abgelaufene Angebote werden auf der Startseite in einer Aufgabenliste angezeigt.
Umstellung der Benutzerverwaltung von Dateien im Verzeichnis "users" auf die Verwendung einer Authentifizierungsdatenbank.Es ist erforderlich, die Dateien doc/UPGRADE und doc/INSTALL/index.html zu lesen und die angesprochenen Punkte auszuführen, um nach einem Upgrade weiter arbeiten zu können.
Eine Hilfsfunktion, die aus Array- und Hashstrukturen in $form eine Liste von Variablennamen und Werten erzeugt, die dann wieder als versteckte Inputs in HTML-Formularen ausgegeben werden kann. Dabei sind die Variablennamen strukturiert (so wird z.B. aus "$form->{filter}->[0]->{description}" der Name "filter[+].description"). Außerdem eine Anpassung von $form->isblank(), die solch strukturierte Variablennamen versteht.