Konfigurationsdateien config/lx_office.conf{.default} in kivitendo.conf{.default} umbenennen
Basis-Module ("Encode") normal mit "use" laden
Via SMTP Zeilen normalisiert verschicken
Der SMTP-Standard (RFC 821) verlangt, dass Zeilen nicht länger als1000 Zeichen sind und mit <CRLF> abgeschlossen werden.
Anhänge kommen in der "sub print" aber als ein großer Blob an, derzwar schon nach Zeilen aufgespalten ist, aber trotzdem zu groß ist,...
Ermöglichen, dass Templates in SL/Dispatcher.pm übersetzt werden
In Dispatcher.pm erledigt die Sub "show_error" das Rendern. Ihr wirdder Name des Templates übergeben. Das erkennt aber"scripts/locales.pl" nicht als Render-Anweisung und übersetzt dieTemplates deshalb nicht automatisch. Also muss Dispatcher.pm etwas...
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
E-Mails auch per SMTP verschicken können
Default ist nun, via SMTP über localhost zu verschicken. MöglicheOptionen sind: TLS oder SSL-Verschlüsselung, Authentifizierung,Verwendung von Sendmail anstelle von SMTP (wie bisher).
Dokumentation folgt morgen.
Bei nicht zu quotenden Shell-Argumenten Exception werfen
Vor Exception-Ausgabe sicherstellen, dass das aktuelle Verzeichnis OK ist
Auch das Installationsbasisverzeichnis in @INC aufnehmen
Hintergrund ist konditionales Requiren von SL-Modulen, wenn vorher einchdir gemacht wurde (blöder alter Code, der chdirt...).
CSV-Import für benutzerdefinierte Variablen gefixt
Sollte nun mit allen CSV-Imports funktionieren. Der alte Fixhat nur mit Customer/Vendor funktioniert.
Part-CSV-Import: Bei Update model_X und lastcost_X bei make_X berücksichtigen
implementiert #1901
Waren-CSV-Import: Einlesen des Einkaufspreises ins makemodel
CSV-Kunden-/Lieferantenimport: Verwendung von TransNumber zur Erzeugung von Nummern
implementiert #1972
CSV-Import: Projekte
implementiert #1907
Merge branch 'GewichtinVerkaufsbericht'
Gewicht im Verkaufsbericht
Im Verkaufsbericht kann man sich jetzt auch das Gewicht vonverkauften Teilen anzeigen lassen.
Controller-Code nach internem Umschreiben des Requests von 'login.pl' laden
User-Login auf Controller umgestellt
User- und Adminlogin jederzeit via Formularfelder ermöglichen
Formularfelder und Session-Keys für Logins umbenannt
Ziel: Ermöglichen, dass Login & Passwort auch wieder perFormularfelder mit jedem Request übertragen werden, aber nicht mehr sooffensichtlich im "Formularfeldernamensraum" rumgeistern -- sondernleicht aussortierbar sind. Die Formularfelder, die mit "{AUTH}"...
Kosmetik: Doku-Formatierung
Dispatcher: Auch Controller ermöglichen, die Admin-Login benötigen
Default ist für Controller, dass all ihre Funktionen User-Loginsbenötigen. Kann ein Controller ändern, indem er die Sub"get_auth_level" überschreibt (siehe Doku inSL::Contrller::Base). Dies schafft die Basis dafür, auch Admin-Dinge...
SQL-Upgrade: '@encoding' als Alias für '@charset' erkennen
CsvImport::Parts: Option zum Überspringen von Artikeln mit existierenden Nummern
implementiert #1965
POD-Dokumentation zu SL::DBUpgrade2
Schreibfehler in Parametername
Verkaufsbericht Einheiten und Preisfaktoren berücksichtigen
Im Verkaufsbericht werden jetzt auch Einheiten und Preisfaktorenberücksichtigt. Vorher kam es zu Fehlern, wenn man Rechnungenmit von den Basisangaben abweichenden Einheiten oder Preisfaktorenerstellt hat. Weiterhin werden in dem Bericht nur noch absolute Mengen...
Unnötiges CVar->get_configs entfernt.
employees direkt in der Datenbank sortieren.
Spaltenueberschriften Export auf Import abgleichen
implementiert #1851
Rose Upgrade für custom_variables
Administrationsoberflaeche: aktive User anzeigen
implementiert #1853
Autom. Update des Faelligkeitsdatums bei Kreditorenbuchungen
behebt #1936
Sprung von Wiedervorlage zu Kreditorenbuchung in Kreditorenbuchung gefixt(Ticket #1940)
SL::SessionFile::Random - damit man sich nicht selber einen Namen ausdenken muss
POD-Doku aktualisieren
Fixt #1967.
Implementation eines programmatischen Interfaces zum Task-Server
Modul "SL::System::Process" für system-relevante Befehle
Wie z.B. einer Funktion, die den absoluten Pfad zu denKivitendo-Programmdateien zurückliefert.
Parsing von multipart/formdata beschleuningt.
Die entsprechende Routine hatte einen bösen Fall von Shlemiel the Painter'salgorithm [1]. Dadurch wurden Fileuploads mit mehr als 20k Zeilen extremlangsam. Binärdaten wie pdfs oder Bilder hat das nicht gestört, aber bei CSV...
Bug 1961
Nach dem erstellen einer Einkaufsrechnung wird der Einkaufspreis aktualisiert. Dabei entstand bisher ein Fehler, wenn man andere Einheiten als die Standardeinheit der Waren/Dienstleistungen benutzt. Das ist nun behoben.
Bug 1960 - Datenverlust beim CSV-Warenimport bei Preisen
wenn sellprice, listprice oder lastcost in der Importdatei nichtexplizit mit eigener Spalte gesetzt wurden, wurden die ursprünglichenPreise beim Preisupdate mit 0 überschrieben.
Fix von Sven.
Bei Importdaten das UTF8 BOM ignorieren.
behebt Bug 1872
Warenimport bei grossen Datenbanken.
Der Warenimport hat bisher alle Waren ausgelesen und dann im Hash umsortiert.Bei einer Datenbank mit 84k Waren hat das 22s gedauert, und 700MBArbeitsspeicher gefressen, das ist nicht zumutbar. Nun wird jeder Wert einzeln...
strict für selftest base
Keine Längenbeschränkung für Spalte phone in den Tabellen customer und vendor.
Preisgruppen in all_parts Lieferanten
(Implementierung grösstenteils von Geoffrey, leicht modifiziert von mir)
SelfTests
Es gibt jetzt ein Grundgerüst um Selbsttests durchzuführen, und bei Problemeneinen Administrator per Mail zu benachrichtigen. Die Selbsttests werden Überdas SelfTest Modul für den Taskserver verwaltet, und in config/lx_office.confim Block [self_test] konfiguriert. Die Tests werden in TAP ausgeliefert und...
Initparameter für SL/Mailer
Damit man das charset mitgeben kann.
Fehler in der Behandlung von Preisgruppen der wahrscheinlich die verschwindenden Preise ausgelöst hat.
Keine Passwörter mehr in Sessions speichern.
Der vorherige Mechanismus hat Passwörter in der Session hinterlegt, um beijedem Request überprüfen zu können, ob die Zugriffsrechte immernoch bestehen.Gedacht war das vor allem für LDAP Authetifizierung, wo der Admin den Zugang...
Ansprechpersonensuche um PLZ, Ort ergänzt
Und nach Straße, PLZ, Ort sortierbar gemacht
Straße, PLZ, Ort bei Ansprechpersonen bearbeiten
Behebt #1931.
Benutzerdefinierte Variablen bei Ansprechpartnern über CSV importierbar machen.
Primärschlüsselspaltennamen aus Meta-Informationen holen
Benutzerdefinierte Variablen verweisen auf die Primärschlüsselspalteihrer Bezugstabelle. Dieser Spaltenname kann beim Helper mit derOption 'id' überschrieben werden. Allerdings defaultete er vorher auf...
Ticket 1925 - Bei SEPA-Einzug datepaid setzen
Code angepasst, so daß beim Buchen datepaid gesetzt wird.Aber keine Datenkorrektur für alte Buchungen durchgeführt.
RDBO-Meta-Informationen nach CustomVariables-Helper-Benutzung initialisieren
Erlaubte Sortierparameter für Verkaufsbericht filtern
Parameter nicht ungeprüft übergeben, aber Liste der erlauben Parameter mußgepflegt werden.
Admin-Passwort in Closure speichern, um versehentliche Ausgabe beim Dumpen zu vermeiden
Verkaufsbericht: genauere Berechnung von sellprice_total (2. Mal)
War schon in Commit e3329d46a4c2ed19172f9c9ed8251af03cbc1905 drin, ist aber beiÜberarbeitung verlogen gegangen.
Gleiche Berechnung wie in Rechnung unter Berücksichtigung von fxsellprice und...
Verkaufsbericht: numerische Sortierung bei Monat
Die alte Abfrage hat im Modus Monat/Ware die Artikel nicht korrekt zusammengefasstStatt Sortierung nach Monatsname/Rechnungsdatum/Artikelname jetzt einfach Monatsnummer/Artikelname
Verkaufsberichtsortierung um Land, Warengruppen, Kundentyp, Verkäufer und Monat erweitert
Hauptsortierung und Untersortierung sind jetzt nicht mehr auf Ware und Kundebegrenzt, sondern man kann eine Kombinationen erstellen aus:
temporäre tex-Files nicht löschen, wenn Debug-Option keep_temp_files an ist.
DATEV check in die 5 haupt buchungsmasken verlinkt
DATEV Export modular gekapselt.
Spellchecks
Form::error nur als Instanz-, nicht als Klassenmethode aufrufen
Fix für 1892.
CVars-Type vendor und part auch richtig parsen
FCGI auf Version 0.72 gesetzt. Test::Deep als developer Abhängigkeit eingefügt
Neue Version podchecker erkennt leere Setions und fehlende Leerzeilen
Bug in CT: SQL Fehler wenn es keine Ansprechpartner gibt aber CVars für Ansprechpartner angelegt wurden. gibt aber CVars für Ansprechpartner angelegt wurden.
CVars: Options für textfield und text mit den configs setzen.
Sonst gehen diese in den Belegen nach einem Erneuern verloren.Zum Nachvollziehen: CVar von Typ Textfeld bei Waren anlegen undin Belegen editierbar machen. Dann Beleg erstellen, Ware eingeben,...
Verkaufsbericht: genauere Berechnung von sellprice_total
Gleiche Berechnung wie in Rechnung.
Summe aus Verkaufsbericht sollte mit Summe aus Verkauf->Berichte->Rechnungen übereinstimmen.
Überflüssiges Modul entfernt (es gibt SL::DB::MetaSetup::TaxKey)
Lieferplan: Ohne Filter nicht abstürzen.
Lieferplan: filter string
Lieferplan: von/bis Filter, Kundennummer Filter, filter summary Grundstruktur
DeliveryPlan
Erste Version squashed (überspringt 10 Commits, in denen das Query unbrauchbar langsam ist)
Waren und Lieferanten als benutzerdefinierte Variablen hinzugefügt.
Mit einfachen vendor_ und part_selectoren im L-Plugin, die dasselect_tag verwenden. vc_limit wird nicht berücksichtigt und dasganze ist nur rudimentär getestet.
Bessere Erkennung von optionalen Paketen im Installationscheck
- IO::Socket::SSL wird jetzt als optional geführt. Wird für LDAP Verbindungen gebraucht wenn TLS benutzt werden soll.
- Wenn Config::Std nicht gefunden wurde, und damit die Konfiguration nicht...
ParseFilter: $_ kann man nicht in einer Closure verwenden.
ParseFilter kann jetzt alle Rose Filter.
CVars in der Ansprechpartnersuche
filter_prefix für CVar->render_search_options
Suche nach Ansprechpartnern
Merge aus zwei verschiedenen Implementierungen der gleichen Funktionalität
Features:- behandelt Ansprechparter als direkte Suchziele wie Kunden und Lieferanten (1)- Suche ähnlich den bekannten Suchmasken (1)- Suche nach direktem Suchwort (2)...
DBUtils auf LIKE version von add_token gebracht.
CVars in Ansprechpartnern.
SellPriceInformation: richtige Nummer anzeigen
Order->number dispacher methode, die je nach typ ordnumber oder quonumber aufruft.
displayable_filter
runningnumber gibt es hier nicht