Moritz Bunkus [Fri, 12 Oct 2007 11:10:21 +0000 (11:10 +0000)]
Umstrukturierung des Verzeichnisses "modules": Das Unterverzeichnis "override" enthält Modle, die Lx-Office vor den im System installierten Modulen lädt (z.B. YAML). Module in "fallback" werden hingegen nur geladen, wenn im System kein passendes Modul gefunden wurde.
Moritz Bunkus [Thu, 11 Oct 2007 11:00:40 +0000 (11:00 +0000)]
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.
Moritz Bunkus [Mon, 8 Oct 2007 09:07:00 +0000 (09:07 +0000)]
Die versteckte Variable "customer_klass", die die beim Kunden hinterlegte Preisgruppe enthält, muss bei oe.pl immer übergeben werden, wenn es sich um Verkauf handelt.
Moritz Bunkus [Mon, 8 Oct 2007 08:42:44 +0000 (08:42 +0000)]
Die Variable "ranking" für Zahlungsbedinungen konnte nirgends konfiguriert werden. Zusätzlich werden beim Wechsel des Kunden in einer Verkaufsmaske die beim Kunden hinterlegten Zahlungsbedingungen immer ausgewählt, nicht nur dann, wenn vorher keine ausgewählt waren.
Udo Spallek [Thu, 4 Oct 2007 10:14:08 +0000 (10:14 +0000)]
1. Fieser Bug der in format_amount auftritt, wenn eine sehr kleine Zahl in Exponentialschreibweise uebergeben
wird wie bspw. 1.13686837721616e-13. BITTE UNBEDINGT PRUEFEN, TESTEN UND VERBESSERN.
Siehe auch Forenbeitrag: http://lx-office.org/forum/forum_entry.php?id=5315
2. co_ustid in allen Dokumenten zur Verfuegung gestellt.
Moritz Bunkus [Wed, 19 Sep 2007 14:20:37 +0000 (14:20 +0000)]
Das Modul "Data::Dumper" hat die Eigenheit, dass es den Iterator von gedumpten Hashes nicht zurücksetzt bzw. ihn nicht bis zum Ende ausliest, wenn "Sortkeys" wahr ist. Das hat zur Folge, dass der folgende Aufrufe von "each" für dieses Hash sofort beendet wird. Also muss der Iterator manuell zurückgesetzt werden. Siehe auch die Diskussion in "perldoc -f each".
Moritz Bunkus [Thu, 13 Sep 2007 13:42:56 +0000 (13:42 +0000)]
Beim Parsen von text-basierten Vorlagen (HTML, LaTeX) kann jetzt in der ersten Zeile das Format der Tags bestimmt werden. Dazu wird etwas wie "((set-tag-style))" benutzt. Die Nicht-Leerzeichen links und rechts vom Wort "set-tag-style" bestimmen, wie ein von Lx-Office zu parsendes Tag beginnt und wie es endet.
Moritz Bunkus [Wed, 12 Sep 2007 13:59:27 +0000 (13:59 +0000)]
Die Argumente für print_options() als Hash und nicht als Hash-Referenz übergeben. Weitere Optionen zum Verstecken bestimmter Drop-Down-Boxen eingebaut.
Moritz Bunkus [Wed, 12 Sep 2007 07:47:28 +0000 (07:47 +0000)]
Ein "," anstelle eines "." sorgte dafür, dass die Steuerkontenbeschreibungen bei Kundenrechnungen nicht ausgedruckt wurden (nur der Steuersatz). Betrifft die Template-Variable <%taxdescription%>.
Moritz Bunkus [Fri, 7 Sep 2007 08:58:49 +0000 (08:58 +0000)]
$locale->text() so erweitert, dass weitere Argumente direkt an Form::format_string() übergeben werden. Damit muss man nicht mehr $form->format_string($locale->text("#1 and #2"), $arg1, $arg2) schreiben, sondern kann direkt $locale->text("#1 and #2", $arg1, $arg2) schreiben.
Thomas Kasulke [Mon, 3 Sep 2007 13:01:09 +0000 (13:01 +0000)]
Umstellung von TODO auf SKIP und Verkürzung der Tests damit um mehr als 5 Minuten. Ausserdem Einführung von start(), welche eine einheitliche Startvorgabe ermöglicht.
Moritz Bunkus [Fri, 31 Aug 2007 15:39:49 +0000 (15:39 +0000)]
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.
Moritz Bunkus [Mon, 6 Aug 2007 08:38:21 +0000 (08:38 +0000)]
Artikelauswahl in Einkaufs- und Verkaufsmasken: bei mehreren gefundenen Artikeln den Preisfaktor berücksichtigen und den Verkaufs-/Einkaufspreis dadurch teilen.
Moritz Bunkus [Wed, 1 Aug 2007 12:57:17 +0000 (12:57 +0000)]
Bugfix Rabattberechnung: Berechnung so umgestellt, dass der Rabatt von der Zeilensumme genommen wird und nicht vom Einzelpreis (Rundung). Fix für Bug 325.
Bugfix Zwischensummen: Bei Belegen aus OE.pm (Angebote, Aufträge, Anfragen) wurde die Variable <%runningnumber%> innerhalb eines Zwischensummenblocks nicht "1.1, 1.2, 1.3" etc hochgezählt, sondern normal "1, 2, 3" etc.
Bugfix Zwischensummen: Bei manchen Browsern wurden die Checkboxen "Zwischensumme" nach "Erneuern" oder neuem Aufrufen eines Beleges nicht richtig vorausgewählt, auch wenn der Status in der Datenbank richtig war.
Kosmetik: Einrückung, Ausrichtung.
Moritz Bunkus [Mon, 30 Jul 2007 08:43:03 +0000 (08:43 +0000)]
1. Wenn ein Artikel bei Einkauf/Verkauf nicht gefunden und die Maske "Dieser Artikel ist nicht in der Datenbank" angezeigt wird, so werden die eingegebene Artikelnummer, Beschreibung, Einheit und Verkaufspreis wieder in die "Ware erfassen"-Maske übernommen. Fix für Bug 721.
2. Kosmetik: Einrückung, Funktionsaufrufe etc.
Moritz Bunkus [Thu, 19 Jul 2007 07:27:16 +0000 (07:27 +0000)]
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.
Sven Schöling [Wed, 18 Jul 2007 14:43:02 +0000 (14:43 +0000)]
Neues Warenberichte Backend.
Von Grund auf neu geschrieben, unter Beruecksichtigung der folgenden Grundsaetze:
+ ein Query fuer alles
+ Query wird aus Tokens gebaut -> weniger anfaellig fuer SQL Fehler
+ Kombinationen die vorher nicht erlaubt waren und per Blacklist gefiltert wurden produzieren jetzt ein Ergebnis, dass in vielen Faellen sogar interpretiert werden kann.
+ Durch Tabledesign (hoffentlich) leichter erweiterbar als die alte Version
+ fixt viele Bugs die mit der alten Version bestanden.
Folgende Funktionen sind noch unzureichend getestet oder noch nicht implementiert:
- Assembly Unterstuetzung ist uebernommen aus der alten Version und wird nachgereicht.
- Summe der orderitem.qty / invoice.qty als onhand zu interpretieren ist sehr gewagt solange nicht auf die Einheiten eingegangen wird.
Die Funktionalitaet ist zwar erhalten, aber nicht vollstaendig.