Sven Schöling [Thu, 20 Sep 2012 13:35:10 +0000 (15:35 +0200)]
special_chars: U+00A0 NO-BREAK SPACE in latex erkennen und korrekt rendern.
Das Zeichen passiert oft, wenn Artikelbeschreibungen von Webseiten von
Lieferanten copy&pasted wird. Webseiten padden ihre Daten gerne mit das
dann als U+00A0 gerendert wird, und landet so in der Datenbank.
Moritz Bunkus [Thu, 19 Jun 2014 15:12:21 +0000 (17:12 +0200)]
Task-Server: vor jedem Job mehr Variablen re-initialisieren
Besonders wichtig: $::request, da sie zum Cachen genutzt wird und die
Garantie vom Cache ist, dass er nach jedem »Request« (beim Task-Server:
nach jedem Job) geleert wird.
Sven Schöling [Thu, 12 Jun 2014 12:29:26 +0000 (14:29 +0200)]
Tab Persistenz in allen masken ausser customer_vendor
War beim Umschreiben auf jquery-ui kaputtgegangen, weil der div.tabwidget eine
id braucht. CustomerVendor hatte das beim neuschreiben schon korrekt mit id
versehen.
Moritz Bunkus [Thu, 12 Jun 2014 07:07:31 +0000 (09:07 +0200)]
Dispatcher: Requests auf controller.pl ohne action auf Loginseite redirecten
Ist hilfreich, wenn man aus der Browserhistory einen Link wie
http://…/kivitendo/controller.pl aufruft. Bisher wurde nur eine böse
Fehlerseite angezeigt.
Moritz Bunkus [Thu, 5 Jun 2014 08:07:07 +0000 (10:07 +0200)]
RDBO Invoice->new_from: Fälligkeitsdatum und Zahlungsbedingungen gefixt
1. Konvertierung von Order-Objekten: Hier wurde das Fälligkeitsdatum
zwar richtig übernommen, nicht aber die Zahlungsbedingungen.
2. Konvertierung von DeliveryOrder-Objekten: Lieferscheine haben gar
keinen Fremdschlüssel auf die Zahlungsbedingungen. Daher wurden hier
weder das Fälligkeitsdatum noch die Zahlungsbedingungen übernommen.
Was jetzt gemacht wird, ist die Zahlungsbedingungen vom Quellobjekt zu
nehmen, wenn dort welche existieren, und ansonsten vom dazugehörigen
Kunden. Wurden Zahlungsbedingungen gefunden, so wird das
Fälligkeitsdatum daraus berechnet und ansonsten auf »Rechnungsdatum + 1
Tag« gesetzt.
Macht man die Vermischung ->new(%args, %attributes), so ist die
Reihenfolge, wann welche aus %args und welche aus %attributes genommen
werden, aufgrund von Perls beliebiger Hash-Reihenfolge nicht
garantiert. Also zuerst nur die berechneten aus %args zuweisen und
danach die vom Caller bereitgestellten in %attributes.
Um Models für andere Datenbanken zu erstellen, müssen dann noch SL::DB,
SL::DB::Helper::Mappings und SL::DB::Object entsprechend angepasst
werden, damit die Verbindung richtig aufgebaut werden.
Moritz Bunkus [Fri, 23 May 2014 13:53:46 +0000 (15:53 +0200)]
Dispatcher: Pro-Request-Initialisierung in eigene Sub verschoben
Weiterhin optionale Initialisierung von Client und User in besagter Sub.
Erleichert die Verwendung die Initialisierung vom Dispatcher in eigenen
Scripten (z.B. der console oder rose_auto_generate_models.pl, auch wenn
die noch nicht umgestellt sind), weil dann nicht in jedem Script der
Initialiserungspfad nachgebaut werden muss.
Beispiel ($client_id_or_name und $login können z.B. vorher aus einer
Konfigurationsdatei gelesen werden):
Bernd Bleßmann [Wed, 14 May 2014 14:13:40 +0000 (16:13 +0200)]
CsvImport Waren: Preisupdate auch bei Erzeugnissen u. Dienstleistungen ermöglichen.
Zusätzlich beim Preisupdate prüfen, ob vorhandene Artikel von einem anderen Typ
als angegeben sind, falls in der CSV-Datei angegeben.
Problem war, dass Artikelnummern jetzt über Waren, Dienstleistungen und
Erzeugnisse eindeutig sind. Um aber schon vorhandene Artikel zu finden,
wurde nur nach dem angegenbenen oder eingestellten Typ gesucht. Der
voreingestellte Typ ist Waren, dabei werden Dienstleistungen und Erzeugnisse
nicht gefunden und es wurde versucht, den entspr. Eintrag neu als Ware
anzulegen, allerdings ist die Artikelnummer ja schon vergeben und es kam zu
einem DB-Fehler.
Bisher war es Zufall, dass die Konfigurationen in der richtigen
Reihenfolge von der Datenbank zurück kamen. Dadurch, wie das Umsortieren
implementiert ist, werden die Einträge in der richtigen Reihenfolge in
der Datenbank aktualisiert, und daher kommen sie meist auch in der
gleichen Reihenfolge später wieder heraus – aber das ist keine
Garantie.
G. Richardson [Thu, 8 May 2014 14:58:12 +0000 (16:58 +0200)]
Bankkonten einen Namen geben
Damit kann man seinen Bankkonten einfache Namen geben, wie z.B.
"Tagegeld", damit man bei der Auswahl nicht immer genau auf die
Kontonummer achten muß.
Bei der Bankkontenauswahl in Dropdowns ist die Beschriftung jetzt im
Format:
Name - Kontonummer, BLZ, Bank
Der nächste Schritt wäre wahrscheinlich IBAN statt Kontonummer und BLZ
zu benutzen.