Brieffunktion: Nutzung von SL::Webdav zur Speicherung im Webdav
Common::copy_file_to_webdav_folder ist alter Code, der bei neuem Codenicht mehr benutzt werden sollte.
Brieffunktion: Drucken auf Drucker gefixt
1. Drucker wurden nicht geladen. Daher gab's die Option zum Drucken direkt auf einen Drucker nicht.
2. Temporäre Druckedateien wurden anschließend nicht gelöscht.
3. Der anschließende Redirect nutzte falsche Variablen und hat daher de...
SL::DB::Printer: »Dokument an Drucker schicken« zentralisiert
Die neue Funktion print_document übernimmt das Spawnen des externenProzesses und schickt das Dokument an den Drucker. Das Dokument kannentweder direkt als Inhalt oder als zu sendender Dateiname übergeben...
Brieffunktion: Löschen von Briefen gefixt
Brieffunktion: beim Drucken im WebDAV speichern
(I)LIKE-Argumente immer mit Funktion SL::DBUtils::like erstellen
SL::Common: unbenutzte Funktionen retrieve_{projects,employees} entfernt
Funktion »like« von Form nach DBUtils verschoben
Das ist eine Datenbank-Quoting-Funktion und hat daher nichts mehr inForm zu suchen.
Gelieferte Mengen über Recordlinks ermitteln
Die gelieferte Menge pro Position wird über die Recordlinks der Itemszwischen Auftrag und Lieferschein(en) ermittelt.So werden auch gleiche Artikel auf unterschiedlichen Positionen getrennt behandelt.
Ebenso ob ein Auftrag 'delivered' ist, d.h. ob alle Mengen vollständig in Lieferscheinen erfasst sind....
Menu: Fehlerchecks beim yaml einlesen
2 häufige Fehler abfangen: - wenn ids in einer datei doppelt vorkommen (passiert beim editieren) - wenn YAML selber Fehler wirft gab es bisher ein HTTP 500
Sepa-Überw: Fehlermeldung beim Überweisen mit Skonto
Hier fehlte eine Abfrage. Fehlermeldung auf die Zahlungsart beziehen
Gelangensbestätigung: LaTeX-Druckvorlage, Doku und Übersetzung
Gelangensbestätigung als Weiche in io.pl UND Helper PrintOptions.pm
5.10 compat: mehr yada-yada ops
(nach ... acken ist nicht trivial)
perl5.10 compat: ellipsis (yada-ayada) ist da syntax error
DATEV: Debitoren/Kreditoren Split gilt nicht in Dialogbuchen
GuV und BWA: Bei Projektfilter Zeitraum richtig setzen
Offene Forderungen/Verbindlichkeiten: bei Textfeldern führende/anhängende Whitespaces entfernen
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