Changelog: Hinweis auf Dokumentation für neuen Hintergrund-Job
Login: blacklisting bei Callback für Redirect zum Ziel implementiert
Login: Callback nur bauen bei GET-Request und wenn action vorhanden
Login: Callback setzen und berücksichtigen, wenn abgemeldet
Wenn ein Ziel innerhalb des Programms aufgerufen wird (z.B. aus einemLink, den man zugschickt bekommt) und man nicht eingeloggt ist, sowird man zu dem Ziel weitergeleitet, nachdem man sich eingeloggt hat.
LoginScreen: Request beenden, wenn Benutzer nicht authentifiziert wird
Individuelle Lieferadresse hinzufügen: cp_gender nicht auf leer prüfen …
…, denn das ist nie leer.
Und sonst werden individuelle Lieferadressen angelegt, obwohl keineEingaben gemacht wurden.
Hierzu sollte evtl. noch ein DB-Upgrade-Skript erstellt werden, welches...
False Positive bei Überprüfung von Lieferant und Lieferaten-Rechnungsnummer verhindern
Falls eine Buchung noch am selben Tag verändert wird,kommt es fälschlicherweise zu der Aussage, dass schon eineRechnung mit dieser Rechnungsnummer zum Lieferanten erfasst worden sei....
In calculate_qty.html number_format() durch kivi.format_amount() ersetzt
function number_format() gelöscht, da nicht mehr nötig
parse_amount ersetzt durch kivi.parse_amount, " statt ' bei Zahlenformat
1) Unnoetig doppelte Funktion gelöscht2) [% MYCONFIG.numberformat %] darf nicht in einfache Hochkommas gesetzt werden, da dies beim Zahlenformat 1'000.00 zu Fehlern führt.
Massenerstellen von Rechnungen aus LS: Filtern nach Kundentyp
Massenerstellen von Rechnungen aus LS: filter-Template: vergessenes <tr>
Reconciliation: Veto, kein invoice_amount nachträglich setzen.
auch nicht für Vorschläge
partnumber gibt es warehouse template nicht mehr (part picker)
"Sortimente erfassen" nicht anzeigen, wenn dieses exp. Feature ausgeschaltet ist
… zu "Mandantenkonfiguration: experimentelle Features einzeln an-/abschaltbarmachen"
WebDav: Fehler beim Kopieren anzeigen / Verzeichnis zurück wechseln (2)
Der erste commit 108753a78b203dbe0ccbe6438cc16c8df33c04d3 hat das Druckenohne Fehler beim Ins-Webdav-Kopieren kaputt gemacht. Probleme waren:- ein return vergessen- chdir zurück auch ohne Fehler...
Auth: fehlerhafte JSON-Requests mit JSON und richtigem HTTP-Response-Code beantworten
WebDav: Fehler beim Kopieren anzeigen / Verzeichnis zurück wechseln
Wenn in SL::Form->parse_template bei Common::copy_file_to_webdav_folder etwasschief ging, wurde dort ein "die" oder "Form->error" aufgerufen. Allderdingswird in parse_template vorher das Arbeitsverzeichnis gewechselt, so dass die...
Massendruck: Attachment-/Archiv-Dateiname in Zielsprache
Massendruck: Kopieren ins Webdav in den Helper verschoben.
Damit erzeugen alle Druckvorgänge hierüber Kopien im Webdav
Massendruck Lieferscheine/Rechnungen: doc_storage_enabled importieren
Auftrags-Controller: Prüfung beim Holen der Kunden-/Lieferanten-Art.-Nr, …
… ob Option eingeschaltet ist und ob Kunde/Lieferant schon gewähltwurde. Sonst gibt es einen Fehler beim Workflow von VK in EK und umgekehrt.
Part: typo
(cherry picked from commit 8ce71088e51f6bce25c8406ff65f72fad3c15d1a)
S:D:Invoice->new_from: Auftragsdatum aus Auftrag bei Erzeugen aus Lieferschein
Einkaufsrechnung -> Suche. Fälligkeitsdatum als Suchfilter hinzugefügt
SL::Mailer: Debug-Meldungen rausgeworfen. mail5 führte zu einem Fehler
Die Debug-Meldung mit "mail5" griff auf $attachment->{id} zu, aberattatchment kann auch ein Scalar sein. Dann ergab sich hier ein Laufzeitfehler,der zwar durch ein eval abgefangen wurde, aber das Verschicken der Mail...
InstallationCheck: Exception::Class: Minimal-Version 1.44
Sonst gibt es nur ungenaue Rose-Fehlermeldungen (nur "generic exception")und der Test t/db_helper/with_transaction.t läuft nicht durch.
Behebt #407 (redmine).
Changelog und Dokumentation zum Hintergrund-Job: Jahreszahl in Nummernkreisen hochzählen
SetNumberRange: Validitätsprüfung auf Benutzereingabe (data) im Job
SetNumberRange: Background-Job um Jahreszahlen im Nummernkreis zu erhöhen
Nimmt die vierstellige Zahl des nächsten Jahres und multipliziertdiese mit 1 oder einem anderen Faktor. Präfixe und Länge desNummernkreis bleibt erhalten. Bspw.:
Letzte Rechnungsnummer:...
zu #406 nicht zuviele ids (email journal) als ar.ids verwenden
Bugfix #406 Fehlerhafte abzurechnende Werte, falls Gutschriften höher als Auftragswert
Bugfix (teil) #406 abzurechnender Betrag bei Aufträgen manchmal falsch falls Gutschriften
S.a. Kommentar redmine
CSV-Import Debitorenbuchungen: maximale Betragsabweichung (Einstellungen) parsen
S:C:Letter: Vergessene Presenter-Umstellung für ein select_tag
auth master rights: Skript-Abhängigkeiten und Positionen reparieren
Durch falsche Abhängikeiten können bei Updates bestimmte Rechte festePositionen größer 1000 zugewiesen bekommen, bevor das Upgrade-Skript zumPlatzschaffen (multiplizieren mit 100) durchlaufen wird....
Typo in de locale
Form->prepare_for_printing: Einheiten übersetzen
OE.pm: Form-Werte nicht direkt in SQL-Queries schreiben
Auftrags-Controller: Positions-Update: auch Artikelnummern updaten
Auftrags-Controller: Spracheinstellungen aus Druck-/E-Mail-Dialog speichern.
Rechte zum Bearbeiten von Preisen in Belgen getrennt nach VK/EK anwenden
Recht zum Bearbeiten von Preisen in Belgen nach Ver- und Einkauf trennen
Das Recht "edit_prices" galt bisher sowohl für Verkauf als auch für Einkauf.Nun wird das getrennt in "sales_esit_prices" und "purchase_edit_prices".
Recht zum Einsehen von Einkaufsdokumenten aller Mitarbeiter anwenden
Trennung VK/EK in Berichten
Recht zum Einsehen von Einkaufsdokumenten aller Mitarbeiter (Trennung VK/EK)
Das Recht "sales_all_edit" galt bisher sowohl für Verkauf als auch für Einkauf.Nun wird das getrennt.
Auftrags-Controller: PDF-Download per ajax-send_file
Controller::send_file: rendern bei ajax abschalten können
Damit kann man weitere client_js-Kommandos absetzen.
Controller::send_file schickt jetzt über client_js wenn ajax
(cherry picked from commit 0f16bc87b4804cf05cefb5ac1514c7f565cfbfbd)
kivi.js: kivi.save_file und client_js binding
(cherry picked from commit f68ea953a6a563172f12991d2ca3f9f17ad89dd2)
Controller::redirect_to: url_for nicht doppelt aufrufen, wenn ajax
Macht zwar nichts, muss aber auch nicht.
CustomerVendor POD korrigiert
t/datev/datev_format_2018.t nutzt Dev create_gl_transaction
Jahresabschluß - GLTransaction->post und Tests
Der YearEnd Controller nutzt nun GLTransaction->post, damit muß man dieacc_trans-Einträge nicht mehr von Hand zusammenbauen, und die Buchungenpassieren automatisch als Transaktion, die Buchungen werden validiert...
GLTransaction - Dialogbuchungen per Rose erstellen
An einigen Stellen im Code werden Dialogbuchungen per Hand erstellt,inkl. Steuern, das soll hiermit vereinheitlicht und vereinfacht...
SL Dev Record - neue Methoden für ar/gl/ap Transaktionen
Neue Methoden, um für Tests schnell Debitorenbuchungen,Kreditorenbuchungen und Dialogbuchungen zu erstellen
ActionBar: Javascript: unbenutzte Variable entfernt
ActionBar: Javascript: jquery-Selektor zu Objekt auflösen
Sonst lassen sich die Funktionen removeTooltip, setTooltip, setDisabled,setEnabled nicht mit einem Selektor via ClientJs->run
Danke Mosu.
ReportGenerator: set_options: auch bei csv_export nur Standardwerte beibehalten
ReportGenerator: set_options: "for" statt "map", da Rückgabewert nicht verwendet
S:C:YearEndTransactions: Warnung vermeiden: Variablen waren schon deklariert
S:C:YearEndTransactions: Kosmetik: Tab entfernt
Auftrags-Controller: Link bei Artikelnummer: Artikelstamm in neuem Tab öffnen
Auftrags-Controller: self an _row-Template übergeben …
… und nicht einzelne Variablen aus self, die dort abgefragt werden.
changelog zu "Auftrags-Controller: Positions-Update aus Artikel-Stamm"
Auftrags-Controller: Benutzereinstellung: Positions-Update aus Artikel-Stamm
Auftrags-Controller: Positions-Update aus Artikel-Stamm
locales-Lauf en
fehlende Übersetzung zum Jahresabschluß
Vorhandene Steuer speichern: richitge Anzahl von Bind-Variablen angeben
fix zu commit 543d78225ec609e9f67ecb1544e135ca88149234"Spalte taxnumber aus Tabelle tax entfernt"
Alten YearEndTransactions Test entfernt
Jahresabschluß - YearEndTransactions neu implementiert
Der alte Jahresabschluß hatte eine Reihe von Schwächen, z.B. wurde nichtzwischen Bestands- und Erfolgskonten unterschieden, und es wurde auchkein Gewinn- oder Verlustvortrag gemacht. Der Anwender mußte selber...
AccountingPeriod - Methode an get_balance_starting_date übergeben
Für den Fall, daß man die Methode zur Ermittlung des Startdatums nichtaus der Mandantenkonfiguration nehmen möchte, sondern diese selbervorgeben, gibt es nun einen neuen Parameter, um die Methode selber zu...
balance_startdate_method_options nach AccountingPeriod Helper
verlagert, wird auch für YearEndTransactions benötigt.
CSV-Import-Bericht: beim Löschen nur verwaiste Profile löschen
Unter gewissen Umständen kann es passieren, dass es mehrere`csv_import_reports` mit derselben `profile_id` gibt. In so einem Falldarf nur dann versucht werden, die Einträge aus `csv_import_profiles`...
Bericht VK-Rg/Debitorenbuchungen: nach Abteilungen sortieren können
Bericht EK-Rg/Kreditorenbuchungen: Abteilungen anzeigen können
Bericht Angebote/Aufträge: Abteilungen anzeigen können
Bericht EK-Rg/Kreditorenbuchungen: Filter nach Abteilung als Option anzeigen
template oe search: Kosmetik: Leerzeilen entfernt
Bericht EK-Rg/Kreditorenbuchungen: Filter nach Abteilung als hidden mitnehmen
Preisgruppenpreise als Preisliste bei Kunden anzeigen
Wenn dem Kunden eine Preisgruppe zugeordnet ist, werden die Preise inden Kundenstammdaten als Preisliste (eigener Tab) angezeigt.
JS: CustomerVendor: Kosmetik: Tab entfernt
BankTransaction: keine Leerzeichen am Ende vom Verwendungszweck einfügen
Wenn man mehrere Felder einfach mit `join(' ', @felder)` zusammenfügt,so entstehen nun mal ein Haufen Leerzeichen, auch wenn alle Felderselber leer sind. Das führt konkret beim Import von Banktransaktionen...
BankTransaction: Vorschlagslistencode aus action_list eigene Funktion verlagert
BankTransaction: Sortierungscode vereinfacht
Belege: E-Mail-Dialog: Sprache für Anhang-Übersetzung setzen
Rose: MetaSetups bzgl. Fließkommazahlen erneuert
bank_transaction_acc_trans: überflüssige Spalte »id« entfernt
Primärschlüssel sind zwei andere Spalten, und die Präsenz dieserNicht-Primärschlüssel-Spalte zusammen mit Typ »serial« macht Probleme,weil Rose kein Default für solche Spalten kennt.
Kundenartikelnummern in Vorlagen verwenden können
Einsortierung in das template array wie Lieferantenartikelnummern alscustomer_make und customer_model.
Standard-Druckvorlagen Angebot/Auftrag/Lieferschein/Rechnung für Verkaufexemplarisch angepasst.
WH: Warnungen wegen nicht initialisierten Werten vermeiden
Durch Tests getriggert, konkret: durch t/wh/transfer.t
SL::DB::Unit: Warnungen wegen nicht initialisierten Werten vermeiden
AttrSorted-Helfer: Warnungen wegen nicht initialisierten Werten vermeiden
Durch Tests getriggert, konkret: durch t/controllers/csvimport/parts.t
SL::Auth: Warnungen wegen nicht initialisierten Werten vermeiden
Durch Tests getriggert, konkret: durch t/controllers/base/render.t
DB-Upgrades für Hintergrundjobs von Perl auf SQL umgestellt
Rose-Models dürfen in DB-Upgrade-Scripten nicht verwendet werden, weildie Perl-Strukturdaten (MetaSetup) in dem Moment schon auf dem neuenStand, die Datenbankstrukturen aber auf dem alten Stand sind. Daher...
Lagerstandsbericht: Listenpreis als Basis f. Bestandswert auswählbar
Lagerstandsbericht: Listenpreis anzeigbar machen
Kosmetik: doppeltes Leerzeichen weg
SelfTest: Geschwindigkeitssteigerung durch »NOT EXISTS« anstelle von »NOT IN«
Nicht ganz frische PostgreSQL-Versionen (mindestens bis 9.6 inklusive)optimieren »NOT IN«-mit-Subquery nicht automatisch und müssen daherfür jede Zeile des äußeren Selects einen linearen Scan auf die...
Rose-Models anhand des tatsächlichen Schemas aktualisiert
Doku: Update nach Auth-Erweiterung auf multiple Module
Auth: Unterstützung für multiple Authentifizierungsbackends
Über den Parameter "module" kann man nun multiple Backends angeben,die nacheinander versucht werden, bis ein Erfolg gemeldet wird oderdie Liste durchlaufen wurde.
Zusätzlich kann man LDAP-Module mehrfach angeben. Damit...