Jan Büren [Tue, 26 Sep 2017 06:39:25 +0000 (08:39 +0200)]
Dialogbuchungsvorlagen um 'Details anzeigen' erweitert
Hintergrund:
Beleg und Memo werden auch bei den Vorlagen zeilenweise mitgespeichert,
wenn diese aber nicht visuell beim Laden der Vorlage zu Verfügung stehen,
vergißt der Anwender die Werte zu ändern. -> Details anzeigen mitübergeben
Jan Büren [Mon, 25 Sep 2017 11:07:04 +0000 (13:07 +0200)]
DATEV-Export: Feldprüfung als Warnungen ausgeben
Anstatt hart auszusteigen (die), erhält der Anwender jetzt eine
Übersicht der fehlerhaften Feldwerte mit einem Minimum an
Zusatz-Info (Umsatz der Transaktion). Entsprechend den
Test-Fall angepasst.
Moritz Bunkus [Thu, 14 Sep 2017 13:45:07 +0000 (15:45 +0200)]
common/flash.html via INCLUDE und nicht PROCESS einbinden
flash.html überschreibt mehrere Variablen mit eigenen Werten: `title`,
`type` und `messages`. Wird das Template also mit `PROCESS`
eingebunden, so findet keine Lokalisierung statt, und die Werte aus
`flash.html` gelten dann plötzlich auch für das Template, das
`flash.html` eingebunden hat.
Moritz Bunkus [Wed, 13 Sep 2017 14:08:33 +0000 (16:08 +0200)]
Historien-Popup: nur definierte Parameter an URL übergeben
Nicht definierte Werte werden von `encodeURIComponent` stringifiziert,
sodass z.B. `what_done=undefined&…` in der URL steht, wonach
Perl-seitig dann gefiltert wird und keine Ergebnisse mehr liefert.
Eine Filter-Option schließt sich für ar/gl aus und die
Annahme, dass es auch Vorlagen zum Kreditor gibt, wenn wir eine
IBAN-Übereinstimmung haben ist auch zu kurz gegriffen,
geprüft wird jetzt IBAN + Vorlage
Moritz Bunkus [Thu, 7 Sep 2017 09:43:52 +0000 (11:43 +0200)]
Artikelstammdaten: kein Redirect auf »neuen Artikel anlegen«
Kommt man aus der Artikelsuche oder legt man einen neuen Artikel an,
so wird beim Speichern nun kein Redirect mehr auf die Suchliste
bzw. die Maske zum Neuanlegen eines Artikels gemacht, sondern auf die
Bearbeiten-Maske des Artikels, der gerade bearbeitet bzw. angelegt
wurde. Man bleibt also sozusagen im Artikel, den man gerade in der
Hand hatte.
Existierende Callbacks werden weiterhin honoriert, sprich kommt man
aus anderen Masken, so kommt man beim Speichern auch in die andere
Maske zurück.
Moritz Bunkus [Thu, 7 Sep 2017 09:24:00 +0000 (11:24 +0200)]
Admin: anständige Fehlermeldung in Druckerverwaltung, wenn kein Mandant
Es gibt eine Prüfung, ob es Mandanten gibt, und falls nicht, so wird
eine entsprechende Fehlermeldung ausgegeben. Die kann aber nicht
erreicht werden, wenn vorher versucht wird, mit `$self->client->id`
auf ein nicht definiertes Objekt zuzugreifen.
Moritz Bunkus [Wed, 6 Sep 2017 13:49:52 +0000 (15:49 +0200)]
Bankimport: CSV- und MT940-Menüpunkte in Untermenü in »Zahlungsverkehr«
Menüpunkte zu ähnlicher Funktionalität sollten auch räumlich nahe
beieinander sein. In diesem Fall gewinnt das Thema »Kontoauszüge«
gegenüber dem Thema »CSV-Import«, da der Arbeitsfluss, der gerade
erledigt werden soll, komplett im Menü »Zahlungsverkehr« zu finden
ist, und nicht im Menü »System«.
Sven Schöling [Tue, 5 Sep 2017 08:30:21 +0000 (10:30 +0200)]
CKEditor: Fixes für texteditor in popup_dialog
- data field kanonisch auf data('ckeditorInstance') geändert
- jQuery style $.ckeditor hooks auf editor.on('loaded') geändert, der
Adapter unterstützt kein inline
- mehrfachinitialisierung unterbunden
- selectall und focus Funktionalität in zwei Funktionen getrennt
- focus auf die API Methode .focus() umgestellt
FileManagement: Konsistenzprüfung zwischen Backend und Datenbank, hier Backend Filesystem
Das script 'scripts/sync_files_from_backend.pl' prüft, ob die Dateien im Backend noch vorhanden sind.
Dabei wird nach der aktuellsten Version gesucht, ist diese vorhanden ist ok,
ist diese nicht vorhanden werden die Versionen davor gesucht und ggf. die Version in der DB heruntergesetzt.
Ist keine Dateimehr vorhanden wird der Datenbankrecord gelöscht.
Sven Schöling [Thu, 31 Aug 2017 14:39:43 +0000 (16:39 +0200)]
CKEditor: Styleanpassungen für kivi Integration
- <textarea> Rahmen, hover, active Effekte auch für den Inline Editor
- padding in der Toolbar reduziert, so dass das bei normalem Spacing
so groß ist wie das Element dadrüber. Ähnlich dem inline button
Styling.
Sven Schöling [Thu, 31 Aug 2017 14:30:57 +0000 (16:30 +0200)]
CKEditor: config Hack bei inline initialisierung
Aus irgendeinem Grund ignoriert der Inline Modus sämtliche
Dimensionsangaben in der Konfiguration, und zwar dokumentiert. Das sorgt
aber im textarea Modus dafür, dass das erzeugte Editor <div> völlig
falsch dimensioniert ist, und nachträglich angepasst werden muss. Die
CKEDITOR.editor.prototype.resize funktioniert dafür auch nicht.
Nachträglich machen sorgt für optische Unruhe.
Dieser Hack fügt im minified Code in der Datei core/creators/inline.js
im Konstruktor die folgenden Anweisungen ein:
if (config.width)
element.setStyle('width', CKEDITOR.tools.cssLength(config.width));
if (config.height)
element.setStyle('height', CKEDITOR.tools.cssLength(config.height));
Moritz Bunkus [Thu, 31 Aug 2017 11:46:34 +0000 (13:46 +0200)]
AreaInputTag: kleines Icon neben Input zum Umschalten auf Textarea
In Masken, in denen es keinen »Erneuern«-Button gab (neuer
Artikelcontroller), hatten die Benutzer*innen somit auch keine
Möglichkeit, aus dem normalen Input eine Textarea zu machen. Dies hier
ist nun eine manuelle Möglichkeit dafür.
Moritz Bunkus [Thu, 31 Aug 2017 11:05:59 +0000 (13:05 +0200)]
ActionBar: `accesskey` mit Aufruftyp `call` gefixt
Wenn eine Action mit Aufruftyp `call` eine JavaScript-Funktion aufruft
und mit `accesskey = 'enter'` auf Return reagieren soll, so hat der
bisherige Setup-Code den Keyboard-Handler an das komplette
Document-Objekt gebunden. Das funktioniert aber zumindest in Chrome
nicht: der Handler wird nie aufgerufen.
Also an Body binden, und nicht an Document, was zumindest in Chrome
und Firefox gut funktioniert.
Moritz Bunkus [Mon, 28 Aug 2017 11:36:48 +0000 (13:36 +0200)]
Quicksuche: bei Stammdatensuche keine ungültigen anbieten
Betrifft:
• Artikelstammdaten in allen Varianten (Waren, Dienstleistungen,
Erzeugnisse, Sortimente)
• Kunden & Lieferanten
• Ansprechpersonen (hier werden nur diejenigen angeboten, die zu
gültigen Kunden/Lieferanten gehören)
* die %common_params aus SL/Dev/File sind nur für den speziellen Test
filesystem.t, daher in den Test verlagert.
* ebenfalls die get_all, get_all_count entfernt, SL/Dev/ soll nicht nur die
Anzahl der zu tippenden Zeichen in Tests verringern, sondern allgemeine
Funktionen für verschiedene Tests bereitstellen oder sinnvolle Defaults
vorbelegen