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
SL::DB::Chart - Refactoring der Transaktionsmethoden
... der Methoden number_of_transactions und has_transaction.Machen fast das Gleiche, aber has_transaction liefert nur 0 oder 1zurück, und ist schneller.
Debitorenbuchungen als CSV importieren
Ähnlich wie der Auftragsimport wird hier gemultiplexed, d.h. es gibt separateZeilen für die Debitorenbuchung (ar) und die Buchungszeilen (acc_trans).
Es handelt sich allerdings nicht exakt um acc_trans-Zeilen, die direkt...
Neue Methoden um Debitorenbuchungen zu erstellen
Vorbereitung für Debitorenbuchungsimport, neue Methoden für SL::DB::InvoiceObjekte:
add_ar_amount_row - Erlösbuchungen hinzufügen, mit Steuerschlüsselcreate_ar_row - acc-trans für Forderung hinzufügenvalidate_acc_trans - Prüfen ob alle acc_trans-Einträge aufgehen...
Typos und in SL/DB/Invoice.pm
post in SL::DB::Invoice funktioniert nur für Verkaufsrechnungen
Abbruch, wenn post bei einer Debitorenbuchung aufgerufen wird.
Auftragsimport - Methoden ausgelagert
für Prüfung von Abteilung, Projekt, Bearbeiter und Verkäufer
Vorbereitung für Debitorenbuchungsimport
Standardforderungskonto und Verbindlichkeitskonto in Mandantenkonfiguration
Dort kann man in Zukunft angeben, welche Konten vorausgewählt seinsollen.Wird allerdings noch nicht in den Masken benutzt.
Payment Helper - Methode transactions wieder entfernt
Es gibt schon eine Relationship transactions in SL::DB::Invoice undSL::DB::PurchaseInvoice. Diese wird ansonsten überschrieben, und dannkann man auch keine AccTransaction Objekte mehr zu Rechnungsobjekten...
4. Überarbeitung Prüfen beim Speichern, ob Dokument geändert ist(2)
fixup: Zu viel des Guten (patch hat falsch einsortiert)
4. Überarbeitung Prüfen beim Speichern, ob Dokument geändert ist
An einigen Stellen wird nach dem Speichern nicht neu gelesen,sondern die alten Forms-Variablen zum Aufbau der Webseite verwendet, z.B. "Auslagern".
Deshalb wird $form->lastmtime nun nach jedem Speichern aktualisiert.
5.14 Abhängigkeit im DefaultManager ist unnötig
ReportGenerator-Helper: (wiederholten) Export bei "Zurück" verhindern.
Dazu export-actions nach Aufruf aus form löschen. Da die form-Variablen alshidden in die Options-Maske übergeben werden, war auch immer dieexport-action dabei. Drückte man "Zurück", dann waren beiden actions (für export...
Stylesheet aus DefaultManager holen
Damit, und dem logo commit von eben, kann man das Aussehen derLoginmaske personalisieren indem man ein Company css anglegt, und einenMini DefaultManager dazu baut, der einfach nur eine Funktion enthält:
sub stylesheet { 'company.css' }...
Sornorechnungen löschen können
Stornorechnungen (Rechnungsnummern »Storno zu 12345«), nicht aberstornierte Rechnung (Rechnungsnummer »12345«), sollten vom Frontend herlöschbar sein, sofern die Mandantenkonfiguration dieszulässt. Andernfalls hätte man keine Chance, eine fälschlicherweise...
Angebote/Aufträge: Beim "als neu Speichern" Wechselkurs richtig übernehmen.
Vorher ging die Formatierung kaputt, wenn zum aktuellen Datum (das des neuenBelegs) noch kein Wechselkurs hinterlegt war.
Generell ist hier die Handhabung schlecht, denn man kann beim...
select_item für Erzeugnisse auch Langtext anzeigen, falls aktiviert
Stammdaten->Berichte->Kunden/Lieferanten: Straße u. PLZ auch in Lieferadressen suchen
So, wie es die Bezeichung auch suggeriert.
GLN: CsvImport Kunden u. Lieferanten und Lieferadressen.
GLN: In Bericht Kunden/Lieferanten anzeigen und danach suchen können.
GLN: Berücksichtigung in Belegmasken
GLN: Speichern und Anzeigen in den Stammdaten (Rechnungs- u. Lieferadressen).
GLN: neue Spalte bei customer, vendor und shipto; DB-Upgrade-Skript u. Rose
SuSa Abteilungsauswahl liefert SQL-Fehler
Im Nachgang zu b8fee3fc (dpt_trans aus RP.pm entfernen) - Vergessenedpt_where weiter entfernt, sodass die SuSa nach Abteilungsauswahlwieder geht.Getestet mit Soll- und Ist-Haken bei SuSa
behebt #123 Ist-Versterungs-Auswahl für SuSa
Verkaufsrechnungen: Beim Öffnen individuelle Lieferadresse laden.
Briefe mit anderen Dokumenten verknüpfen können
Brieffunktion: Verwendung von HTML im Body
SL::DBUpgrade2::Base: Spalte-zu-HTML-Funktion ausgelagert
Damit diese Funktion auch aus anderen Datenbankupgradescripten herausbenutzt werden kann, wurde sie nun in die Basisklasse verschoben.
CustomerVendor-Controller: Callback nicht 2x escapen
url_for() escapet die Parameter bereits, daher ist es schädlich, dasvorher auch noch manuell zu tun.
Behebt #128.
Letter-Controller: benutzte Pakete auch einbinden
In Nicht-FCGI-Umgebungen ist CT ansonsten nicht geladen.
HTML-zu-LaTeX: diverse Sonderfälle bzgl. Zeilenumbrüchen behandeln
Zeilenumbrüche an verschiedenen Stellen sorgten dafür, dass LaTeX dieFehlmerldung »There's no line to end here« ausspuckte. Die folgendenSonderfälle werden nun abgefangen und in \vspace*-Anweisungen...
IBAN-Validierung bei Kunden-/Lieferantenstammdaten sowie bei Bankkonten
Letter: Fehler beim Druck
Self-Tests Haupt- / Nebenbuchprüfung verbessert
GetModels Sorted: tiebreaker für deterministisches sortieren
FlattenToForm - business nicht als Objekt übergeben
Letter: model sortierung benutzen
Letter: Sortierung default neue zuerst
Letter: Anzeigesicherheit gegen nicht mehr existierende Kunden
Letter: 30 pro Seite anzeigen
Weitere Selftests
- Kreditoren Haupt und Nebenbuch Netto-Prüfung (ap.netamount == acc_trans.amount)- Für alle Taxkeys <> 0 muss auch eine Steuerbuchung in acc_trans vorhanden sein
SelfTest -> Transaction. Test verbessert (ar.amount invoice.amount)
Summe laut Verkaufsbericht gleich Summe der Rechnungen (ar).Der Test schlägt fehl, wenn es Debitorenbuchungen gibt, da hier keineinvoice Einträge gemacht werden. Entsprechend die Abfrage verbessert.
Letter: Nur Druckoptionen anzeigen, die momentan unterstützt werden.
Drucken geht nur mit PDF und Bildschirm.
Letter: PrintOptions-Helper verwenden.
PrintOptions-Helper: Ausgabe der Header ermöglichen.
PrintOptions_Helper: Dokumentation
PrintOptions_Helper: Angabe eines prefix ermöglichen.
print_options in Helper ausgelagert.
Presenter: hidden ist ein value_less attribut
Warenauswahl: EAN in »Andere Treffer« nur ausweisen, wenn nach Artikelnummer gesucht wird
Letter: Aussagekräftigere Fehlermeldung, wenn Vorlage nicht gefunden wird.
js/switchmenuframe.js entfernt
seit dem letzten Layout rework ist das nicht mehr benutzt,also weg damit
Letter Controller rewrite
Jetzt auf einigermassen aktuellem technischen Stand.
SelfTest: Datenbanknamen gefixt; Client-Namen auch mit ausgeben
SL::DB::Buchungsgruppe: Relationsnamen inventory_account gefixt
Aus irgend einem Grund registriert Rose keine neue Relationship, wenn esbereits eine (mit leicht anderem Namen) als Foreign Key für dieselbeSpalte gibt.
Revert "JavaScript-Plugin: auch als Filter einsetzen können"
Dies revertet Commit 20d730acdbb52b5b75af783aa010609e25b73024. Grundist, dass aus bisher nicht zu analysierenden Gründen in manchenSituationen der Template-Toolkit-Compiler oder eine andere Komponente...
Passwörter: Unterstützung für crypt, MD5 und SHA-1 entfernt
Diese Algorithmen gelten allesamt als unsicher.
Falls die Datenbank jemals in falsche Hände geraten sollte, so würdenzumindest die mit crypt und MD5 gehashten Passwörter schnell zu knackensein. Die mit SHA-1 gehashten dürften etwas länger dauern, aber auch sie...
Passwörter: Hash-Verfahren PBKDF2 unterstützen und als Standard nutzen
Der aktuelle Stand der Technik sind die SHA-*-Varianten schon langenicht mehr. In der Zwischenzeit wurden der PBKDF2-Mechanismusentwickelt, um schnelles Berechnen zu erschweren. Noch neuer und in...
Drucker im Adminbereich ändern - Bug behoben
Im Drucker-Fall enthält $::form die Drucker-id in $::form->{id} und dieclient-ID in $::form->{client}->{id}, beim init_client Code für den Fallmuß also erst auf id in $::form->{client}->{id} geprüft werden,ansonsten wird der Client mit der id des Druckers gesucht und nicht...
SEPA: bei Liste noch zu erledigender Rechnungen Skonto berücksichtigen
swiss: Datenbankupgrades verschoben
DBUpgrade: form komplett zurückspeichern
country_mode entfernt.
Flags sollten unabhängig funktionieren, ausserdem in das im adminbereich der hass.
Admin: create_dataset Änderungen für neue Eingenschaften
Erfolgsrechnung: von pos_eur auf pos_er gelegt.
Schweizer Modus
DefaultManager
Belege runden, und Rundungsdifferenzen auf Extrakonten buchen.
Erfolgsrechnung
Form: round_amount precision support
Typo: BUSINESSES statt BUSINESSS
Fehlende Dateien in Helper/ALL ergänzt
Lagerberichte auf shippingdate statt itime umgestellt
Die beiden Lagerberichte Lagerbestand und Lagerbuchungen prüfen aufitime statt auf shippingdate. Normalerweise sind diese beiden Datenidentisch (bis auf den Zeitanteil von itime), da man bei den meisten...
SelfTest: Bei overpaid auch invnumber ausgeben, zur besseren Analyse
Copy & Paste Fehler, bei Fehlertext SelfTest #11
Task-Server: Mandantenfähigkeit
Bei Kunden/Lieferanten Recht customer_vendor_all_edit prüfen 2
Nachschlag zu 826f6eb2b3e , das Wichtigste wurde vergessen.
Beim Öffnen / Verändern / Speichern von Kunden prüfen, ob Verkäufer mitBearbeiter übereinstimmt, wenn Benutzer nicht das Rechtcustomer_vendor_all_edit hat.
Merge branch 'master' of github.com:kivitendo/kivitendo-erp
Revert "retrieve_items in IR.pm bzgl. notes überarbeitet"
This reverts commit 8ce157d5872ae618bddee07147e0f902a3b3e31d.
Die DB-Aliase werden doch benötigt.
LXDebug: Prozess-ID des kivitendo-Prozesses ausgeben, nicht die des Parents
JavaScript-Plugin: auch als Filter einsetzen können
rose_auto_create_model.pl: --all behandelt auch auth-Tabellen
Csv-Import-Hintergrund-Job: Als Ergebnis einen Text zurückgeben, nicht das Job-Objekt.
Die implizite Rückgabe des Job-Objekts führte beim Speichern der Job-Historie zueinem DB-Fehler, der nichts mit dem Import zu tun hat.
Csv-Import-Controller: Fehlermeldung des Csv-Helper mit ausgeben.
Csv-Helper: Fehlermeldung, wenn Header nicht erkannt wird (Multiplex-Dateien).