Moritz Bunkus [Wed, 7 Nov 2007 09:12:30 +0000 (09:12 +0000)]
Beim Verschicken von Emails wird das Kommando $sendmail durch Lx-Offices Template-System geschleust. Vordefiniert ist, dass Sendmail der Parameter "-f emailadresse" mitgegeben wird, sodass die Envelope-From-Adresse die des aktuellen Lx-Office-Benutzers und nicht die des Webservers ist. Das vermeidet, dass Emails wegen Spam/nicht existierender Domänennamen von Providern abgelehnt wedren.
Sven Schöling [Thu, 1 Nov 2007 21:05:28 +0000 (21:05 +0000)]
Um die Benutzung des Template Systems mal ein wenig zu foerdern.
Die bin/mozilla/oe.pl noch einmal umgeschrieben, so dass jetzt noch mehr Funktionen ins Frontend ausgelagert sind.
Ein neues Highlight ist die template/generic/multibox.html, die es erlaubt aus wenigen Steuerkommandos ein HTML-Eingabefeld zu erstellen, was bei kleinen Datenmengen als Dropdownbox erscheint, udn bei grossen asl Textfeld, mit dazugehörigem Popup-Button, um eine Auswahlliste aufzumachen. Saemtliche Funktionen lassen sich ueber Perlfunktionsreferenzen wieder zurück ins Backend leiten, und dort wieder mit komplexer Logik füllen. Dokumentation ist im Template direkt enthalten.
Die Customer/Vendor Eingabe macht auch gleich Gebrauch davon und erzeugt bei zu grosser Anzahl ein Textfeld, und daneben einen Suchbutton, der die passenden Kunden in einer Liste anzeigt.
Der "Kundendetails"-Button wurde von "?" umbenannt in "D" (immernoch gruselig)
Auf Wunsch von Moritz habe ich die display_row von bin/mozilla/oe.pl wieder verlagert in die bin/mozilla/io.pl, und dafuer die Version in bin/mozilla/invoice_io.pl deaktiviert.
Moritz Bunkus [Wed, 31 Oct 2007 17:18:14 +0000 (17:18 +0000)]
Umstellung einiger Vorlagen aus templates/webpages/generic von HTML::Template auf Template. Die Vorlagen calculate_alu* werden gar nicht benutzt und deswegen entfernt.
Moritz Bunkus [Wed, 31 Oct 2007 13:36:09 +0000 (13:36 +0000)]
Umstellung weiterer Vorlagen von HTML::Template auf Template. Zusätzlich Bugfix: Sobald die Checkbox "Details anzeigen" einmal aktiviert war, konnte sie nicht mehr deaktiviert werden.
Sven Schöling [Thu, 25 Oct 2007 17:23:16 +0000 (17:23 +0000)]
Weiterer Fix zu den kaputten masken, diesmal Rechnung.
Die MAsken werden wiedereinmal zu voll, die doppelten Eintraege in der Einheiten Spalte liessen sich auf Firefox nicht auf normalem Wege überreden in einer Zeile zu stehen. Der naechste der da etwas einfuegt darf sich mal Gedanken machen wie man das noch unterbringen kann.
Sven Schöling [Mon, 22 Oct 2007 15:33:48 +0000 (15:33 +0000)]
* Auslagerung der OE-Masken in Templates *
Diese Patch ist ein Merge der Revisionen
2866, 5349, 5365, 5370, 5408, 5413, 5470, 5473, 5475, 5519, 5520, 5521, 5524, 5526, 5591, 5618, 5622, 5814, 5881, 5882 und 5961
in das Unstable.
Hintergrund ist die Auslagerung der OE-Masken, das heisst aller Masken, die fuer Auftraege, Angebote und teilweise Rechnungen zustaendig sind.
Dadurch vereinfacht sich der Code an vielen Stellen deutlich, ausserdem konnten viele Berechnungen verkleinert werden, weil der Code fuer Angebote/Auftraege jetzt getrennt von Rechnungen liegt.
Ein Grossteil der bin/mozilla/io.pl wurde dafuer dubliziert, die Methoden die fuer Auftraege noetig sind liegen jetzt in der bin/mozilla/oe.pl (vor allem display_form und display_row, aber auch ein paar andere), ihr jeweiliges Pendant fuer Rechnungen wurde unveraendert in eine Datei invoice_io.pl ausgelagert die von den Skripten die sie benoetigen zusaetzlich zur io.pl eingelesen wird.
Wie der Name der Templates andeutet ist der Patch im Verkaufsbaum entstanden, im Verlauf der Programmierung habe cih aber nicht genug Unterschiede gefunden um separate Templates fuer Verkauf und Einkauf zu rechtfertigen. Eventuell werden die Templates noch umbenannt.
Komplexe Maskenaenderungen wie der Austausch von Drop-Down Menues bei zu grosser Anzahl durch Eingabefelder werden ebenfalls noch manuell gemacht.
Auch das wird in der naechsten Version ausgelagert um den Backend Code schlanker zu machen.
Die Berechnung fuer Units und Steuern wurde vereinfacht, und dabei einige unschoene Bugs gefixt, die aus der unvollstaendigen Abdeckung von Verzweigungen resultierten.
Zuletzt wurden noch fast alle serverseitigen Datenformatierungen ausgelagert in ein Templateplugin, welches Zahlen waehrend des Templatings formatiert (mehr dazu in der Dakumentation zu Template.pm).
Der Patch beinhaltet ausserdem die ueblichen Codekosmetika.
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.