Jan Büren [Thu, 9 Nov 2017 08:54:46 +0000 (09:54 +0100)]
DATEV: Saubere Objektmethoden für CSV.pm implementiert
PODs ergänzt.
Hintergrund: Sehr klare Ideen von Sven implementiert, sprengt den
Rahmen der Commit-Message, Details siehe Doku in redmine
http://redmine.kivitendo-premium.de/documents/18
Jan Büren [Thu, 9 Nov 2017 06:32:57 +0000 (07:32 +0100)]
DATEV::CSV safer order of libs
Jan Büren [Thu, 9 Nov 2017 06:28:30 +0000 (07:28 +0100)]
Locale.pm POD typo
Jan Büren [Thu, 9 Nov 2017 06:24:26 +0000 (07:24 +0100)]
DATEV: Kosmetik. Einrückungen sauber gesetzt
Jan Büren [Thu, 9 Nov 2017 06:19:58 +0000 (07:19 +0100)]
DATEV: Tests strikter gemacht s/cmp_bag/cmp_deeply/gc
Jan Büren [Wed, 8 Nov 2017 16:33:18 +0000 (17:33 +0100)]
DATEV::CSV Bessere wartbarer Aufruf für _format_amount
Bernd Bleßmann [Wed, 8 Nov 2017 16:09:36 +0000 (17:09 +0100)]
Auftrags-Controller: Fehler beim Speichern im Dateimanagement abfangen und anzeigen
Jan Büren [Wed, 8 Nov 2017 09:01:52 +0000 (10:01 +0100)]
DATEV undef values warnings optimiert
Die Mandateninformationsdaten müssen nicht zwingend für
den DATEV-Export gefüllt sein. Für die Testfälle sind
diese auch nicht gefüllt. Entsprechend optimiert.
Jan Büren [Wed, 8 Nov 2017 08:36:33 +0000 (09:36 +0100)]
DATEV: Unsaubere if-Bedingung optimiert
+ Kosmetik
Jan Büren [Tue, 7 Nov 2017 09:46:28 +0000 (10:46 +0100)]
Fix POD-Syntax
Jan Büren [Tue, 7 Nov 2017 09:31:43 +0000 (10:31 +0100)]
locales lauf für neue DATEV Warnungen, usw.
Jan Büren [Tue, 7 Nov 2017 09:29:01 +0000 (10:29 +0100)]
DATEV CSV-Export an der Oberfläche als neue Option anzeigen
Jan Büren [Tue, 7 Nov 2017 09:27:01 +0000 (10:27 +0100)]
DATEV/CSV.pm Testfälle für aktuelle Überarbeitung angepasst
Ungültiges Encoding wirft jetzt hart einen Fehler
Keine undef-Werte mehr in der Datenstruktur
Unsinninge Iconvs und Encodes erstmal entfernt
Jan Büren [Tue, 7 Nov 2017 09:24:15 +0000 (10:24 +0100)]
Weitere Überarbeitung DATEV/CSV.pm
Default-Werte falls definiert in datev_csv gesetzt.
Pflichtfelder markiert
Kern-Algorithmus klarer definiert (Hinweise von Sven)
- Formatierung in Array pro Feldwert ausgelagert
- Eingangs-Werte prüfen (input_check)
- Logikstruktur klarer (kein unless nach if-bedingung)
Jan Büren [Thu, 2 Nov 2017 11:51:04 +0000 (12:51 +0100)]
DATEV: Nummernkreislänge muss konstant sein.
Entsprechende Prüfung am Anfang des Exports
Jan Büren [Thu, 2 Nov 2017 11:50:00 +0000 (12:50 +0100)]
DATEV: Warnungen as DATEV::CSV auch weiterreichen
Jan Büren [Thu, 2 Nov 2017 09:44:16 +0000 (10:44 +0100)]
DATEV: csv_buchungsexport nach DATEV::CSV.pm ausgelagert
Testfälle angepasst. POD angepasst.
Details:
DATEV.pm
- Klassenvariable locked hinzugefügt.
- Aufruf der CSV-Klasse anstatt der internen Methode
CSV.pm
- Konstruktor wie in DATEV.pm ergänzt und um minimale
Pflichtfeldprüfung ergänzt.
- datetofour durch SL::Helper::DateTime ersetzt
- Helper _format_amount auch aufrufen
- Routinen umbenannt (pseudoprivat mit Unterstrich)
- Prüfung auf locked als perlish boolean
- _csv_buchungsexport um zweiten return array_ref mit warnungen ergänzt
t/datev/*
- Testfälle enstprechend dem neuen API-Call umgeschrieben
- Einen Testfall zur Überprüfung von keiner Warnung ergänzt
Moritz Bunkus [Tue, 7 Nov 2017 08:57:08 +0000 (09:57 +0100)]
HTML- und PDF-Dokumentation neu erzeugt
Moritz Bunkus [Tue, 7 Nov 2017 07:57:57 +0000 (08:57 +0100)]
Merge pull request #15 from chrisdecker1201/master
exclude alpha version in xml-doku
Christian Decker [Mon, 6 Nov 2017 16:09:22 +0000 (17:09 +0100)]
change explanation
Christian Decker [Sat, 4 Nov 2017 15:55:02 +0000 (16:55 +0100)]
exclude alpha version in xml-doku
Bernd Bleßmann [Fri, 27 Oct 2017 14:01:32 +0000 (16:01 +0200)]
Bericht Lagerbuchungen: Richtige ids verwenden zur Anzeige des Dokuments
Beim Lagern über Lieferscheine steht die delivery_orders.id in inventory.oe_id
und beim Lagern über Rechnungen steht die invoice.id in inventory.invoice_id.
Lagern aus anderen Dokumenten als Lieferschein oder Rechnung gibt es nicht.
Jan Büren [Mon, 30 Oct 2017 16:12:07 +0000 (17:12 +0100)]
DATEV-Tests auch sauber für perl 5.22
Jan Büren [Fri, 27 Oct 2017 14:01:24 +0000 (16:01 +0200)]
vergessen für c4409b: Filter nach Namen für Buchungsvorlagen
Ohne die Funktion 'filter_templates' in RecordTemplate.js macht
ein Aufruf dieser aus template/record_template/dialog.html gar
keinen Sinn.
Jan Büren [Fri, 27 Oct 2017 13:52:05 +0000 (15:52 +0200)]
Erzeugnis nach Fertigen editieren -> Recht in template ausgelagert
Vorher buggy und konzeptionell schlecht, da keine Unterscheidung
von orphaned zu 'darf doch nach fertigen editierbar sein' möglich war.
Ferner auch keine Differenzierung zum Sortiment möglich.
Mit diesem Commit ist verwaist wieder verwaist und das zusätzliche
Aushebeln des Schreibschutz beim Erzeugnis sauber nur über das Recht definiert.
Jan Büren [Tue, 24 Oct 2017 06:13:01 +0000 (08:13 +0200)]
DATEV::CSV Parameterübergabe sauber vereinheitlicht. Helper format_amount
Jan Büren [Thu, 19 Oct 2017 10:00:16 +0000 (12:00 +0200)]
DATEV-Struktur params und lib
Moritz Bunkus [Fri, 27 Oct 2017 11:26:56 +0000 (13:26 +0200)]
unbenutzte HTML-Vorlage entfernt
Moritz Bunkus [Fri, 27 Oct 2017 10:38:33 +0000 (12:38 +0200)]
Konten: Berichtskonfigurationsübersicht
Listet für die Berichte EÜR, BWA, Bilanz und Erfolgsrechnung alle
Konten gruppiert nach ihrer Position im Bericht auf.
Martin Helmling martin.helmling@octosoft.eu [Fri, 27 Oct 2017 09:17:29 +0000 (11:17 +0200)]
Dateianhang umbenennen funktioniert nicht.
Der Umbau von Mosu im commit
c60cb1f08f fixed das mehrfache Aufrufen eines Tabs,
der replace_dialog wird aber sowohl vom "documents" Tab als auch vom "attachment" Tab verwendet,
und ist somit zweimal vorhanden. Das Umbenennen funktioniert somit nur einmal,
dann muss ein reload gemacht werden.
Jetzt haben die Dialoge unterschiedliche Id Namen per suffix _attachment oder _document
Sven Schöling [Thu, 26 Oct 2017 13:00:16 +0000 (15:00 +0200)]
kivi.js: Und den wirren "00" Sonderfall auch wiederhergestellt
Sven Schöling [Thu, 26 Oct 2017 09:25:44 +0000 (11:25 +0200)]
kivi.js: parse_date füllt fehlende Werte aus aktuellem Datum auf
. -> heute
.. -> heute
..2016 -> heutiger Tag im Jahr 20016
Moritz Bunkus [Thu, 26 Oct 2017 08:36:46 +0000 (10:36 +0200)]
ActionBar: Verwendung bei Hinzufügen-zu-Beleg-Artikel-Auswahlliste
Sven Schöling [Wed, 18 Oct 2017 11:54:13 +0000 (13:54 +0200)]
kivi.Validator: Jahreszahlen mit mehr als 4 Stellen ablehnen
Das ist in der Praxis mehrfach vorgekommen. Ja, theoretisch ist der
18.10.20017 ein korrektes Datum. In der Praxis ist es zu 100% ein
Vertipper.
Sven Schöling [Wed, 18 Oct 2017 11:53:40 +0000 (13:53 +0200)]
kivi.Validator: Spezialbehandlung von 0 für heute wieder hergestellt
Sven Schöling [Wed, 18 Oct 2017 11:52:31 +0000 (13:52 +0200)]
kivi.Validator: Tests auf strikteres parse_date geändert
Sven Schöling [Wed, 18 Oct 2017 11:50:58 +0000 (13:50 +0200)]
kivi.Validator: Tests auf strikteres parse_amount geändert
Moritz Bunkus [Wed, 18 Oct 2017 09:06:11 +0000 (11:06 +0200)]
console: Fix für Entfernen von . aus @INC
Sven Schöling [Tue, 17 Oct 2017 12:39:53 +0000 (14:39 +0200)]
Tests: Fix für String-Evaluation-Änderung in Perl 5.26 Teil 2
Sven Schöling [Tue, 17 Oct 2017 12:38:45 +0000 (14:38 +0200)]
Test für "$foo::$bar" Parsingunterschiede
Seieh https://rt.perl.org/Public/Bug/Display.html?id=128478
Moritz Bunkus [Tue, 17 Oct 2017 11:22:06 +0000 (13:22 +0200)]
Rose-Models erzeugen: Auth-Objekt erst resetten, wenn Auth-Schema angelegt
Wenn `--test-client` benutzt wird und die Datenbank bereits existiert,
so wird sie zuerst gedropt und anschließend neu angelegt. Wenn direkt
nach dem Droppen `$::auth->reset` aufgerufen wird, so versucht
`$::auth` aber, die Tabellen- und Spalteninformationen für die
Datenbank auszulesen, was mit einem gerade geschlossenen DB-Handle
versucht wird.
Also die Struktur später neu einlesen.
Moritz Bunkus [Tue, 17 Oct 2017 11:16:46 +0000 (13:16 +0200)]
Tests: Fix für String-Evaluation-Änderung in Perl 5.26
Vorher wurde "$a::$b" als "${a}::${b}" gewertet. Nun wird das aber als
"${a::}${b}" gewertet.
Moritz Bunkus [Tue, 17 Oct 2017 11:01:23 +0000 (13:01 +0200)]
Installation-Check: nicht benutztes Perl::Tags entfernt
Moritz Bunkus [Tue, 17 Oct 2017 09:18:40 +0000 (11:18 +0200)]
POD-Fehler fixen
Sven Schöling [Fri, 13 Oct 2017 16:59:43 +0000 (18:59 +0200)]
kivi.Validator: In AP Suche und Maske als check registriert
Sven Schöling [Fri, 13 Oct 2017 16:57:11 +0000 (18:57 +0200)]
kivi.Validator: In AR Suche und Maske als check registriert
Sven Schöling [Fri, 13 Oct 2017 16:52:18 +0000 (18:52 +0200)]
kivi.Validator: In IR Maske als check registriert
Sven Schöling [Fri, 13 Oct 2017 16:36:48 +0000 (18:36 +0200)]
kivi.Validator: In IS Maske als check registriert
Sven Schöling [Fri, 13 Oct 2017 16:32:41 +0000 (18:32 +0200)]
kivi.Validator: In DO Suche und Normaler Maske als check registriert
Sven Schöling [Fri, 13 Oct 2017 16:19:00 +0000 (18:19 +0200)]
kivi.Validator: Leere Checks ignorieren
Ermöglicht so etwas in templates:
L.some_tag(....,
"data-validate"=INSTANCE_CONF.get_some_value) ? "required" : ""
)
Sven Schöling [Fri, 13 Oct 2017 16:18:05 +0000 (18:18 +0200)]
kivi.Validator: In OE Suche und Normaler Maske als check registriert
Sven Schöling [Fri, 13 Oct 2017 16:17:07 +0000 (18:17 +0200)]
kivi.Validator: validate_all muss Ergebnis auch zurückgeben
Sven Schöling [Fri, 13 Oct 2017 15:17:25 +0000 (17:17 +0200)]
kivi.Validator: Syntaxfehler
Sven Schöling [Fri, 13 Oct 2017 13:45:05 +0000 (15:45 +0200)]
kivi.Validator: Bei validate_all das erste fehlschlagende Element fokussieren
Sven Schöling [Fri, 13 Oct 2017 13:35:01 +0000 (15:35 +0200)]
kivi.Validator: Validaotr in restlichen Belegcontrollern eingebunden
Sven Schöling [Fri, 13 Oct 2017 13:32:53 +0000 (15:32 +0200)]
kivi.Validator: css Klassen für invalid Inputs
Sven Schöling [Fri, 13 Oct 2017 13:32:25 +0000 (15:32 +0200)]
kivi.Validator: check_right_[number|date]_format entfernt
Sven Schöling [Fri, 13 Oct 2017 13:31:38 +0000 (15:31 +0200)]
kivi.Validator: display_row: qty und sellprice als Nummerninputs geflaggt
Sven Schöling [Fri, 13 Oct 2017 13:30:56 +0000 (15:30 +0200)]
kivi.Validator: check_right_*_format in display_row auf Validator geändert
Sven Schöling [Fri, 13 Oct 2017 13:29:04 +0000 (15:29 +0200)]
kivi.Validator: In Controller eingebunden, die validate_form benutzen
... alle die auf "ack validate_form" in SL/Controller matchen
Sven Schöling [Fri, 13 Oct 2017 13:28:39 +0000 (15:28 +0200)]
kivi.Validator: date_tag angepasst und input_number_tag eingeführt
Sven Schöling [Fri, 13 Oct 2017 13:27:35 +0000 (15:27 +0200)]
kivi.Validator: explizites check_right_*_format auf Validator umgestellt
Sven Schöling [Fri, 13 Oct 2017 13:24:28 +0000 (15:24 +0200)]
kivi.Validator
Sven Schöling [Fri, 13 Oct 2017 13:20:56 +0000 (15:20 +0200)]
kivi.js: parse_amount darf "00" nicht ablehnen.
Sven Schöling [Fri, 13 Oct 2017 11:41:04 +0000 (13:41 +0200)]
kivi.js: parse_amount und parse_date quirks
- Parsing von 1,2,4,6,8-stelligen Daten ohne Separator
- Parsing von yyyy-mm-dd Format ohne Separator
- Parsing von 0-Präfixen bei Zahlen
Sven Schöling [Thu, 12 Oct 2017 13:55:35 +0000 (15:55 +0200)]
setupPoints und setupDateFormat entfernt
Sven Schöling [Thu, 12 Oct 2017 13:54:27 +0000 (15:54 +0200)]
js/common.js: show_alert_and_focus auf annotate umgeschrieben
Sven Schöling [Thu, 12 Oct 2017 13:48:10 +0000 (15:48 +0200)]
common.js: getDateArray und validate_dates entfernt
Die sind seit 2007 unbenutzt
Moritz Bunkus [Thu, 12 Oct 2017 12:59:05 +0000 (14:59 +0200)]
Datenbank anlegen: Super-User-Rechte abfragen, sofern nötig
Moritz Bunkus [Thu, 12 Oct 2017 12:47:49 +0000 (14:47 +0200)]
Admin: bei Fehler in DB-Lösch-Maske die richtige Maske erneut anzeigen
Sven Schöling [Tue, 10 Oct 2017 14:21:37 +0000 (16:21 +0200)]
Part/Customer Picker: Bei Enter auf geändertem Text default verhindern
Martin Helmling martin.helmling@octosoft.eu [Sat, 30 Sep 2017 13:24:27 +0000 (15:24 +0200)]
Dateimanagment: itime/mtime in DB kann gesetzt werden, mtime kann in Filesystem-Backend gesetzt werden
Wird benötigt falls man bestehende Dateien übernehmen will
Martin Helmling martin.helmling@octosoft.eu [Sat, 30 Sep 2017 11:59:08 +0000 (13:59 +0200)]
Dateimanagement: lokalisiertes Datum in Darstellung
Martin Helmling martin.helmling@octosoft.eu [Fri, 29 Sep 2017 12:50:25 +0000 (14:50 +0200)]
Dateimanagement: Checkbox zum Löschen/Umbenennen fehlt teilweise bei ERP-Dokumenten
Umgebaut, damit jede einzelne Version eines Dokumentes löschbar ist
fix #51
Martin Helmling martin.helmling@octosoft.eu [Thu, 28 Sep 2017 05:41:29 +0000 (07:41 +0200)]
Dateimanagement: Stammdaten: DOM-Elemente bei multiples Tab-Aufrufen nicht duplizieren(2): weitere Stelle
siehe
69e526ee5
Sven Schöling [Tue, 10 Oct 2017 12:22:52 +0000 (14:22 +0200)]
Warnings
Sven Schöling [Tue, 10 Oct 2017 10:31:52 +0000 (12:31 +0200)]
Menu: Order Einträge automatisch Ergänzen, damit Sortierung stabil ist.
Sven Schöling [Tue, 10 Oct 2017 10:31:00 +0000 (12:31 +0200)]
Menu: id für MT940 Export Eintrag
Sven Schöling [Tue, 10 Oct 2017 10:30:07 +0000 (12:30 +0200)]
Menu: Keine nodes mehr ohne id erlauben.
Dir werden während des erstellens der Baumstruktur nach id indiziert,
und so gibt das potentielle Kollisionen
Moritz Bunkus [Tue, 10 Oct 2017 10:30:51 +0000 (12:30 +0200)]
Dokumentation: Info zu Super-User-Rechten bei Test-Suite ergänzt
Moritz Bunkus [Tue, 10 Oct 2017 10:30:23 +0000 (12:30 +0200)]
Dokumentation: Info zu manuellem Anlegen der Trigramm-Erweiterung entfernt
Moritz Bunkus [Tue, 10 Oct 2017 09:46:54 +0000 (11:46 +0200)]
Tests: Eigene Verbindungsdaten für DB-Upgrades mit Super-User-Rechten
Wenn der Benutzer, der in der Konfiguration mit `user` & `password`
angegeben ist, keine Super-User-Rechte hat, so kann ein weiterer
Account dafür mit `superuser_user` & `superuser_password` angegeben
werden. Nur diejenigen Datenbankuprade-Scripte, die über den Tag
`@superuser_privileges` signalisieren, dass sie Super-User-Rechte
benötigen, werden auch wirklich mit Super-User-Rechten ausgeführt.
Moritz Bunkus [Tue, 10 Oct 2017 09:22:57 +0000 (11:22 +0200)]
Trigramm-Erweiterung installieren & Trigramm-Indizes anlegen
Moritz Bunkus [Tue, 10 Oct 2017 09:19:48 +0000 (11:19 +0200)]
Datenbankupgrades: Unterstützung für einzelne Updates mit Superuser-Rechten
Setzt man den neuen Tag `@superuser_privileges` auf 1, so schaut
kivitendo vor dem Einspielen aller Upgrades nach, ob der konfigurierte
Datenbankuser Superuser-Rechte hat. Falls nicht, wird die Benutzer*in
nach entsprechenden Logindaten gefragt.
Nur die Upgradescripte, die tatsächlich Superuser-Rechte benötigen,
werden mit diesem User ausgeführt, alle anderen mit den normalen
Rechten, um Besitzer-Wildwuchs bei neu angelegten Objekten zu
vermeiden.
Moritz Bunkus [Tue, 10 Oct 2017 08:01:48 +0000 (10:01 +0200)]
SL::DBUpgrade2: unbenutzte Funktion `update2_available` entfernen
Moritz Bunkus [Tue, 10 Oct 2017 07:59:09 +0000 (09:59 +0200)]
Datenbankupgrades: unbekannte Control-Felder als Fehler werten
Moritz Bunkus [Tue, 10 Oct 2017 07:37:16 +0000 (09:37 +0200)]
Übersetzungen: Umlaute nicht als HTML-Entitäten schreiben
Sven Schöling [Tue, 10 Oct 2017 09:12:11 +0000 (11:12 +0200)]
Warnings: PTC - lastcost kann undefined sein
Sven Schöling [Tue, 10 Oct 2017 09:11:32 +0000 (11:11 +0200)]
t/ship/ship_order.t: Fake STDOUT muss schreibbar sein.
Sven Schöling [Tue, 10 Oct 2017 09:11:15 +0000 (11:11 +0200)]
SL::DB::ShopOrder: Warnings
Jan Büren [Sun, 8 Oct 2017 16:34:16 +0000 (18:34 +0200)]
Wiederkehrende Rechnungen: Einmalige Rechnungen auch nur einmalig ausführen
Die kleinste Periode die calculate_dates verwendet ist monatlich.
Falls eine einmalige Rechnungen ein Startdatum älter als einen
Monat besitzt, werden mehrere Rechnungen erzeugt.
Sinnvoller ist es, dass die foreach @dates Schleife bei der
Prüfung auf Einmaligkeit auch direkt beendet wird (last).
Ferner Debug und typo
Sven Schöling [Fri, 6 Oct 2017 11:45:56 +0000 (13:45 +0200)]
is: kivi.CustomerVendor.js korrekt einbinden
Jan Büren [Thu, 5 Oct 2017 13:09:03 +0000 (15:09 +0200)]
Vorbelegte E-Mail-Texte um Vorbelegung periodic invoices ergänzt
G. Richardson [Wed, 4 Oct 2017 08:00:58 +0000 (10:00 +0200)]
PartsGroup - Rose relationship für parts
G. Richardson [Wed, 4 Oct 2017 08:00:35 +0000 (10:00 +0200)]
Business - Rose relationships customers und vendors
Jan Büren [Mon, 2 Oct 2017 12:16:00 +0000 (14:16 +0200)]
Bessere Rückmeldung für Personenkonten-Export DATEV
Damit dem Anwender bewußt wird, dass es diese Funktion gibt
ist es sinnvoller die anzuzeigen und auszugrauen mit dem
Hinweis, dass die Kunden- und Lieferantennummernkreise nicht
der DATEV Personenkonto Spezifikation (Sachkontenlänge + 1)
entsprechen.
G. Richardson [Mon, 2 Oct 2017 07:10:30 +0000 (09:10 +0200)]
DATEV Export: invoices.t generate_datev_lines mit Encode::decode prüfen
G. Richardson [Mon, 2 Oct 2017 06:58:21 +0000 (08:58 +0200)]
DATEV-Export: Testfall invoices.t erweitert
* Prüfung von Personenkontenerweiterung (use_vk)
* Test um Einkaufsrechnung erweitert
G. Richardson [Mon, 2 Oct 2017 08:37:03 +0000 (10:37 +0200)]
DATEV-Export: Personenkontenoption nur anzeigen wenn Konten passen
Die Option "als Personenkonten exportieren" wird nur angezeigt, wenn
alle Kunden- und Lieferantennummern in das DATEV-Kontonummerschema
passen. Anhaken muß man die Checkbox allerdings trotzdem noch.
Besser wäre eine zentrale Konfiguration "DATEV-Export mit Personenkonten
exportieren" die dann auch beim Speichern/Anlegen von Konten immer
prüft, ob das Kontenschema eingehalten wird.
G. Richardson [Mon, 2 Oct 2017 06:54:16 +0000 (08:54 +0200)]
DATEV-Export: Option "als Personenkonten exportieren"
statt der Sammelkontonummer wird beim Export immer die Kunden- bzw.
Lieferantennummer exportiert. Es wird noch nicht auf eine gültige
Kontonummer (z.B. 10000-69999 und 70000-99999) geprüft.