Moritz Bunkus [Mon, 7 Jan 2008 16:44:50 +0000 (16:44 +0000)]
1. Erweiterte HTML-Template-Checks nur durchführen, wenn Parameter "-h" angegeben wird.
2. Weitere Checks für HTML-Templates: Suche nach Master-Templates, die von keiner anderen Datei referenziert wurden und Suche nach übersetzten Templates, für die es keinen Master gibt.
3. Anzeige der Namen um unwichtige Prefixe gekürzt.
Sven Schöling [Thu, 3 Jan 2008 13:16:42 +0000 (13:16 +0000)]
MultiColumnIterator
Verhält sich wie der normale Template::Iterator (siehe man Template::Iterator), akzeptiert aber einen zusätzlichen Parameter fuer eine Spaltenbreite.
Hat man Beispielsweise ein Array mit 11 Eintraegen und mochte diese auf 3 Zeilen im Template ausgeben, so gibt ein mit
[% USE miter = MultiColumnIterator(DATA, 3) %]
aufgerufener Iterator mit jeder Iteration ein Array von 4 Eintraegen zurueck, mit dem dann sequnziell die gewuenschte Sortierung ausgegeben werden kann.
Die Datensaetze werden in folgender Reihenfolge ausgegeben:
Moritz Bunkus [Thu, 3 Jan 2008 09:58:58 +0000 (09:58 +0000)]
Es muss beim Bearbeiten von Konten möglich sein, einen Steuerschlüssel auf "0" anzulegen, weil das intern überall gemacht wird, wo keine Steuerautomatik vorhanden ist.
Moritz Bunkus [Thu, 13 Dec 2007 14:17:35 +0000 (14:17 +0000)]
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.
Moritz Bunkus [Wed, 12 Dec 2007 16:49:36 +0000 (16:49 +0000)]
Automatisches Erstellen von Arrays und Hashes in $form bei Verwendung spezieller Namen für Formularelemente: name[] kennzeichnet Arrays, name[+] ein neues Arrayelement, name.element kennzeichnet Hashes.
Moritz Bunkus [Tue, 27 Nov 2007 14:44:17 +0000 (14:44 +0000)]
Wenn in get_vendor() die id des Vendors abgeholt wird, dann wird dadurch die ID des aktuellen Vorgangs im Einkauf (Preisanfrage, Lieferantenauftrag etc) überschrieben.
Sven Schöling [Fri, 23 Nov 2007 15:49:22 +0000 (15:49 +0000)]
Bugfix:
Bei einer Standardanfrage wurden die Mengen nicht mitangezeigt, weil die Datenbankanfrage gestartet wurde, bevor alle l_switches geparst wurden.
Moritz Bunkus [Fri, 16 Nov 2007 09:14:42 +0000 (09:14 +0000)]
Das Bearbeiten der Einstellungen, die in der Tabelle "defaults" gespeichert werden, wurde in eine eigene Maske ausgelagert, die unter "System -> Nummernkreise und Standardkonten" aufrufbar ist. Bei "Programm -> Benutzereinstellungen" hingegen befinden sich nur noch Einstellungen, die pro Benutzer einstellbar sind (also die Sachen aus %myconfig).
Moritz Bunkus [Thu, 15 Nov 2007 13:32:48 +0000 (13:32 +0000)]
Report-Generator: Spaltenüberschriften in HTML- und PDF-Ausgaben nicht erneut HTML-Escapen, weil die Übersetzungen meist bereits HTML-encodet sind. Dafür aber die HTML-encodierten Zeichen zurückkonvertieren.
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.