Moritz Bunkus [Mon, 23 May 2011 09:00:46 +0000 (11:00 +0200)]
Vor DB-Update aus Admin-Bereich %::myconfig mit DB-Variablen füllen
Die RDBOs benutzen beim DB-Connect die Werte aus %::myconfig -- anders
als die Legacy-Funktionen in SL/User.pm. Die Admin-Funktion
"Datebankadministration -> Datenbank aktualisieren" muss
dementsrechend nicht nur $::form (für SL/User.pm), sondern auch
%::myconfig bestücken.
Jan Büren [Mon, 16 May 2011 06:47:08 +0000 (08:47 +0200)]
Entsprechend noch den Hinweis auf description und description_long für Zahlungsbedingungen in der HTML-Oberfläche beim Anlegen.
S.a. commit und changelog von gerade
Moritz Bunkus [Fri, 13 May 2011 13:35:29 +0000 (15:35 +0200)]
Skalarkontext erzwingen
Regex-Matches geben im Listenkontext eine leere Liste zurück. Perl
optimiert leere Listen innerhalb von Listen komplett weg. Somit hat
folgendes Hash nur einen Key und einen Value, nämlich "a" und "123"
respektive:
my %h = ( a => $unicorn =~ /Charlie/,
123 => $cat =~ /mat/);
Die hier geänderten Stellen funktionieren nur deshalb korrekt, weil es
jeweils nur einen Regex-Match im Hash gibt und dieser ganz am Ende
steht. Da die Values dazu im booleschen Kontext genutzt werden und
nicht existierende Hash-Values schlicht undef sind, funktioniert es so
lange, bis jemand einen Eintrag hinzufügt. Also vorsichtshalber gleich
Skalarkontext erzwingen.
C. Braun [Fri, 13 May 2011 12:44:38 +0000 (14:44 +0200)]
runtime con js:setupPoints -- decpoint is not defined. Bug-ID: 1589
Das onLoad im body-Tag des templates wurde in $('document').ready Methode
ausgelagert, weil der JavaScript-Code nicht in der richtigen Reihenfolge
ausgefuehrt wurde.
Jan Büren [Fri, 13 May 2011 10:53:48 +0000 (12:53 +0200)]
Teilweiser Bugfix zu 1575
Bei einem Kunden ist ein Kundentyp mit Rabatt hinterlegt.
Wird der Workflow Lieferschein -> Rechnung durchgeführt, wird der Rabatt nicht
berücksichtigt, sondern der normale Preis berechnet.
Auch eine zugeordnete Preisgruppe wird nicht verwendet.
Wenn der Kunde per Auswahl OHNE erneuern des Lieferscheins geändert wird,
wird der vorhergehende Kundenrabatt anstatt der Kundenrabatts des aktuellen
Kunden genommen.
OFFEN: Preisgruppe geht verloren
> Auftrag -> Lieferschein -> Rechnung.
Hab ich auch nochmal getestet, die Preisgruppe geht in der Tat verloren, obwohl
es hierfür hidden Felder in Lieferschein gibt.
Sven Schöling [Fri, 13 May 2011 09:06:16 +0000 (11:06 +0200)]
Separates Logging für die Console.
Wenn man mit Userrechten arbeitet gibt es ständig Konflikte welcher Prozess nun
auf das Logfile zugreifen darf. LXDebug ignoriert das still, aber Log4Perl
stirbt mit einer Fehlermeldung. Ab nu gibt es eine separate Logdatei für die
Konsole, und gut ist.
Jan Büren [Thu, 12 May 2011 11:39:49 +0000 (13:39 +0200)]
Bugfix zu 1569: Zahlungseingang löschen bei Rechnung
Falls $date = '' - Fehlermeldung aus der Datenbank ab postgres 8.4.
Ich denke, es ist sicher ein conv_date vorher IMMER auszuführen.
Testfälle ohne definiertes closedto:
Leere Datumseingabe i.O.
SELECT 1 FROM defaults WHERE '' < closedto
normale Zahlungsbuchung über Rechnungsmaske i.O.
SELECT 1 FROM defaults WHERE '10.05.2011' < closedto.
Testfälle mit definiertem closedto (30.04.2011):
Leere Datumseingabe i.O.
SELECT 1 FROM defaults WHERE '' < closedto
normale Buchung im geschloßenem Zeitraum i.O.
SELECT 1 FROM defaults WHERE '21.04.2011' < closedto
Fehlermeldung: Es können keine Zahlungen für abgeschlossene Bücher gebucht werden!
normale Buchung in aktiver Buchungsperiode i.O.
SELECT 1 FROM defaults WHERE '01.05.2011' < closedto
Jan Büren [Thu, 12 May 2011 11:10:08 +0000 (13:10 +0200)]
Bug 1597 - Report Lagerbestand wirft Fehler, wenn Artikelnummer ausgeblendet werden soll
SELECT b.id AS binid, p.description AS partdescription, b.description AS
bindescription, i.warehouse_id AS warehouseid, i.chargenumber AS chargenumber,
w.description AS warehousedescription, i.parts_id AS parts_id, SUM(i.qty) AS
qty, p.unit AS partunit
FROM inventory i
LEFT JOIN parts p ON i.parts_id = p.id
LEFT JOIN bin b ON i.bin_id = b.id
LEFT JOIN warehouse w ON i.warehouse_id = w.id
WHERE 1=1
GROUP BY binid, partdescription, bindescription, warehouseid, chargenumber,
warehousedescription, parts_id, partunit
ORDER BY partnumber ASC
FEHLER: Spalte »p.partnumber« muss in der GROUP-BY-Klausel erscheinen oder in
einer Aggregatfunktion verwendet werden