Moritz Bunkus [Thu, 9 Apr 2015 07:21:13 +0000 (09:21 +0200)]
%::myconfig mit sinnvollen Standardwerten vorbelegen
Das zur-Verfügung-Stellen von %::myconfig in JavaScript und die darauf
basierende vereinfachte Initialisierung in 4ec753d erfordert, dass
%::myconfig immer numberformat und dateformat enthält. Andernfalls gibt
es JavaScript-Fehler, wenn noch kein User angemeldet ist.
Sven Schöling [Tue, 7 Apr 2015 11:45:37 +0000 (13:45 +0200)]
PriceSource: versteckte Preise in Lieferscheinen
Beim Anlegen von Lieferscheinen wird jetzt auch der Preis kurz versteckt
ermittelt und mitgespeichert, damit beim Umwandeln in Rechnungen keine
Überraschungen passieren.
Google Chrome scheint Newlines am Ende von Variablen unter bestimmten
Umständen zu entfernen. Diese zu ergänzen ist trivial; da muss das
YAML-Modul keine Fehler melden.
Moritz Bunkus [Tue, 31 Mar 2015 09:34:58 +0000 (11:34 +0200)]
Langtext-HTML-Editor: bei jedem Aufruf DOM-Element neu anlegen und ckeditor initialisieren
Unter Firefox kommt es beim mehrmaligen Aufrufen ansonsten sehr schnell
zu nicht mehr behebbaren JavaScript-Fehlern. Es bleibt dann beim Öffnen
des Popups nur das grau gestreifte Overlay sichtbar, nicht aber der
Dialog selber.
Moritz Bunkus [Tue, 31 Mar 2015 08:21:06 +0000 (10:21 +0200)]
PNG-Icons reparieren
Anscheinend sind (fast) alle Icons defekt. Neuere Version von
libpng (1.6.0 und aufwärts) lehnen es ab, solche Bilder zu
decodieren. Auf der Kommandozeile sieht man dann Fehlermeldungen von
libpng wie z.B.
libpng error: IDAT: invalid distance too far back
Unter Firefox sieht man in der Console dann beim Laden Fehlermeldungen,
und anstelle der Icons werden die bekannten »Bilddatei nicht
gefunden«-Platzhalter-Icons angezeigt.
Moritz Bunkus [Mon, 30 Mar 2015 12:57:05 +0000 (14:57 +0200)]
special_chars: #-Zeichen ordentlich quoten
Die Datei wird als INI-Datei eingelesen (durch SL::Inifile). In solchen
Dateien beginnt ein # eine Kommentarzeile, und Kommentare werden beim
Einlesen entfernt.
Um das #-Zeichen selber als Schlüssel nutzen zu können, müssen wir
einfach nur seinen Hex-Code benutzen.
Sven Schöling [Wed, 25 Mar 2015 17:04:42 +0000 (18:04 +0100)]
login nicht aus $::form nehmen. Teil 2
Dabei ergibt sich ein kleines Problem. User spezifische bin/mozilla/
Controller werden geladen bevor das User handling abgeschlossen ist.
Nach dieser Änderung sind die also de facto kaputt.
Jan Büren [Wed, 11 Mar 2015 11:58:57 +0000 (12:58 +0100)]
Brieffunktion erste Version
Verkaufsbriefe können jetzt auch mit LaTeX erstellt werden.
Ferner gibt es eine Briefentwurfs-Funktion, die aussieht wie drafts, aber
zumindestens auf einer eigenen Tabelle beruht. Zusätzlich wurden zwei neue Rechte
gesetzt
Moritz Bunkus [Tue, 10 Mar 2015 16:42:48 +0000 (17:42 +0100)]
CreatePDF-Helfer: Dateinamen fixen
Die Vorlagen-Parser-Module SL::Template::* erwarten, dass
$form->{tmpdir} den zu parsenden Dateinamen enthält. Sie entfernen dann
das Präfix $self->{userspath} von $form->{tmpdir}, wodurch nur noch der
Dateiname bleibt.
Der Name der finalen Ausgabedatei wird ebenfalls über $form->{tmpdir}
zurückgegeben – ohne jegliche Pfadangabe. Allerdings ist das von Modul
zu Modul unterschiedlich. Manche geben den vollen Namen, manche nur den
Dateinamen (der dann relativ zu $self->{userspath} ist) zurück.
Moritz Bunkus [Tue, 10 Mar 2015 16:18:02 +0000 (17:18 +0100)]
CreatePDF-Helfer: Nicht auf Caller-Package verlassen
Wenn im Controller $self->create_pdf aufgerufen wird, so ist $class dann
das falsche Package, um create_parsed_file aufzurufen, weil diese sub
nicht exportiert wird.
Beim Standardauslagern wurde bisher nicht der Kommentar übernommen, der
seit Anfang dieser Funktion in do.pl gesetzt wurde. Ferner die Beschreibung
in der Mandantenkonfiguration etwas besser gesetzt, bzw. beschrieben.
Bernd Bleßmann [Thu, 26 Feb 2015 14:26:10 +0000 (15:26 +0100)]
Lager-Transfer: Transaktion mit with_transaction statt mit do_transaction.
Hintergrund: Buchen einer Rechnung und Lagerbewegung in einer Transaktion
ausführen können.
Zitat aus einem anderen commit:
"do_transaction startet immer eine Transaktion, auch wenn außen rum
schon eine läuft. Damit wird die äußere Transaktion de facto außer
Kraft gesetzt."
Sven Schöling [Thu, 5 Mar 2015 14:43:25 +0000 (15:43 +0100)]
CustomVariables: Zuweisen von zu parsenden Inhalten
2 Probleme.
1. Booleans wurden beim Parsen in den numeric Slot gesteckt
2. Die zwei-wertige Version von value() hat das zweite Argument nicht
aus dem Stack entfernt, und damit beim goto weitergegeben an die
unterliegenden Rose-Accessoren. Das hat dann das parsen wieder
zunichte gemacht.