Moritz Bunkus [Wed, 9 Nov 2011 09:35:03 +0000 (10:35 +0100)]
Anlegen der Auth-DB fixen
Auth.pms Session-Management kam nicht damit zurecht, wenn die Auth-DB
bzw. das "auth"-Schema darin noch nicht existiert haben. Das passiert
z.B., wenn die Auth-DB gerade über den Admin-Bereich angelegt werden
soll.
G. Richardson [Mon, 31 Oct 2011 15:24:41 +0000 (16:24 +0100)]
Offene Posten nach Rechnungsnummer suchen
* wenn es mehrere Rechnungen gab, wo Rechnungsnummer übereinstimmt (LIKE),
wurde die erste Rechnung aus den Ergebnissen verwendet
-> jetzt wird erst alle Rechnungen durchgegangen ob es eine genaue
Übereinstimmung gibt und dann die genommen, ansonsten wieder die Erste
* nach Ermittlung der Rechnung wurde anhand des Kundennamens und nicht anhand
der Kunden-ID nach Kunden gesucht, was schlecht ist wenn es viele Kunden mit
identischem Namen gibt
-> sofern die customer_id ermittelt wurde wird jetzt der Kunde anhand der ID
rausgesucht
G. Richardson [Mon, 31 Oct 2011 15:24:41 +0000 (16:24 +0100)]
Offene Posten nach Rechnungsnummer suchen
* wenn es mehrere Rechnungen gab, wo Rechnungsnummer übereinstimmt (LIKE),
wurde die erste Rechnung aus den Ergebnissen verwendet
-> jetzt wird erst alle Rechnungen durchgegangen ob es eine genaue
Übereinstimmung gibt und dann die genommen, ansonsten wieder die Erste
* nach Ermittlung der Rechnung wurde anhand des Kundennamens und nicht anhand
der Kunden-ID nach Kunden gesucht, was schlecht ist wenn es viele Kunden mit
identischem Namen gibt
-> sofern die customer_id ermittelt wurde wird jetzt der Kunde anhand der ID
rausgesucht
Moritz Bunkus [Wed, 2 Nov 2011 15:34:05 +0000 (16:34 +0100)]
Exceptions beim Speicher/Löschen von SL::DB-Objekten hochbubblen lassen
Die R::DB::O::transaction()-Funktion clobbert Exceptions
irgendwie. Deshalb diese erneut werfen, sofern sie beim Speichern
auftreten, und nicht nur einen Fehler zurückliefern.
Jan Büren [Thu, 27 Oct 2011 12:16:43 +0000 (14:16 +0200)]
> sobald ich jetzt eine neue Ware oder Erzeugnis anlege, und dann bei
> Bericht Kunde anhake, bekomme ich folgende Fehlermeldung:
>
> Can't call method "name" on an undefined value at SL/CVar.pm line 574.
Ahjo, hab den Fehler. Tausch mal bitte die Zeile 578 durch diese hier aus:
Jan Büren [Mon, 17 Oct 2011 11:40:03 +0000 (13:40 +0200)]
Stammdaten -> Berichte -> Kunden mit Kundentyp.
Die anschließende Sortierung nach Kundentyp liefert eine Fehlermeldung, da ein 'order by lower(business)' eine SQL-Fehlermeldung wirft (ct.business_id AS business).
Entsprechend die Abfrage erweitert, sodass ein 'order by business' analog wie bei quonumber etc passiert.
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.