Moritz Bunkus [Fri, 22 Jun 2007 10:44:20 +0000 (10:44 +0000)]
Den "Nein"-Button, der nur mit Javascript zurückgehen soll, auch als <button> darstellen. Wenn er ein <input type="submit"> ist, dann schickt Firefox das Formular trotzdem ab. Fix für Bug 701.
Moritz Bunkus [Fri, 22 Jun 2007 10:24:58 +0000 (10:24 +0000)]
Wenn ein Auftrag noch nicht gespeichert wurde, dann ergibt es auch keinen Sinn, Workflow-Buttons dafür anzuzeigen. Zusätzlich sicherstellen, dass OE->close_orders() nur aufgerufen wird, wenn wir tatsächlich einen gespeicherten Beleg haben. Fix für Bug 700.
Moritz Bunkus [Fri, 22 Jun 2007 09:32:29 +0000 (09:32 +0000)]
Mahnungen: Die Konfiguration so umgestellt, dass jetzt nicht mehr global entschieden wird, ob automatisch Rechnungen für die Mahngebühren und Zinsen erzeugt werden, sondern pro Mahnlevel. Die Dokumentation um die von Lx-Office erzeugten Namen für die Mahnungsvorlagen (auch für die Rechnung) erweitert.
Moritz Bunkus [Thu, 21 Jun 2007 15:51:22 +0000 (15:51 +0000)]
update_business und update_defaults: Bei sehr langen Zahlenkomponenten wurden die erzeugten Nummern leider auf -0000000...001 gesetzt. Grund ist, dass der Formatierer '%d' für sprintf auf 32bit-Systemen nun mal nur mit 32bit-Zahlen umgehen kann. Geriet die Zahlenkomponente größer als 2147483647, so erhielt man einen Überlauf.
Moritz Bunkus [Thu, 21 Jun 2007 13:33:18 +0000 (13:33 +0000)]
ReportGenerator: Wenn keine Datensätze hinzugefügt wurden, dann wird eine entsprechende Meldung anstelle der Spaltenüberschriften ausgegeben. Die Export-Buttons werden in diesem Fall ebenfalls nicht angezeigt.
Moritz Bunkus [Thu, 21 Jun 2007 06:20:51 +0000 (06:20 +0000)]
Mahnungen erzeugen: Nach dem Druck auf den "Weiter"-Button wird dieser deaktiviert, damit man ihn nicht erneut drücken und damit die exakt gleichen Mahnungen erneut erzeugen kann. War nur aus Debug-Gründen auskommentiert. Fix für Bug 691.
Moritz Bunkus [Thu, 21 Jun 2007 06:18:56 +0000 (06:18 +0000)]
Wenn ein Hash namens %main::debug_options existiert, dann werden all seine Variablen 'key' in HTML-Vorlagen als DEBUG_KEY zur Verfügung gestellt. Wird bisher nur bei Mahnungsvorlagen benutzt. Und ist nur für Entwickler gedacht.
Moritz Bunkus [Wed, 20 Jun 2007 07:41:10 +0000 (07:41 +0000)]
1. Das Label "Formel" bei Dienstleistungen nicht anzeigen (die Textarea dazu wurde bereits versteckt). Fix für Bug 684.
2. Kosmetik: Variable $formel nach $formula umbenannt und etwas Einrückung.
Moritz Bunkus [Tue, 19 Jun 2007 12:17:19 +0000 (12:17 +0000)]
Mahnungen: Neuer Variable für jede Rechnung: <%dn_linetotal%> als für diese Rechnung zu zahlender Betrag (offener Betrag zuzüglich Mahngebühren und Zinsen).
Moritz Bunkus [Tue, 19 Jun 2007 11:25:35 +0000 (11:25 +0000)]
Einführung des Modules "Template" als schnellere Alternative (Faktor 9) zu "HTML::Template". Wird via $form->parse_html_template2() aufgerufen. Umstellung der von ReportGenerator verwendeten Vorlage auf die Verwendung von "Template".
Moritz Bunkus [Mon, 18 Jun 2007 14:47:05 +0000 (14:47 +0000)]
Buchungsliste:
1. $form->{sort} nicht ohne Überprüfung in einem SQL-Query benutzen.
2. Nur dann mehrere Zeilen zusammenfassen, wenn auch ihre ID übereinstimmen (was vermutlich nie der Fall sein wird, aber anders ist es schlicht falsch, weil dann Buchungen zusammengefasst werden können, die zu unterschiedlichen Belegen gehören).
Moritz Bunkus [Fri, 15 Jun 2007 11:17:25 +0000 (11:17 +0000)]
ReportGenerator: Unix-Zeilenenden als Standard aktiviert. Grund ist, dass Excel nicht damit zurecht kommt, wenn Zelleninhalte mit \r\n umgebrochen werden, wohl aber, wenn die ganze Datei nur mit Unix-Zeilenenden formatiert ist.
Moritz Bunkus [Fri, 15 Jun 2007 09:47:04 +0000 (09:47 +0000)]
Der ReportGenerator macht selber ein Quoting der HTML-Zeichen, um Zeilenumbrüche bei den Zellendaten behandeln zu können. Deswegen muss es HTML::Template nicht mehr tun.
Moritz Bunkus [Thu, 14 Jun 2007 15:33:44 +0000 (15:33 +0000)]
1. $form->{title} wird nicht mehr zwangsweise umgeschrieben und nach $form->header() wiederhergestellt.
2. Kosmetik: lokale Variable $form anstelle von $self->{form}.
Moritz Bunkus [Thu, 14 Jun 2007 14:16:04 +0000 (14:16 +0000)]
Paket 'List::Util' wird nun benutzt (sollte aber eh zu jeder Standard-Perl-Installation gehören). Die Teile der URLs entfernt, die spezifische Versionsnummern der Pakete enthalten.
Sven Schöling [Thu, 14 Jun 2007 13:17:34 +0000 (13:17 +0000)]
Zahlungseingang:
Das Buchungskonto wird nicht benutzt, und wird deshalb nicht mehr angezeigt.
Die Backendfunktion holt sich das benoetigte Konto sowieso aus den Rechnungen.
Ausserdem ein Bugfix:
currency ist bei alten Rechnungen auf '' gesetzt, bei neuen auf NULL (nach sql-injection fix)
also muss die Backend-Funktion zum auslesen beide Varianten beruecksichtigen
Sven Schöling [Thu, 14 Jun 2007 12:12:19 +0000 (12:12 +0000)]
Debugmodi umgeschrieben auf das viel schoenere shiftingformat.
Neuer Debugmodus "DEVEL", der genau das enthaelt was man ueblicherweise zum debuggen braucht,
ohne den overhead von ALL.
Moritz Bunkus [Thu, 14 Jun 2007 11:25:55 +0000 (11:25 +0000)]
Reportgenerator: Die Funktionen in report_generator.pl umbenannt und den Mechanismus geändert, wie sie aus den von ReportGenerator erzeugten HTML-Seiten heraus aufgerufen werden können. Zusätzlich einen 'Zurück'-Button auf jeder der beiden Exportoptionenwebseiten eingebaut, mit denen man zur HTML-Liste zurückgelangt.
Moritz Bunkus [Wed, 13 Jun 2007 13:38:38 +0000 (13:38 +0000)]
Reportgenerator: Man kann jetzt auch Trennzeilen einfügen, die in der HTML-Ausgabe als horizontale Linie über die gesamte Tabellenbreite realisiert sind.
Moritz Bunkus [Wed, 13 Jun 2007 11:26:01 +0000 (11:26 +0000)]
Berichtsklasse:
1. Commit der vorher vergessenen HTML-Templates für die Berichte und die Exportoptionen.
2. HTML-Berichte: Zeilenumbrüche mit "\n" werden in "<br>" umgewandelt.
3. CSV-Export: Richtiger MIME-Type; Download der Datei forcieren; Option für die Spaltenüberschriften gefixt.
Moritz Bunkus [Wed, 13 Jun 2007 09:52:05 +0000 (09:52 +0000)]
Eine Report-Klasse geschrieben, der die Ergebnisse von Datenbankabfragen übergeben werden. Diese Klasse kann daraus dann entweder die bekannten Listenansichten oder auch CSV- und PDF-Exporte erzeugen. Dazu werden entsprechende Buttons eingeblendet.
Dazu werden einige neue Perl-Module (Text::CSV_XS und IO::Wrap) sowie zwei weitere Hilfsprogramme (html2ps und Ghostscript) benötigt, deren Pfade über die lx-erp.conf eingestellt werden müssen.
Moritz Bunkus [Tue, 12 Jun 2007 13:17:36 +0000 (13:17 +0000)]
Eingangsrechnung: Als Rechnungsdatum wird das Datum der letzten Eingangsrechnung vorausgewählt. Zusätzlich wird das Fälligkeitsdatum in Abhängigkeit von den beim Lieferanten ausgewählten Zahlungsbedingungen gesetzt.
Moritz Bunkus [Tue, 12 Jun 2007 12:20:59 +0000 (12:20 +0000)]
Kundenauftrag/Lieferantenbestellung: Wenn alle Positionen vollständig geliefert wurden (also in allen Positionen der Lagerein-/-ausgang == Anzahl ist), so wird beim Speichern das Flag "Gelifert" automatisch gesetzt.