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).
Rose-Schema für fbf7532 aktualisiert
Mea culpa :)
Typos in Doku
Form: parse_html_template: AUTH_RIGHTS_ syntax entfernt
AUTH.assert im template benutzen bitte.
Form: parse_html_template: DEBUG_ syntax entfernt
Hat auf lx_office_config.debug.options getriggert. Undokumentiert undnicht genutzt -> raus damit.
Form: parse_html_template - myconfig_jsc syntax entfernt
Form: parse_html_template: myconfig. Syntax entfernt
Form: parse_html_template: myconfig_ syntax entfernt
Form: parse_html_template lobals analog zu Presenter::render
jetzt auch in Form verfügbar:
- AUTH- LOCALE- LXCONFIG- LXDEBUG- MYCONFIG
Form: parse_html_template - DEBUG handling entfernt
olles legacy zeug, weg damit
Bei Kunden/Lieferanten Recht customer_vendor_all_edit prüfen
Wenn man das Recht hat, nur eigene Kunden/Lieferanten (wo man selber derVerkäufer ist) zu bearbeiten:Bisher war es noch möglich Kunden und Lieferanten zu öffnen und zubearbeiten, wenn man die Datenbank-ID kannte. Jetzt wird nach dem Laden...
Customerpicker berücksichtigt Recht customer_vendor_all_edit
Wenn man nicht das Recht hat, alle Kunden / Lieferanten anzuzeigen / zubearbeiten, dann sollen die auch nicht vom Picker auswählbar / anzeigbarsein. Im neuen Ordercontroller mit Picker kann man dann auch nur die...
FinancialControllingReport - sales_all_edit berücksichtigen
Wenn der Bearbeiter nur die eigenen Belege sehen soll, bzw. die Belege,wo er als Verkäufer eingetragen ist, also das Recht "sales_all_edit" nicht hat, dann sollen auch die angezeigten Aufträge im...
PriceSource: Doku Update
Locale::parse_date_to_object: "yesterday" und "today" als Angaben unterstützen
Kosmetik
FlattenToForm: item_ids berücksichtigen.
FlattenToForm: Preis- und Rabatt-Quellen berücksichtigen.
convert_to_delivery_order um record_links auf item-Ebene erweitert
Bisher wurden nur die Belege verknüpft und nicht die einzelnenItems. Analoge Implementierung wie bei convert_to_invoice.Sinnvoll wäre ein Auslagern, dieser "zu ähnlichen" Verfahren in beiden...
io/select_item um optional part.notes erweitert
Standard: Konfigurierbar in Mandatenkonfiguration. Entsprechend Flagfür parse_template usw.Einziger nicht optionaler Punkt: p.notes wird zusätzlich als Column inretrieve_items geholt, kann ggf. auch noch optional geholt werden
retrieve_items in IR.pm bzgl. notes überarbeitet
notes wurde mit verschiedenen Aliasen (longdescription, partnotes)geholt. In IS.pm sind diese Einträge nicht vorhanden. Die IR->retrieve_itemwird auf den ersten Blick auch nur für die $form->{item_list} verwendet,...
Abteilungsname für DATEV-Checks bei Einkaufsrechnungen setzen
If we filter DATEV transaction via department we need also a name for export.At least if we have DATEV checks activated and force a valid department inDATEV filter (currently customer extension)
Einlagern: Bei einem Fehler die eingebenen Werte in der Maske wieder herstellen
Zwei Dinge:Zum einen einen $::form->error abfangen und Fehler auch mit flash ausgeben,wenn das Speichern der Lagerbewegung fehl schlägt (passiert z.B. wenn man einfalsches Datumsformat beim Mindesthaltbarkeitsdatum eingibt)....
indentations