Sven Schöling [Mon, 17 Oct 2011 08:32:37 +0000 (10:32 +0200)]
besseres id inferring in multibox
Hintergrund: html id Attribute dürfen nach Standard nicht mit Zahlen anfangen.
Multibox kann übergebe ids nehmen, kann die aber nicht von der globalen
form->{id} unterscheiden. Nun Trick: Nur die id nehmen, wenn sie nicht mit
numish ist.
Sven Schöling [Mon, 17 Oct 2011 08:23:44 +0000 (10:23 +0200)]
button_tag nicht als input_tag implementieren
Hintergrund: button tags brauchen im standard kein id oder name Attribut, input
tags aber schon. Die input_tag Implementierung forciert korrekterweise id und
name, so dass die leer sind, wenn ein button_tag ohne geschrieben wird.
Sven Schöling [Fri, 14 Oct 2011 11:53:35 +0000 (13:53 +0200)]
$::cgi entfernt.
Verfahren:
- Für alle Vorkommen von "my $cgi = $::cgi;":
ersetzt durch my $cgi = $::request->{cgi}->new({}) ersetzt
- Wenn in einer Datei alle my $cgi rausgefallen sind auch use CGI entfernt.
- Initialisierung von $::cgi in scripts und Dispatcher entfernt und in dei
Initialisierung von $::request eingebaut.
- cgi aus der Liste der kanonischen globals genommen.
Zu CGI:
- CGI::func und CGI->func sind beides valide Werte, sind aber intern buggy wie
Hölle. CGI:: erzeugt ein Dummyobjekt mit CGI->new, und klobbert damit
cookies. CGI-> ist noch schlimmer und ruft ${CGI}->{.cookies} auf.
- CGI->new({}) ist schneller als CGI->new(''), deshalb habe ich diese version genommen.
Auf meinem Rechner schafft die erste Version etwa 32k/s, die zweite 28k/s.
- CGI kompiliert benötigte Funktionen beim ersten Aufruf über AUTOLOAD.
- cookie benötigen ein $cgi Objekt.
Jan hatte das ja schon angepasst, daß man die offenen Rechnungen nach einer
Altersstrukturliste filtern kann. Die Ergebnisse stimmten auch, aber wenn man
dann das Ergebnis drucken wollte fehlten die Zahlen.
Die Sammelrechnung soll wohl als Kundenkonto fungieren, damit man dem Kunden
eine Übersicht aller noch offenen Rechnungen schicken kann, mit Übersicht der
Überfälligkeit. Die Druckvorlage ist statement.tex, bzw. statement.html. Bisher
wurden aber nie die Beträge der Rechnungen angezeigt, das funktioniert jetzt
wieder.
* bei der Datenbankabfrage wird für jede Rechnung die Anzahl der Tage über dem
Fälligkeitsdatum (Today - duedate) für jede offene Rechnung berechnet
* der noch offene Betrag wird je nach Anzahl der überfälligen Tage der Rechnung
zur Kategorie c0, c30, c60 oder c90 hinzugefügt
Die angegebenen Zahlen sind die noch offenen Teile der Rechnung, es steht aber
auch die Gesamtsumme der Rechnung unter der Variablen <%amount%> in der
Druckvorlage zur Verfügung (siehe doc/dokumentenvorlagen-und-variablen.html)
Rechnungen, deren Fälligkeit noch nicht erreicht ist, tauchen ebenfalls in der
c0-Gruppe auf.
Nicht mit Währungsumrechnung getestet.
Im Lx-Office Buch steht zu Sammelrechnung, daß beim Drucken nur Rechnungen für
den ersten Kunden angezeigt werden, aber alle Sammelrechnungen an den
konfigurierten Drucker geschickt werden, ich bin mir nicht sicher, ob das
stimmt. Es gibt ja den Knopf "Alle Auswählen", aber bei E-Mail kann auch nur an
den ersten versendet werden.
Jan Büren [Wed, 12 Oct 2011 15:03:07 +0000 (17:03 +0200)]
Nachschlag zu commit: 066fbb38fb409c5801b70fc7d43f4e9190d295ff Entsprechend schon beim ersten Speichern des Artikels die ausgewählte Einheit schreiben und kein leeres Textfeld.
Bernd Blessmann [Wed, 12 Oct 2011 13:48:33 +0000 (15:48 +0200)]
Leerzeichen am Ende bei curr(ency) entfernen.
In der Datenbank werden f. Währungen drei Zeichen gespeichert. Eine
Währung mit zwei Zeichen hat dann ein Leerzeichen am Ende und der
Vergleich in den Maske schlägt fehl, wenn es dort bleibt.
Jan Büren [Wed, 12 Oct 2011 12:42:49 +0000 (14:42 +0200)]
Kosten- und Erfolgstellen zu unterscheiden macht(e) mittlerweile keinen Sinn mehr, da man ja entsprechend Kosten als Erfolg auf eine Kostenstelle buchen möchte. Ferner wird auch die Auswahlliste schon länger nicht mehr unterschieden.
Entsprechend die letzten Rudimente in der Form.pm entfernt und das Datenmodell für Rose angepasst, sowie natürlich die Tabelle
Sven Schöling [Tue, 11 Oct 2011 13:01:46 +0000 (15:01 +0200)]
CVars für Kunden
Experimentelles Feature!
Das gleiche kann später für vendors auch analog gemacht werden, beides
gleichzeitig (also eine kompinierte vc box) ist im moment nicht vorgesehen.
Bugs:
- Erneuern sowohl in überlagerten Belegen als auch in den Waren funktioniert noch nicht richtig
- Drucken ist ungetestet
- invalid + überlagern funktioniert noch nicht.
Moritz Bunkus [Thu, 28 Oct 2010 16:01:28 +0000 (18:01 +0200)]
Unterstützung für Variablenzugriffe auf Objekte/Hashes in Druckvorlagen
Wenn z.B. SL::Order->order_details $form->{ORDER_OBJ} auf eine Instanz
von SL::DB::Order setzt, so kann im Template wie folgt darauf
zugegriffen werden:
Sven Schöling [Mon, 19 Sep 2011 15:36:43 +0000 (17:36 +0200)]
$::all_units nicht in SL::Form benutzen.
Die einzige verbliebene instanz von all_units ist jetzt nur noch in SL::AM
Die muss noch gefixt werden, aber die anderen beiden haben damit nichts zu tun.