Buchungsjournal: bei Textfeldern führende/anhängende Whitespaces entfernen
Lagersuchen: bei Textfeldern führende/anhängende Whitespaces entfernen
Artikelsuche: bei Textfeldern führende/anhängende Whitespaces entfernen
SL::DB::Object: warnings
Form: globals nicht mehr beim Drucken in Form ablegen
SL::Controller->send_file: trueish zurückgeben
send_file meldet Fehler (z.B. »kann Datei nicht öffnen«) durchcroak(). Im Erfolgsfall sollte die Funktion aber regulär einen wahrenWert zurückgeben, um ordentlich in eval{} benutzt werden zu können.
SL::DB::Object: clone_and_reset unter Umgehung von itime, mtime
CVar: Shipto-CVars beim Clonen mit clonen
SL::DB::Invoice->new_from: individuelle Lieferadressen richtig behandeln
Individuelle Lieferadressen werden nur von shipto.trans_id zu ar.idverlinkt, nicht aber in ar.shipto_id. Die Implementation ist analog zuSL::DB::DeliveryOrder->new_from.
DeliveryOrder->new_from: kein $custom_shipto-Objekt zurückgeben
Falls das Quellobjekt eine individuelle Lieferadresse besaß, wurden beinew_from() zwei Objekte zurückgegeben: das neue Lieferscheinobjekt undein Clone der individuellen Lieferadresse. Diese waren nicht verknüpft....
Shipto: Methode zum Clonen in SL::DB::Shipto und nicht in DeliveryOrder->new_from
CVars: Lieferadressen-CVars bei Ein-/Verkaufsbelegen benutzen können
CVar-Helfer: cvars_by_config nach Config-Reihenfolge sortiert zurückgeben
CVars: Lieferadressen-CVars in Stammdaten bearbeiten
CVars: Konfigurationen für Lieferadressen anlegen können
CustomerVendor: CVar-Aufbereitungs- und -Speicher-Code in eigene Subs ausgelagert
Revert "Bugfix zu manuelle Lieferadresse im Auftrag wird nicht in wiederkehrende Rechung übernommen"
This reverts commit f46afb13bacfe1d838cb4a7a5b5b58e8145ff4b1.
Wird durch einen folgenden Commit besser implementiert, nämlich direktin der Umwandlungsroutine von Auftragsobjekten zu Rechnungsobjekten.
Reapply "country_mode entfernt."
Mit mit neuem Autor neu.
Revert "country_mode entfernt."
Originalcommit: b05b5075ac0f3cbb0823c2f513cdbcacfb17bede.
Reapply "Form: round_amount precision support"
Und mit neuer Autorschaft neu.
Revert "Form: round_amount precision support"
Originalcommit: 73a78da630ce363f70062447dd82a8a0ece8cd89
Einkaufs-/Verkaufssuchen: bei Textfeldern führende/anhängende Whitespaces entfernen
ParseFilter: neuer Filter "trim"
Ausserdem autotrim bei substr, head und tail Filtern
trim-Funktion zum Entfernen führender und anhängender Whitespaces
ReportGenerator: Unterstützung für raw_header_data-Attribut in Spaltendefinitionen
Zuerst wurde dieses Attribut in Anlehnung an das Attribut bei denPositionszeilen "raw_data" genannt. Leider kollidiert "raw_data" mit derBenutzung des ReportGenerators aus dem Controller-Helfer-Modul...
TopQuickSearch: Bei CustomerVendor redirects immer db mitgeben
QuickSearch: nicht anzeigen, wenn Datenbankupgrades eingespielt werden müssen
QuickSearch hat seine Konfiguration in gewissen Spalten in derDatenbank. Um auf diese zugreifen zu können, müssen die dazugehörigenDatenbankupgrades bereits eingespielt worden sein....
Presenter: hidden_tag, javascript, checkbox_tag von L → Presenter::Tag verschoben
Damit sind diese Funktionen auch direkt aus Perl-Code verfügbar, und manmuss nicht mehr das unsägliche CGI benutzen, um Checkboxen zu rendern.
ReportGenerator: Unterstützung für raw_data-Attribut in Spaltendefinitionen
Analog zu Zellendaten: ist bei einer Spaltenüberschrift raw_datagesetzt, so wird das ausgegeben. Nur andernfalls werden die Attributelink, text und der Sortier-Indikator ausgegeben....
SL::DB::Note: Funktion trans_object zum Auslesen des referenzierten Objekts
Ein Note-Objekt hängt immer an einem anderen Datenbankobject, das übertrans_module+trans_id referenziert wird. Diese Funktion entscheidetanhand von trans_module, welche Rose-Klasse zu instantiieren ist, holt...
CustomerVendor-Presenter: neue Funktion customer_vendor()
Damit der Aufrufer nicht im Vorfeld entscheiden muss, ob $object einKunde oder ein Lieferant ist.
S:D:FollowUp: Namen der Relationen created_by…/created_for… eindeutig gemacht
Die Spalten heißen leider created_by und created_for_user. Damit es beider Benutzung nicht zu Verwirrungen zwischen Spaltennamen und den Namender Relationships kommt, werden die Relationshipnamen schlicht eindeutig...
DBUpgrade2: may_fail für reine sql Queries auch honorieren.
LXDebug: beim Request-Timer auch die aufgerufene Controller+Action loggen
TopQuickSearch für Kunden und Lieferanten
Whitespace in Kontennamen filtern
Beim Speichern von Konten in der Kontenbeschreibung mehrereaufeinanderfolgende Leerzeichen mit einem Leerzeichen ersetzen.Siehe Ticket 148.
Konten speichern - Refaktoring von ->{link}
Fehler beim Öffnen von Konten behoben
Jedes Konto hat einen taxkey Eintrag, aber es gibt nicht immer einSteuerautomatikkonto.
TopQuickSearch: Auftrag, Angebot, Lieferauftrag, Preisanfrage
oe.pl: Schnellsuche analog zu all:substr:multi::ilike
Typos und spellcheck.t
TopQuickSearch: Doku
TopQuickSearch: Konfiguration in client_config
TopQuickSearch: qw() -> liste, zum einfachen auskommentieren
TopQuickSearch: locales aufgeräumt, debug entfernt
TopQuickSearch: Alle Part Varianten for free
TopQuickSearch: GL controller kann weg
TopQuickSearch: erste version
Erzeugnissuche
warnings: besseres sanitizing in Form::calculate_tax
Form::round_amount: nicht initialisierte Variable $places
warnings: nicht initialisierte Variable in Helper/Sorted
warnings: nicht initialisierte Variable in Helper/Payment
warnings: diverse nicht initialisierte hash keys in CsvImport
CsvImport/ARTransactions: fehlerhafter check auf undefinierte tax_id
warnings: SL::Controller::CsvImport::num_imported auf 0 initalisieren
Beschriftung im Lieferwertbericht korrigiert
Konteneinstellungen - richtiges Konto in ACCOUNT_TAXKEYS
Ging beim Refactorn im letzten Commit kaputt. Wird accno überhauptbenutzt?
Konten neu anlegen repariert
get_account wurde nicht nur für das Laden bestehender Konten verwendet,sondern auch für das Füllen von anderen form-Variablen, z.B. fürSteuerschlüssel.Bei der Gelegenheit auch etwas Rose geübt und refactored.
MetaSetup AuthSessionContent
MetaSetup Default whitespace
Auftrags-Controller: POD - hauptsächlich Todos
Auftrags-Controller: unbenutzte action "update" entfernt.
Auftrags-Controller: Warnung beim Speichern mit doppelten Artikeln.
In der Mandantenkonfiguration (Features) abschaltbar.
Auftrags-Controller: javascript-Code in eigene Datei auslagern
Auftrags-Controller: event bindings nicht mehrfach hinzufügen.
Dazu event handler für die Positions-Zeilen mit run_once_for registrieren undin eine eigene Funktion init_row_handlers() ausgelagert. Damit kanninit_row_handlers() gefahrlos immer nach dem Hinzufügen neuer Positionen...
Auftrags-Controller: Preisfaktor berücksichtigen
Auftrags-Controller: Mehrfach-Artikelauswahl: Verbesserungen
- ungültige Artikel nicht anzeigen.- Artikel nicht mehrfach hinzufügen, wenn ausversehen mehrfach Enter gedrückt oder der Weiter-Knopf mehrfach angeklickt wird.
Auftrags-Controller: Druck-Möglichkeit mit Options
Todos/Anmerkungen- im Moment werden nur PDF/Bildschirm und PDF/Drucker unterstützt- Sprache kann die Vorlage steuern, aber nicht das Hinzufügen von übersetzten Artikeln- es kann sicher noch mehr ausgelagert werden, entweder in den...
Auftrags-Controller: longdescription
Auftrags-Controller: Sortieren der Positionen
Auftrags-Controller: Positions-Spalte anzeigen und renummerieren bei Änderungen.
Auftrags-Controller: vorhandene orderitems vor Neu-Schreiben nicht löschen …
Hintergrund: Wird einem Rose-Object eine Relationship als Array übergeben (z.B.$order->orderitems(@items), so löscht Rose dei DB-Einträge und schreibt sie neu.In dem Fall werden allerdings auch DB-Trigger ausgelöst, was hier zum...
Auftrags-Controller: Einheiten per Select ändern können und sellprice anpassen.
Auftrags-Controller: Mehrfach-Artikelauswahl mit Mengeneingabe.
Auftrags-Controller: Webdav
Auftrags-Controller: Abteilungen
Auftrags-Controller: Liefertermin
Auftrags-Controller: PriceSources
Auftrags-Controller: css-Klasse: reformat_number zum Neuformatieren von Zahlen
Auftrags-Controller: Funktion "Speichern und Lieferschein".
Auftrags-Controller: Drucken und E-Mail
Auftrags-Controller: Option für "Steuer im Preis inbegriffen"
Auftrags-Controller: Bemerkungen und interne Bemerkungen
Auftrags-Controller: Zahlungs- und Lieferbedingungen
Auftrags-Controller: Auftrag löschen können.
Auftrags-Controller: neue Eingabemakse für Aufträge basierend auf Controller
FlattenToForm - auch customer_id oder vendor_id übergeben
Dies wird vom neuen OrderController beim Umwandeln in einen Lieferscheingebraucht, wo nach einem flatten_to_form auf $order delivery_orderaufgerufen wird, wo anhand customer_id oder vendor_id der Kunden geladen...
Selftest Transaction - Syntaxfehler entfernt
SelfTest - bessere Fehlerbehandlung für Einbinden der Test-Module
Fehlermeldung an den TaskServer zurückgeben.Fehlermeldung(en) in der Status-E-Mail hinzufügen.
SelfTests falscher Zeitraum für Standard-Tests
Selftests konsequent auf fromdate -> todate umgestellt
Ferner Kosmetik von hässlichen SQL Formatierungen
Korrekturen im Hauptbuch verbessert
Prüfung auf Steuerschlüssel nur bei Bestandsmethode
Payment Helper setzt $self->transactions zurück
Als es noch eine Methode transactions in SL::DB::Helper::Payment gabwurden die acc_trans-Einträge bei Zugriff per $self->transactions jedesMal aus der Datenbank ausgelesen:(SL::DB::Manager::AccTransaction->get_all(query => [ trans_id => $self->id ]);...
4. Überarbeitung Prüfen beim Speichern, ob Dokument geändert ist(3)
In der Ruhe liegt die Kraft.Jetzt sind die Zeilen in den storno-Funktionen wieder eingebaut
DeliveryPlan: Entfernt Einstellung, um nur ausgelagerte Lieferscheine zu berücksichtigen.
Diese Option lieferte hier ungenaue Ergebnisse, da dennoch auch Positionenangezeigt wurden, für die überhaupt kein Lieferschein erstellt wurde.
DeliveryPlan: optional auch mit verlinkten Positionen suchen.
Pflichtenheft: keine Fehlermeldung »template not found« bei Click auf »Abschnitte«
Neue Chart Methode new_chart_valid
die prüft, ob es für das Konto ein Folgekonto gibt, und ob das aktuelleTagesdatum >= dem Folgedatum ist, d.h. ob eigentlich das Folgekontobenutzt werden soll. Diese Abfrage war bisher allerdings kaputt und wirdwahrscheinlich auch nirgends sinnvoll genutzt.
Refactoring von orphaned in AM get_account