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.
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
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.
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: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.
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
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 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.
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.
Jan Büren [Sat, 30 Sep 2017 07:45:08 +0000 (09:45 +0200)]
Filter nach Namen für Buchungsvorlagen implementiert
Hintergrund: Nachdem einige Vorlagen erstellt worden sind,
ist der Standard-Fall nicht mehr Anlegen oder Ändern, sondern
Suchen und Buchen. Entsprechend den Focus auch auf das Suchfeld gesetzt.