Typo gefixed
ParseFilter: typo + test
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.
Tests: fehlender Backgroundjob
ParseFilter: Laundern schon vor dem eigentlichen parsen.
Erlaubt es indirekte Filter im Template roundtrip safe zu machen.
Tests: price_tax_calculator.t muss vor Kunden löschen richtig aufräumen
Finanzcontrolling: Testcase für Aufträge mit wiederkehrenden Rechnungen
Finanzübersicht: Testcase für Spalten Auftragsvorlauf/-eingang
Wiederkehrende Rechnungen: Testcase für Periodizitäten
Ich schreibe immer postition statt position.
PriceTaxCalculator: für Items berechnete flüchtige Werte zurückgeben Teil 3
Die items können nicht als Hash-Referenz gespeichert werden, weil daskaputt geht, wenn die Items noch nicht gespeichert wurden und damit nochkeine ID besitzen. Daher Umstellung auf Array-Speicherung....
SL::CTI::sanitize_number: nur Ziffern zurückliefern
Rundung bei Debitorenbuchung, Kreditorenbuchung und Dialogbuchung
Zwei neue Hilfsfunktionen für Form eingeführt die von ap/ar/gl genutztwerden:
Form::round_amount: Perls Wissen über Stringifizierung nutzen
Perl weiß am besten, wann eine nicht ganz exakte Fließkommazahleigentlich eine für Menschen sinnvoll lesbare Fließkommazahl ist (alsodass mit 143.19999999999998863132 eigentlich 143.2 gemeint ist, wenn ich...
round_amount: Perls Repräsentationsalgorithmus fürs exakte Runden nutzen
Als Erläuterung paste ich schlicht den relevanten Teil des Kommentars,der nun auch in der Funktion steht:
Trying to round with more precision first only shifts the problem to rarer...
ParseFilter: with_objects merging bei Klassen mit Filtered Plugin
ParseFilter kennt 3 Quellen für with_objects Klauseln:
1. explizit übergebene2. aus dem Filter inferierte3. aus custom filtern gesetzte
Wenn nun ein Model das Custom Filter Plugin hat, muss bei jedem Filter...
Steuerzone - neue Customer/Vendor-Objekte brauchen Steuerzone
Durch den not-NULL Constraint bei Kunden und Lieferanten mußbeim Anlegen eines neuen Objekts nun zwingend die Steuerzone mitübergeben werden, ähnlich wie bei der Währung.Dies wurde bei einigen automatischen Tests nachgeholt.
test.pl: --fast switch, skippt 001compile und 003safesys
Nachtrag Steuerzone - Tests angepasst
Steuerzone in price_tax_calculator.t angepasst
round_amount: Fix für falsches Runden bestimmter Werte
Gewisse Werte wie z.B. 33,675 wurden bei 2 Stellen falsch gerundet,nämlich auf 33,67 anstelle von 33,68. Bei anderen Werten hingegenfunktionierte es (beispielsweise 149,175 @ 2 → 149,18).
Grund war, dass durch das Addieren von 0.5 wieder Fließkommaberechnung...
HTML::Util: Tests, und Bugfixes für ein paar Randbedingungen
Tests: neue Background Job Klasse auch erwarten
DateTime: (add|subtract)_businessdays Funktionen
Rundungsfehler bei periodischen Rechnungen mit Einzelpreisen ...
... mit einer Nachkommastelle und Rabatt behoben.
siehe auch commit a22b8118e0bd68acac8a2d7b02a2d4f9fd0eaff1
Zudem einen Test dazu angelegt. Allerdings weicht die Art, wie derPriceTaxCalculator und die Beleg-Masken rechnen, von einander ab....
Generische Unterstützung für CTI: Click-to-dial
CSV-Helfer-Test: In-Memory-Streams mit richtigem Encoding initlisieren
Rose-Attr-Helfer: _as_timestamp
…mit verschiedenen Präzisionsstufen und Tests!
Locale::parse_date_to_object: Unterstützung für volle Timestamps & explizite Formate
…und dafür Tests.
Locale::format_date_object: explizites Setzen der Formate; Millisekunden als neues Format
…und dazu Tests.
SL::DB::Helper::LinkedRecords: rekursive Suche in linked_records
LinkedRecords: bidi Verhalten den docs angepasst und direction Parameter optional gemacht
t/structure/globals: Lexikalische Variablen sind schwer exportierbar.
t/test.pl: Neuere Tests kommen sich bei multicore in die Quere. Vorerst ausschalten
t/test.pl: File::Find macht nur dann lstat wenn follow oder follow_fast als option gesetzt ist
LinkedRecords: Test und Doku Update
Merge branch 'pflichtenhefte'
Conflicts: js/locale/de.js
ParseFilter: splitting von :multi über Text::ParseWords
:multi filter für ParseFilter
Test: acts_as_list.t: Anpassung an Währungsumstellung
Diverse Fixes, damit der Testcase mit den aktuellen requirement_specs durchläuft.
- braucht jetzt keine leere Datenbank mehr, erstellt Ficture und löscht sie hinterher wieder.- Update auf item_type- Unmöglicher Check im Header korrigiert- Zahl der Testcases jetzt korrekt hart kodiert
CSV-Import mit Multiplex-Daten: Die Spalte datatype muss nicht an der ersten Position sein.
Custom GetModels Filter: Präfixing von Fallback Filtern in Relationen mit Custom Filtern fehlte.
RDBO-Consistency-Test auf PACKAGE->meta_initialize
Csv-Helper lässt header als einfaches Arrayref bei Nicht-Multiplex-Daten zu.
Test reparieren. datatype ist immer unbekannt.
case_insensitive-Flag für Multiplex-Daten anpassen.
Anpassungen nach merge/rebase
Testanzahl angepasst, Schreibfehler, emacs happy
weitere multiplex-Tests
Bei Boolean-Tests von is ... auf ok ... gewechselt.
nicht immer ein "my" für ein neues Csv-Objekt (copy-paste-Fehler).
SL::Helper::Csv kann mit Multiplex-Daten (mehreren Profilen) umgehen.
SL::Helper::Csv bekommt Klasse im Profil mitgeteilt.
warning
warnings unter 5.12.4
Tests: In Datenbanksetup-Test $::instance_conf initialisieren
Erste Tests zum PriceTaxCalculator
$::instance_conf benötigt kein explizites init mehr
Data::Dumper-Format-Variablen in Tests setzen
with_objects in ParseFilter korrekt weiterreichen
Tests: Test-Case für gültige Methodennamen auf $::instance_conf
Tests: $::auth für Unit-Test-Datenbank anlegen
Test für Konsistenz SL/DB/*.pm <=> SL/DB/MetaSetup/*.pm sowie die Helfer ALL und Mappings
Tests: eigene Datenbank für Unit-Tests hochziehen
Tests: Unterstützung für Konfigurationsparameter "debug.backtrace_on_die"
t/wh/transfer.t: Für leere DB fit gemacht
Artikel, Lager und Lagerplatz werden vorher bereinigt, angelegt undhinterher bereinigt.
Tests: Tests skippen, wenn Template-Cache-Verzeichnis nicht schreibbar ist
globale Variablen in ein Helfermodul ausgelagert
TestSetup auf clients angepasst
Test-Script für Relationship-Klassennamen
Parsefilter Testupdate
Besseres Objektverhalten und bessere Doku für ParseFilter
ausserdem Arraylaundering
ParseFilter auf Objektdispatch erweitert
perl5.18.0 Kompatibilität: t/helper/csv.t
Betrifft um genau zu sein nicht perl5.18.0 sondern PerlIO::scalar 0.16, das ab perl5.18.0 im core ist. Eine der Änderungen ist, dass bei memory-mapped file Zugriffen immer byte Kontext erzwungen wird, und ein Fehler geworfen wird, wenn der String bereits utf8 ist....
parse_filter.t auf perl5.18 angepasst
Request::flatten sortiert jetzt Hashes nach keys.
Die Änderung war notwendig, weil in perl 5.18 die Hashrandomisierung deutlichaggressiver ist. Flatten war vorher schon auf dem Papier nicht deterministisch,das ist aber durch die Randomisierung von perl 5.10 bis 5.16 nie aufgefallen....
Funktionen 'snakify' und 'camelify' nach SL::Util verschoben, gebugfixt, getestet
_hashify: verallgemeinert, getestet, nach SL::Util verschoben (und das dabei erfunden)
Text-Funktion "truncate" nach Common verschoben, dokumentiert, getestet
broken links Test auf templates sund doc einschränken.
Layout auf Presenter umgestellt.
Behebt circular includes von SL::Layout::Base -> SL::Controller::Base -> SL::Request -> SL::Layout::Base
acts_as_list sollte nicht kaputtgehen hier
SL::PrefixedNumber -- Nummernkreisartige Nummer erhöhen ohne Datenbank
AttrDuration: in SL::DB::Object->assign_attributes() auch attr_man_days_string() vor _unit() auswerten
AttrDuration-Helfer
ActsAsList: add_to_list() auch aufrufen können, wenn 'position' noch gesetzt ist
ActsAsList: get_next_in_list() und get_previous_in_list()
TestSetup: $::request muss eine Instanz von SL::Request sein
ActsAsList: mit remove_from_list() entfernte Items auf position = -1 setzen
position ist in allen Tabellen NOT NULL deklariert. Nur in der einen,die ich zum Testen genutzt hatte, nicht. Das habe ich nunnachgeholt. Jetzt wird -1 als magischer "not in list"-Wert benutzt.
ActsAsList: neu: remove_from_list(), add_to_list(), Unit-Tests
Testcase für SL::Controller::Base::render() gefixt
Refactoring: Parameterredesign SL::Controller::Base::render und SL::Presenter::render
Conflicts: SL/Controller/FinancialControllingReport.pm SL/Controller/ProjectType.pm
Fehlerhafter Test
Helper::Csv: Support für leere profile.path Angaben und case_insensitive_header
Doku: Test-Doku aus t/README in die Haupt-Doku überführt & erweitert
Methode zum Auflisten bekannter Hintergrundjobklassen
Aufruf einzelner Test-Scripts via Test::Harness ermöglichen
Syntax ist trivialerweise:
Um alle Tests auszuführen: ./t/test.sh
Um nur bestimmte auszuführen: ./t/test.sh t/unicorns/charlie.t t/chunky/bacon.t
format_amount bug: Bei places == 0 wurden trailing 0 abgeschnitten
Form::format_amount - suabere trennung zwischen String und Numerischen Kontexten
behebt #1982 (unter anderem)
Bug bei der Umrechnung von Einheiten beim Einlagern behoben.
fixt #1983
Bus-Errors bei perl5.10 und perl5.12 verhindern.