Bei Locking dasselbe DB-Handle verwenden
Seit der neuen Klasse für den Zugriff auf 'defaults' ist durch das"SELECT ..." die 'defaults' in der DB-Verbindung gelockt, die überget_standard_dbh zurückgegeben wird. Versucht nun SL/TransNumber, mit"LOCK defaults" die Tabelle ebenfalls zu locken, so klappt das nur,...
enter_sub(2)/leave_sub(2) nur loggen, wenn TRACE2 als Log-Level gesetzt ist
Bisher wurde das Argument als normales Log-Level interpretiert, wasDEBUG1 entsprach. Das ist aber unintuitiv und macht es relativsinnlos, DEBUG1 zu benutzen, weil es zusammen mit TRACE plötzlich alle...
Kosmetik
Eine Klasse & globale Variable zur Verwaltung von mandantenbasierter Konfiguration
Default-Passwort-Algo: SHA256 mit Salzen durch Login
Bei Passwortänderung Login für Salzen übergeben
Optionaler, automatischer FCGI-Restart nach Request bei Programmänderungen
Muss in Konfiguration in [debug] mit restart_fcgi_process_on_changesangeschaltet werden. Überwacht alle Dateien in SL, bin, config,templates/webpages sowie einige im Basisverzeichnis auf Änderungen des...
Prozess-ID & Uhrzeit nicht sichtbar in Session-Keys verwenden
Merge branch 'master' of lx-office.linet-services.de:lx-office-erp
Benutzer-Anmeldung verweigern, wenn nicht eingespielte Admin-DB-Upgrades vorhanden sind
Nicht immer alle Session-Werte automatisch laden und parsen
Durch das Speichern ganzer Forms in der Session wurde das Laden sehrlangsam, weil bei jedem Request alle Session-Werte geladen und mitYAML geparst wurden. Rief man z.B. ein Erzeugnis mit 50 Einzelteilen...
Bug 1275: Unbenutzte Lieferadressen lassen sich nicht löschen
Code für Löschen von Lieferadresse und Kontaktperson hatte sich vermischt.
Mehr Dokumentation für SL/LxDebug.pm
Form::init_template gibt immer das Template-Objekt zurück
Dokumentation für SL/LXDebug.pm
Funktion für unified diff zweier Objekte/Strings in Debugausgabe
Eval-Error im Dispatcher auch auf STDERR ausgeben
Wurde bereits ein Template ausgegeben, bevor der Fehler auftrat, sokonnte es sein, dass die Fehlermeldung komplett verschluckt bzw. vomBrowser nicht angezeigt wird.
Warnung "no statement is executing" vermeiden
Passwort-Änderungen auch in der Session speichern
Fall 'kein Hash-Algorithmus angegeben' bei alten Passwörtern richtig behandeln
create_unique_session_value hat immer falsch auf Eindeutigkeit der Nummer geprüft
Keine großen GET-Requests via HTTP-Redirect erfordern
Bugfix für 1609.
Verwaltung von Kunden-/Lieferantentypen auf Controller umgestellt
flash_later durch Auto-Restore von 'FLASH' von Session nach $::form gefixt
Bug wurde in c90b4dcd implementiert. Hintergrund:
c90b4dcd sollte ermöglichen, dass Werte in der Session gespeichertwerden, die aber nicht automatisch nach $::form zurück kopiert...
Verwaltung von Abteilungen auf Controller umgestellt
Actions 'move_up' und 'move_down' gibt es nicht mehr
Feature "Lizenzen" entfernt
Hat grob gesehen niemand benutzt, es funktionierte nicht, und wurdeseit gefühlten 20 Jahren nicht weiter entwickelt.
In Einkaufsbelegen Übersetzungen von Artikeln berücksichtigen
Fix für Bug 1677.
Bei Artikelauswahl nur ID als Hidden mitschleifen, nicht alle Artikeldetails
Fix für Bug 1670.
Admin-Passwort immer gehasht speichern, auch wenn LDAP-Authentifizierung aktiv ist
Das Admin-Passwort nicht im Klartext in Session-Tabelle ablegen
Das Benutzer-Passwort nicht im Klartext in Session-Tabelle ablegen
Passwort-Hashing in eigenes Modul ausgelagert
Manager-Klasse für Customer
Framework für after/before-Hooks bei load/save/delete
Conflicts:
SL/X.pm
Verwendung von Exception::Lite anstelle von ExceptionClass wie imKundenprojekt.
Anstatt über "action_" zu croaken gibt der Base Controller jetzt eine freundliche Meldung.
Kundenspezifische Felder entfernt
Beispieldatei bei CSV-Import herunterladen
Hilfstext für Spalte 'type' bei Artikelstammdaten
Import von Lieferanten/Lieferanten-Artikelnummern (makemodel) zu Artikeln
Ausgewähltes Zahlenformat berücksichtigen
Importieren von Preisgruppen
Preisaktualisierung bestehender Artikel
Refactoring: gemeinsamen Code ausgelagert; Ansprechpersonen/Lieferadressen: Kunden-/Lieferantennamen anzeigen
Auf alle Fehler auf einmal testen und nicht beim ersten abbrechen
Überflüssige Zeilen entfernt
Infotext anzeigen, wenn nur Preis aktualisiert wird
Überflüssiger Accessor
Typo
TODO
Hilfetexte für Lieferanschriftenstammdatenimport
Hilfetexte für Kunden-/Lieferantenstammdatenimport
Hilfetexte anzeigen; sehr viele Übersetzungen
Viele weitere Klartextfelder bei Kunden-/Lieferantenstammdaten
Anzeigen und Importieren von benutzerdefinierten Variablen bei Kunden, Lieferanten, Artikeln
Verknüpfungen Parts/Customers/Vendors -> Custom Variables
Anzeige und Import von übersetzten Artikeltexten und Bemerkungen
Behandlung von neu zu vergebenen Artikelnummern gefixt
Bugfixes Artikelimport
Artikelnummernvergabe im TransNumberGenerator
Artikelimport bisher
Gewisse Spalten nicht ins Profil aufnehmen
Einstellung "Separator für Preisgruppen" entfernt
Standard-Buchungsgruppe in CSV-Import-Profil via ID speichern
Keine undefinierten Werte als Referenzen nutzen (passiert im Fehlerfall)
Import von Lieferadressen.
Debugnachrichten
Flash-Meldung nach Import ausgeben
Import von Ansprechpartnern
Verknüpfung Vendor -> Contact
Längenbeschränkung bei bestimmten Feldern
Statusausgabe verbessert
Einträge mit Fehlern nicht importieren
Kunden-/Lieferantenstammdatenimport: zumindest das Testen funktioniert
Vergabe von Kunden-/Lieferantennummer beim Speichern eines VC-Objektes implementiert
Hochladen und Anzeigen von hochgeladenen Dateien implementiert
CSV-Importmasken um typspezifische Eingabefelder erweitert
form_customers_vendors.html nach form.html umbenannt; Kosmetik
Speichern, Laden, Löschen von Importprofilen implementiert
Datenbanktabelle und -modelle für CSV-Stammdatenimportprofile
Möglichkeit, das Encoding anzugeben; 'mode'-Paramter ist nun ">" oder "<"
SL/SessionFile.pm
File::Path auf legacy Interface umgestellt, damit es auf Maschinen vor 2010 läuft.
Session-basierte Dateien (die also bei Ablauf gelöscht werden)
SL/Auth.pm
Case insensitive header waren nicht voll abgedeckt, und haben Fehler bei kaputten Headern unterdrückt.
CSV-Import: Groß-/Kleinschreibung bei Spaltennamen ignorieren
Bugfix: Kein newline am Ende der Datei verschluckte die letzte Zeile.
Text::CSV_XS wird vorausgesetzt, nicht Text::CSV
SL::Helper::Csv: neues flag "strict_profile". Wenn gesetzt werden nur Daten aus dem Profil benutzt, keine DWIM can checks.
Csv Errors sind nun Objekte mit entsprechendem Zugriff.
Mehr Dokumentation
Csv/Dispatcher: dynamisches $class require schon im Specbuilder.
- Spart Zeit später- Kann abgefangen werden falls es Fehler gibt.
Indices auf OneToOne relationships werden jetzt mit Fehler quittiert.
Kosmetik, Typos
Multiple Dispatch - one-to-many.
Dokumentationsupdate.
One-To-One dispatch test.
Csv Dispatcher implementiert.
SL::Helper::Csv -> ignore_unkown_columns flag
SL::Helper::Csv: Doku zur Errorstruktur.