> Hehe, ich check die ein, da die Erweiterung sowieso nur die webdav-
> komponente betrifft. ansonsten reverte ich direkt, falls du anders
> denkst.
Ich denke anders, wie immer.
- schonwieder deutsche Kommentare *grrr*
- return $main::lxdebug->leave_sub() unless ($path); <- solche kontrukte liefern 1
zurück (ich hab das irgendwann mal auf definiert 1 gesetzt nachdem vorher alles
mögliche bei rauskommen konnte). Wenn dann benutz lieber sowas:
$::lxdebug->leave_sub && return unless $path;
- copy_file_to_webdav_folder setzt $form->{type} auf '' und stirbt anschliessend
auf die Bedingung !$form->{type}. Das soll wahrscheinlich nicht so sein oder?
- Nicht jede print Operation hat tmpfiles. Im schlimmsten Fall hast Du damit n
directory traversal eingebaut, das musst Du unbedingt dreifach prüfen und nicht
einfach aus form holen. Sonst schreibt einer einfach tmpdir=/etc&&tmpfile=passwd
in die URL.
Und zu Deinem ursprünglichen Problem: Ich vermute das liegt an der Positionierung
in parse_template. Die Funktion ist ziemlich destruktiv geschrieben, die macht
halt form kaputt um was druckbares zu produzieren. Lass Dir mal form dunpen, ich
vermute dass da schon irgendwas kaputt ist. Die Fehlermeldung funktioniert in der
Konsole einwandfrei.
Jan Büren [Fri, 6 May 2011 15:07:32 +0000 (17:07 +0200)]
Webdav-Komponente: Das Erstellen des Verzeichnisses ausgelagert. Ferner den Beleg auch in das Webdav-Verzeichnis kopieren.
Offen: Fehlerbehandlung in Common.pm - ggf. gleich revert
Sven Schöling [Mon, 2 May 2011 10:30:19 +0000 (12:30 +0200)]
Bugfix: Subcent Buchungen führten zu unbalanced ledger in DATEV Export.
Wenn eine 1 cent Buchung auf ein normal versteuertes Konto gebucht wurde
tauchten die Buchungen in der folgenden Reihenfolge in der Datenbank auf:
-0.00840
-0.00160
+0.01000
Der Algorithmus, der die Buchungen aufsummiert, ist aus historischen Gründen
recht nachgiebig und bricht das aufsummieren ab, sobald die Summe der
bisherigen Buchungen kleiner ist als ein Cent. In diesem Fall ist das schon
nach der ersten Buchung der Fall, und bei der dritten Buchung wird dann ein
unbalanced ledger Fehler geworfen.
Der Fix prüft auf solche kleinen Werte und wechselt dafür in einen subcent
Modus, in dem auf zehntel Cent geprüft wird.
Jan Büren [Tue, 19 Apr 2011 11:57:56 +0000 (13:57 +0200)]
>>>
Hi Jan,
Ich versuche gerade die Einkaufsrechnungen zur Abteilung als pdf zu
exportieren. Der Bericht stimmt soweit (Screenshot). Doch leider exportiert er mir
in der pdf ALLE Rechnungen.
<<<
department als hidden variable für den csv-export unter Einkauf -> Berichte -> Einkaufsrechnungen hinzugefügt
Jan Büren [Mon, 11 Apr 2011 11:13:10 +0000 (13:13 +0200)]
Kontenübersicht. Bei Auswahl Bilanz und keinem closedto (Bücher-Abschluss) wurden keine Konten ausgewählt, falls das Installationsjahr gleich dem laufenden Jahr ist
Sven Schöling [Fri, 1 Apr 2011 13:10:37 +0000 (15:10 +0200)]
Iconv get_converter in interne Funktion umbenannt, und den einzigen externen Aufruf durch ein SL::Iconv->new ersetzt.
Erklärung: cbd1249e5c245ee605c32c6cdbdc1e26f92643d0 hat die Handle im
Objektzugriff von SL::Iconv gecacht, hat dabei aber das Verhalten im
Klassenzugriff auf get_converter leicht geändert. Dadurch bekommen
Datenbankupgradescripte kein SL::Iconv Objekt mehr sondern ein Text::Iconv, was
sich minimal anders verhält. Um potentielle Bugs dabei zu vermeiden wird das
hiermit abgeschafft.
SL::Iconv::get_converter bitte nicht mehr verwenden, und dafür SL::Iconv->new
benutzen.
Sven Schöling [Thu, 24 Mar 2011 09:25:26 +0000 (10:25 +0100)]
Leaks in SL::Template::Plugin::T8
Filter werden in Template::Toolkit in einer anonymen Closure einfach im Kontext
verlinkt. Dadurch geht _jedes_ Filter Objekt verloren und leakt. Diese Änderung
cacht das T8 Filterobjekt, da es sowieso statisch ist. Das beschränkt die Leaks
auf einmal ~100 Byte.
Sven Schöling [Fri, 18 Mar 2011 15:30:04 +0000 (16:30 +0100)]
Auf Romans Anregen - Ein simples POD basiertes Hilfesystem
So funktionierts:
- 1. Hilfe in eine pod Datei schreiben
- 2. Pod Datei nach doc/online/<lang>/<tag>.html legen,
wobei <lang> der countrycode der locale ist,
und <tag> ein /[a-zA-Z0-9_]+/ Identifier ist.
- 3. HTML erzeugen mit:
Sven Schöling [Tue, 15 Mar 2011 16:53:14 +0000 (17:53 +0100)]
Iconv Handle cachen.
Text::Iconv ist sloppy programmiert und leakt bei FCGI Anwendungen etwa 1MB pro
grossem Request. Das entsprechende Ticket [1] ist 3 Jahre alt, und es ist nicht
damit zu rechnen, dass das in nächster Zeit behoben wird.
Die Handle werden jetzt sortiert gecachet und im Klassenraum vorgehalten, so
dass der Overhead für die Iconv Objekte abschätzbar bei 4,4kb pro Encoding
Kombination ist.