Jan Büren [Tue, 2 Jan 2018 11:01:53 +0000 (12:01 +0100)]
Objektmethode date für GLTransaction
In gl gibt es nur gldate. Entsprechend wie bei invnumber
die auf reference in gl verweist date auf gldate gesetzt.
Verbessert das Verhalten wenn es bei Details auflisten in Projekten
verknüpfte Dialogbuchungen gibt.
Moritz Bunkus [Wed, 20 Dec 2017 10:13:20 +0000 (11:13 +0100)]
Versionsnummer nach Login wieder anzeigen
Templates, die von alten Controllern über
`$::form->parse_html_template` ausgegeben haben, verfügen nicht über
ein `FORM`-Objekt (siehe `Form::prepare_html_template`). Also die
Version außerhalb des Templates via `$::form->read_version` auslesen
und ans Template übergeben.
Sven Schöling [Tue, 19 Dec 2017 14:23:35 +0000 (15:23 +0100)]
Presenter: Sub-Presenter auf Funktional geändert
1. alle Sub-Presenter aus dem SL::Presenter Namespace geschmissen
2. Keine ungefragten @EXPORTs mehr, nur noch @EXPORT_OK
3. Alle Methoden sind auf Funktionen umgeschrieben (kein $self mehr)
4. Die benötigten Methoden von Sub-Presentern müssen jetzt direkt importiert
werden (betrifft vor allem SL::Presenter::EscapedText und SL::Presenter::Tag)
5. Da die Funktionen in Tag/Text/EscapedText recht häufig gebraucht werden,
exportieren die ihre Funktionen stattdessen nach SL::Presenter::Simple, und
die Proxies in SL::Template::Plugin::L und SL::Template::Plugin::P
dispatchen auf diesen Namespace statt auf SL::Presenter.
6. Die Sub-Namespaces sind in SL::Presenter::ALL registriert, und dort liegt
auch der Proxymechanismus um vom Objekt aus zu der Funktion zu dispatchen.
Das ist nur in SL::Template::Plugin::P registriert, nicht mehr in L.
7. Für Funktionen deren exportierter name mit Namespace präfixt war, gibt es
einen Alias angelegt der nicht exportiert wird.
Moritz Bunkus [Mon, 18 Dec 2017 12:07:28 +0000 (13:07 +0100)]
CSV-Import: Fix für reflexive Spaltennamen im Mapping
Wenn eine CSV-Datei für den Bank-Import z.B. die Spalten `currency`,
`amount`, `local_bank_number` enthalten, so schlug der Import aus
gleich zwei Gründen fehl, wenn in der CSV-Spaten-Zuordnung die Namen
alle auf sich selber abgebildet wurden, also `current` → `currency`,
`amount` → `amount` und `local_bank_number` → `local_bank_number`.
Es stellte sich heraus, dass beim Speichern der CSV-Spalten in der
Datenbank hier kivitendo gedacht hat, dass diese drei genannten
Spalten auch als Methoden auf den DB-Objekt aufrufbar wären.
Sind sie aber nicht.
Schuld war der Mechanismus, der anhand der vorhandenen
Spaltennamen-Zuordnungen (`$mapping`) und dem vorhandenen
Spaltenprofil (`$profile`) entschieden hat, welche Namen als Methoden
anzuerkennen.
Im konkreten Fall ist es so, dass es sowohl ein solches Mapping als
auch ein solches Profil gibt. In dem Fall darf aber ein Name, der zwar
als Mapping existiert, dessen gemappter Name aber im Profil nicht
existiert, auch nicht als Methodenname aufgefasst und in die `$specs`
aufgenommen werden. Statt dessen muss er als »unbekannte Spalte«
behandelt werden.
Die Funktion `_all_configs` liefert die Konfigurationen bereits
sortiert. Schlimmer ist, dass `sort_by` nicht numerisch sondern
alphabetisch sortiert, sodass `sortkey = 10` vor `sortkey = 2` kommt.
Moritz Bunkus [Fri, 15 Dec 2017 08:50:44 +0000 (09:50 +0100)]
DATEV: `input_check` für UStID an `formatter`+`valid_check` angepasst
Die Kombination aus `formatter`+`valid_check` kann UStIDs richtig
behandeln, die Leerzeichen enthalten. Daher muss der vorher laufende
`input_check` Leerzeichen ebenfalls ignorieren.
Weiterhin muss der `input_check` auch das gleiche Format erlauben, das
`valid_check` später auch erlaubt — bezogen auf verschiedene Formate
in verschiedenen Ländern. So enhält z.B. der `valid_check` eine
Ausnahme für die Schweiz, für die nur erforderlich ist, dass die UStID
mit `CH` beginnt. Der `input_check` hingegen hat weiterhin darauf
bestanden, dass dahinter zwischen fünf und 13 Wortzeichen kommen.
Bernd Bleßmann [Wed, 13 Dec 2017 15:49:58 +0000 (16:49 +0100)]
Mandantenkonfig: kleine HTML-Ungereimtheit behoben …
In form.html war ein Start-div-Tag. Das Ende dazu aber in _miscellaneous.html.
Damit musste _miscellaneous.html immer zuletzt in form.html processed werden,
was unnötig ist.
Das Ende-div-Tag jetzt aus _miscellaneous.html in form.html verschoben.
Bernd Bleßmann [Wed, 13 Dec 2017 15:35:07 +0000 (16:35 +0100)]
scripts/dbupgrade2_tool.pl: kein Kontrollfeld fürs Encoding erzeugen
Es wird nur utf8 unterstützt. Das Encoding-Kontrollfeld ist kein gültiges Feld
mehr in den Upgrade-Dateien. Deshalb wird es nicht mehr erzeugt und das Encoding
kann auch nicht mehr als Parameter mitgegeben werden.
Bernd Bleßmann [Fri, 8 Dec 2017 11:03:07 +0000 (12:03 +0100)]
io.pl: qty und sellprice nicht validieren
Hintergrund: in kivi.Validator.js werden als "number" zu validierende Elemente
neu formatiert, hier gibt es aber keine Möglichkeit, die Anzahl der
Nachkommastellen zu übergeben.
Beim Drucken von Belegen wurde so z.B. bei einem freien Verkaufspreis die
Nachkommastellen abgeschnitten, wenn sie Null waren (3 statt 3,00).
Bis es eine Möglichkeit gibt, die Anzahl der Nachkommastellen an den Validator
zu übegeben, ist das ein Hotfix für redime #331. refs #331
Jan Büren [Wed, 6 Dec 2017 08:22:15 +0000 (09:22 +0100)]
hidden für Ausdruck von offenen Forderungen
Offenen Forderungen können gesammelt ausgedruckt werden,
für die ältere Variante Filter nach Rechnungsdatum muss das fromdate
auch für als hidden noch im template definiert sein.
Jan Büren [Wed, 6 Dec 2017 08:02:08 +0000 (09:02 +0100)]
Kein Webdav-Datei für statement.tex anlegen
Fix für alte PDF-Archivierungsfunktion im WebDAV.
Falls PDF-Archivierung für WebDAV aktiviert ist,
kann die Liste der offenen Forderungen / Verbindlichkeiten
nicht gedruckt werden. Die eigentlich Fehlermeldung (no path for type)
wird durch das aktuelle Model auch unterdrückt und es kommt nur
ein unsinniges Template not found at Layout/Top.pm line 20.
Werner Hahn [Tue, 5 Dec 2017 14:16:52 +0000 (15:16 +0100)]
Dokumentation Einrichten postgres als DatenbankSuperUser um
Updatescripte mit Superuserrechten installieren zu können. Betrifft
bisher die Trigram Erweiterung
Jan Büren [Mon, 4 Dec 2017 13:53:35 +0000 (14:53 +0100)]
(höchstwahrscheinlich) Fix für #324
Da im alten Format alles im Soll gebucht wurde, ist dies
für den CSV-Export einfach als Konstante zu sehen.
Dafür spricht zusätzlich das der default-Wert der DATEV
auf 'S' steht, der wäre dann auch abwärtskompatibel zur KNE-Spezifikation.
Jan Büren [Mon, 4 Dec 2017 09:45:16 +0000 (10:45 +0100)]
Kontenabgleich mit Bank: Fehlermeldungen auch dem Benutzer mitteilen
Falls der Knopf abgleichen nicht erscheint, gibt es schon
eine Vielzahl an sinnvoller Benutzer-Rückmeldung, die aber einfach
nicht im Template angezeigt wurde.
Jan Büren [Sat, 25 Nov 2017 17:53:26 +0000 (18:53 +0100)]
Erzeugnis erfassen - orphaned richtig auswerten
An _assembly_row.html wird orphaned direkt als
Wert übergeben und nicht über SELF.orphaned.
Ermöglicht (wieder) das initiale Erfassen von
Erzeugnissen ohne das Zusatz-Recht assembly_edit
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