Bernd Bleßmann [Tue, 2 Feb 2021 09:04:23 +0000 (10:04 +0100)]
Wiedervorlage: alte Masken: Abfangen, wenn z.B. Betreff nicht vorbelegt
Sonst gab es einen js-Fehler und das WV-Fenster erschien nicht.
Kam mit commit
7b447b4dd0e756dc1578c44601d352811b768514
"Wiedervorlage aus Angebot/Auftrag: Betreff aus Vorgangsbezeichnung vorbelegen"
rein.
Bernd Bleßmann [Mon, 1 Feb 2021 16:41:10 +0000 (17:41 +0100)]
S:C:Letter: Sprache an Druck-Template weitergeben
Bernd Bleßmann [Wed, 27 Jan 2021 15:45:43 +0000 (16:45 +0100)]
SL::File: Debug-Warnung ausgeben, wenn eine Version nicht geholt werden kann
Fehler kann auftreten, wenn z.B. die Datei im Dateisystem nicht lesbar ist.
Bernd Bleßmann [Wed, 27 Jan 2021 12:00:25 +0000 (13:00 +0100)]
Auftrags-Controller: Artikel-Mehrfachauswahl-Dialog nicht ohne Kunde/Lieferant
Kunde/Lieferant muss vorher ausgewählt werden
Bernd Bleßmann [Wed, 27 Jan 2021 11:59:12 +0000 (12:59 +0100)]
Auftrags-Controller: Artikel-Mehrfachauswahl: js-Code aus Template ausgelagert
Bernd Bleßmann [Tue, 26 Jan 2021 15:38:14 +0000 (16:38 +0100)]
Auftrags-Controller: Artikel-Mehrfachauswahl auf die des PartPickers umgestellt
Bernd Bleßmann [Tue, 26 Jan 2021 15:25:02 +0000 (16:25 +0100)]
PartPicker: Mehrfachauswahl: Option um Positions-Eingabefed anzuzeigen
Die Eingabe kann im Callback verwendet werden, um die Artikel an bestimmte
Positionen zu setzen.
Bernd Bleßmann [Tue, 26 Jan 2021 14:54:03 +0000 (15:54 +0100)]
PartPicker: Ergebnisse f. Mehrfachauswahl: Tabelle alternierend einfärben
Bernd Bleßmann [Tue, 26 Jan 2021 14:36:43 +0000 (15:36 +0100)]
PartPicker: Ergebnisse f. Mehrfachauswahl: horiz. Linie so lang wie Tabelle
Bernd Bleßmann [Tue, 26 Jan 2021 14:34:38 +0000 (15:34 +0100)]
Kosmetik: PartPicker Template Ergebnisse f. Mehrfachauswahl
Bernd Bleßmann [Tue, 26 Jan 2021 11:35:30 +0000 (12:35 +0100)]
PartPicker: Mehrfachauswahl: Option um Anzeige-Begrenzung zu setzen
Diese war vorher fest auf 100 eingestellt. 100 bleibt die Voreinstellung.
Bernd Bleßmann [Tue, 26 Jan 2021 11:29:31 +0000 (12:29 +0100)]
PartPicker: Option für Mehrfachauswahl als default merken
Damit lässt sich die Option via js ändern, um z.B. einen Dialog
mit Mehrfachauswahl über einen Knopf zu öffnen, während die
Funktion der Lupe bei der Einfachauswahl bleibt (oder andersherum).
Bernd Bleßmann [Wed, 27 Jan 2021 11:23:41 +0000 (12:23 +0100)]
Langtext-Dialog: HTML-Template: Kein Paragprah (<p>) um Tabellen (<table>)
Bernd Bleßmann [Wed, 27 Jan 2021 11:18:26 +0000 (12:18 +0100)]
POD fix: Rose Syntax im Beispiel
Vergleichsoperatoren werden als Hash-Ref angegeben.
Bernd Bleßmann [Wed, 27 Jan 2021 11:14:33 +0000 (12:14 +0100)]
Revert "POD fix: Rose Syntax"
ilike gibt es doch.
This reverts commit
95f21f71c1c5c2f6cf6a281a0174d8f247be1135.
Bernd Bleßmann [Wed, 27 Jan 2021 11:04:21 +0000 (12:04 +0100)]
Erzeugnis-Stammdaten: Artikelliste: Summenzeile richtig platziert
Diese Zeile war verschoben.
Bernd Bleßmann [Tue, 26 Jan 2021 16:13:33 +0000 (17:13 +0100)]
nochmal locales-Läufe
- de -> Reihenfolge
- en -> fehlte
Bernd Bleßmann [Tue, 26 Jan 2021 16:11:44 +0000 (17:11 +0100)]
Syntaxfehler behoben
kam rein mit commit
d919a7dcc958edf6c7cd2546690347ea9c157f6e
(all_parts Erzeugnis EK als separate Spalte im Bericht)
Jan Büren [Tue, 26 Jan 2021 12:08:33 +0000 (13:08 +0100)]
Locales für vorherigen Commit
Jan Büren [Tue, 26 Jan 2021 12:05:52 +0000 (13:05 +0100)]
all_parts Erzeugnis EK als separate Spalte im Bericht
Problem: Bei der Mischauswahl von Waren und Erzeugnissen in
dem Bericht erscheinen dann Waren mit dem EK des Erzeugnisses, der
ggf. 0 sein kann. Das irritiert stark, deswegen lieber eine extra
Spalte für den Erzeugnis-Fall spendieren und den EK bei Waren als
Spalte so lassen.
Jan Büren [Tue, 26 Jan 2021 11:53:54 +0000 (12:53 +0100)]
Artikelliste, Optionen erweitert um Typ (Dienstleistung, E, W)
Je nach Typ liefert der Bericht unterschiedliche Ergebnisse (all_parts),
zumindestens sollten die Filteroptionen als visuelle Hilfe sichtbar sein
Bernd Bleßmann [Mon, 25 Jan 2021 18:58:27 +0000 (19:58 +0100)]
PartPicker: Ergebnisse im Dialog nach Blättern initialisieren.
Sonst kann man nur auf der ersten Seite Ergebnisse auswählen.
Behebt #462 (redmine)
Jan Büren [Thu, 21 Jan 2021 07:23:50 +0000 (08:23 +0100)]
Lagerbestand: alle reihen anzeigen auch nach dem Filtern aktiv (hidden vergessen)
Jan Büren [Thu, 21 Jan 2021 07:11:20 +0000 (08:11 +0100)]
Standardlagerplätze in Part sortiert anzeigen
Bernd Bleßmann [Wed, 13 Jan 2021 20:00:59 +0000 (21:00 +0100)]
Projekt-Picker für Berichte: auch inaktive und ungültige Projekte zeigen
Bernd Bleßmann [Thu, 14 Jan 2021 10:47:23 +0000 (11:47 +0100)]
Projekt-Picker: exact match auf GetModels umgestellt
Bernd Bleßmann [Fri, 15 Jan 2021 15:32:16 +0000 (16:32 +0100)]
Projekt-Picker-Lupe: changelog
Bernd Bleßmann [Wed, 13 Jan 2021 19:21:35 +0000 (20:21 +0100)]
Projekt-Picker-Lupe: Übersetzungen
Bernd Bleßmann [Fri, 15 Jan 2021 14:54:07 +0000 (15:54 +0100)]
Projekt-Picker: weitere Elemente auf der Testseite
Bernd Bleßmann [Wed, 13 Jan 2021 16:18:31 +0000 (17:18 +0100)]
Projekt-Picker: Parameter f. aktiv/gültig
und Filter-Daten via data an js übergeben
Bernd Bleßmann [Wed, 13 Jan 2021 17:47:44 +0000 (18:47 +0100)]
Projekt-Picker-Lupe: erste Ergebnisse direkt anzeigen
Spart einen zweiten Ajax-Aufruf
Bernd Bleßmann [Mon, 11 Jan 2021 15:13:16 +0000 (16:13 +0100)]
Projekt-Picker-Lupe: Copy/paste und Anpassungen vom Chart-Picker
Bernd Bleßmann [Fri, 15 Jan 2021 14:04:03 +0000 (15:04 +0100)]
Projekt-Picker: js: $type wird nicht gebraucht
Jan Büren [Fri, 15 Jan 2021 08:18:30 +0000 (09:18 +0100)]
Zahlungsbedingungen Kreditorenbuchung leere Werte mit conv_i abfangen
Jan Büren [Thu, 14 Jan 2021 13:44:25 +0000 (14:44 +0100)]
Zu ZB bei Kreditorenbuchung - Vorbelegung Stammdaten Lieferant
Falls kein invoice_obj vorhanden, wieder auf form->payment_id gehen,
da hier die Werte aus den Stammdaten des Lieferanten vorbelegt sind (!)
Jetzt müssten alle Fälle passen:
1. Gespeicherte Werte anzeigen, auch bei ungültigen ZB
2. Lieferanten-Werte aus Stammdaten übernehmen
3. Lieferanten-Werte beim Wechsel des Lieferanten übernehmen
Jan Büren [Thu, 14 Jan 2021 13:07:24 +0000 (14:07 +0100)]
Kommentar zum Payment-Helper
Außer in den Testfällen wird der Helper nicht mit einem
negativen Amount aufgerufen. Im Helper befindet sich etwas
zuviel automagie. Eigentlich braucht man den Param amount nicht,
wird aber überall in kivi übergeben. Eigentlich darf der negativ
sein, verfälscht aber das multiplizieren im Helper.
Jan Büren [Thu, 14 Jan 2021 13:04:24 +0000 (14:04 +0100)]
Zahlungsbedingungen Kreditorenbeleg Speichern und Laden in Maske
Das was Commit
8b5bed7fe5 versprochen hat, jetzt auch in Echt ;-)
Jan Büren [Tue, 12 Jan 2021 13:13:48 +0000 (14:13 +0100)]
BankTransaction: Filter nach Konteninhaber-Namen
Bernd Bleßmann [Tue, 12 Jan 2021 16:11:20 +0000 (17:11 +0100)]
Auftrags_Controller: js: hiddens f. Wiedervorlage nur einmal anhängen
Bernd Bleßmann [Tue, 12 Jan 2021 15:34:00 +0000 (16:34 +0100)]
Wiedervorlage aus Angebot/Auftrag: Betreff aus Vorgangsbezeichnung vorbelegen
nur "neuer" Controller
Bernd Bleßmann [Fri, 8 Jan 2021 11:12:44 +0000 (12:12 +0100)]
Lieferantenbericht: UStID anzeigen lassen können
Bernd Bleßmann [Wed, 6 Jan 2021 09:49:47 +0000 (10:49 +0100)]
Kunden/Lieferanten: UStId/Steuernr. eindeutig: changelog
Bernd Bleßmann [Tue, 5 Jan 2021 16:15:22 +0000 (17:15 +0100)]
Kunden/Lieferanten: UStId/Steuernr. eindeutig: Prüfung im Controller
Bernd Bleßmann [Tue, 5 Jan 2021 09:34:25 +0000 (10:34 +0100)]
Kunden/Lieferanten: UStId/Steuernr. eindeutig: Mandantenkonfiguration
Bernd Bleßmann [Mon, 11 Jan 2021 09:48:13 +0000 (10:48 +0100)]
locales-Skript: all/more für js berücksichtigen
Ein Eintrag wird aus all/more genommen, wenn hier vorhanden, sonst aus
all.
Bernd Bleßmann [Thu, 7 Jan 2021 17:30:32 +0000 (18:30 +0100)]
locales-Skript: all/more berücksichtigen, …
indem Texte, die ausschließlich dort vorhanden sind, nicht in all
eingetragen werden. Texte, die vorher schon in all sind, bleiben aber
erhalten. Das sind dann (vermutlich) die Texte, die in more für ein
Kundenprojekt eine andere Übersetzung haben sollen (und nicht neu hinzu
kamen).
Bernd Bleßmann [Mon, 4 Jan 2021 18:08:51 +0000 (19:08 +0100)]
locales-Skript: POD update
Bernd Bleßmann [Mon, 4 Jan 2021 17:36:15 +0000 (18:36 +0100)]
locales-Skript: Option -n / --no-custom-files raus
Funktioniert so ohnehin nicht mehr (wird ignoriert) und -n war doppelt vergeben
(Option n is ambiguous (no-check-files, no-custom-files))
Bernd Bleßmann [Mon, 4 Jan 2021 17:34:05 +0000 (18:34 +0100)]
locales-Skript: Kosmetik: Kommentare
- Typo gefixt
- Kommandozeilenparameter nicht im Kommentar: gibt es als Hilfe
und im POD und waren nicht vollständig
Bernd Bleßmann [Mon, 4 Jan 2021 17:11:14 +0000 (18:11 +0100)]
locales-Lauf en
Moritz Bunkus [Mon, 4 Jan 2021 15:29:41 +0000 (16:29 +0100)]
Merge branch 'f-customer-vendor-rights'
Jan Büren [Mon, 4 Jan 2021 14:48:13 +0000 (15:48 +0100)]
Testfall year_end repariert
.. lieber gleich hartkodiert in 2019 bleiben
Moritz Bunkus [Mon, 4 Jan 2021 12:50:05 +0000 (13:50 +0100)]
Quick-Suche: `auth` == undef oder leerer String gefixt
Laut Doku in `SL/Controller/TopQuickSearch/Base.pm` bedeuten undef
oder leerer String als Rückgabewert der Sub `auth`, dass dieses Modul
für alle Benutzer*innen zur Verfügung steht, unabhängig von deren
vorhandenen Gruppenrechten.
Das hat nur nicht funktioniert.
Moritz Bunkus [Thu, 17 Dec 2020 10:37:35 +0000 (11:37 +0100)]
Kundenstammdaten: beim Anlegen Verkäufer*in setzen wenn kein »edit all«-Recht
Personen, die nur »edit«-Rechte, nicht aber »edit all«-Rechte haben,
dürfen nur noch eigene Kunden bearbeiten. Daher ist es sinnvoll, dass
beim Neuanlegen das Feld »Verkäufer*in« bereits auf die aktuelle
Person gesetzt ist.
Moritz Bunkus [Thu, 17 Dec 2020 10:37:25 +0000 (11:37 +0100)]
Kunden-/Lieferantenstammdaten: Berechtigungsmodell gefixt
Neues Modell sieht wie folgt aus:
1. Alle Personen haben Leserechte auf alle Kunden- &
Lieferantenstammdaten. Das betrifft nicht nur die Stammdatenmasken,
sondern auch die AJAJ-Autovervollständigung (Kunden-/
Lieferanten-Picker) oder die Detail-Popup-Fenster in Einkaufs-/
Verkaufsbelegmasken.
2. Personen mit »edit«-Recht aber ohne »edit all«-Recht dürfen nur die
eigenen Kundenstammdaten verändern (speichern/löschen), wobei
»eigen« definiert ist als »aktuelle Person ist Verkäufer*in des
Kunden«. Neue Kunden dürfen angelegt werden. Bei Lieferanten dürfen
hingegen alle Stammdaten bearbeitet werden.
3. Personen mit »edit all«-Recht haben Vollzugriff auf alle Kunden- &
Lieferantenstammdaten.
Jan Büren [Fri, 1 Jan 2021 09:46:24 +0000 (10:46 +0100)]
POD fix: Rose Syntax
Zeitvergleich braucht { . ilike gibt es nicht in Rose:
like_operator => 'like', # only applicable to Postgres, defaulted to undef, i.e. render_as_table() uses 'ilike' for Postgres by default
Bernd Bleßmann [Mon, 21 Dec 2020 16:42:33 +0000 (17:42 +0100)]
Bericht Angebote/Aufträge: internen Bemerkungen filtern und anzeigen können
Bernd Bleßmann [Mon, 21 Dec 2020 16:41:36 +0000 (17:41 +0100)]
Bericht Angebote/Aufträge: HTML: fehlende Ende-Tags hinzugefügt
Jan Büren [Fri, 18 Dec 2020 11:24:48 +0000 (12:24 +0100)]
Testfall für BT: Punkte. Copy & Paste Fehler von a695c behoben
Jan Büren [Fri, 18 Dec 2020 10:28:26 +0000 (11:28 +0100)]
BT: Punkte. Copy & Paste Fehler von a695c behoben
open_amount mit open_amount vergleichen
Bernd Bleßmann [Thu, 17 Dec 2020 21:50:59 +0000 (22:50 +0100)]
S:C:H:ReportGenerator: Spalteninformationen einzeln zuweisen.
Hintergrund: Das "fat-comma (=>)" interpretiert seine rechte Seite im
Listenkontext, was dazu führen kann, dass der Hash, der aufgebaut werden
soll, durcheinander gerät, wenn z.B. $def->{sub} eine Liste zurückliefert
oder gar nichts ($def->{sub} = sub { return }).
Interessant im Zusammenhang:
https://stackoverflow.com/questions/
3435122/whats-the-difference-between-return-and-return-undef-in-perl
Bernd Bleßmann [Wed, 16 Dec 2020 16:56:49 +0000 (17:56 +0100)]
Buchungsjournal: auch globale Projektnummer im Bericht mit anzeigen
Bernd Bleßmann [Wed, 16 Dec 2020 15:42:02 +0000 (16:42 +0100)]
Buchungsjournal: Abteilung im Bericht anzeigen können
Bernd Bleßmann [Wed, 16 Dec 2020 11:07:43 +0000 (12:07 +0100)]
Buchungsjournal: Zwischensumme in Suchmaske an den Schluss gesetzt
Bernd Bleßmann [Wed, 16 Dec 2020 11:36:35 +0000 (12:36 +0100)]
Buchungsjournal: Spalte f. Bilanz im Bericht direkt hinter Umsatzsteuer
Dann sind die Zahlen zusammen
Bernd Bleßmann [Wed, 16 Dec 2020 11:18:51 +0000 (12:18 +0100)]
SL::GL: POD: keine leere section; <gt> escapen
Bernd Bleßmann [Mon, 14 Dec 2020 17:00:29 +0000 (18:00 +0100)]
changelog f. Menü- und Rechte-Anpassung "Produktivität"
Bernd Bleßmann [Mon, 14 Dec 2020 16:45:22 +0000 (17:45 +0100)]
Berechtigungen für Produktiovität als eigene Kategorie …
und die bisherigen Produktivitäts-Rechte und E-Mail-Journal-Rechte
darunter anzeigen.
Bernd Bleßmann [Mon, 14 Dec 2020 16:28:32 +0000 (17:28 +0100)]
Menü Produktivität: Zugriffsrechte nicht am Haupteintrag fest machen …
und eigene Zugriffssregel für E-Mail-Journal.
So kann z.B. das Recht, E-Mail-Journal ansehen, getrennt von der
Produktivität gesetzt werden.
Ein Hauptmenüpunkt wird nicht angezeigt, wenn keiner seiner Kinder
(z.B. wg. fehlender Rechte) angezeigt wird - wenn also keines der Rechte
vorhanden ist, so wird, wie vorher auch, der Haupteintrag auch nicht
gezeigt.
Bernd Bleßmann [Mon, 14 Dec 2020 15:10:00 +0000 (16:10 +0100)]
Locales-Läufe
Bernd Bleßmann [Mon, 14 Dec 2020 11:01:09 +0000 (12:01 +0100)]
S:D:Helper:TransNumberGenerator: Warnung vermeiden.
Getriggert durch Tests (./t/wh/inventory.t). Tritt aber nur auf, wenn
der Nummerkreis noch leer ist.
Jan Büren [Mon, 28 Sep 2020 15:24:57 +0000 (17:24 +0200)]
Dialogbuchungen um Boolean imported erweitert.
Buchungen mit diesem Boolean können beim DATEV-Export
gefiltert werden. Anwendungsfall sind bspw. in DATEV
erstellte Lohnbuchungen, die dann in kivi importiert werden
Jan Büren [Mon, 14 Dec 2020 08:31:32 +0000 (09:31 +0100)]
GLTransaction:: add_chart_booking um get_active_taxkey erweitert
Der Aufruf von add_chart_booking muss sich nicht mehr
darum kümmern welcher Steuerschlüssel gesetzt sein muss, wenn
er einfach nur den vorkonfigurierten Steuerschlüssel setzen will.
Dementsprechend ist param{tax_id} kein Pflichtparameter mehr.
POD ergänzt und mit Testfällen abgesichert (19% / 16% Fall).
Moritz Bunkus [Fri, 11 Dec 2020 10:07:47 +0000 (11:07 +0100)]
Artikelstammdaten: in Übersetzungen Zeilenumbrüche verwenden können
Das Eingabefeld für die Beschreibung im Basisdaten-Tab erlaubt die
Eingabe von Zeilenumbrüchen. Daher muss das auch für die übersetzen
Beschreibungen gehen.
Moritz Bunkus [Thu, 10 Dec 2020 14:58:08 +0000 (15:58 +0100)]
Merge branch 'f-factur-x-und-xrechnung'
Bernd Bleßmann [Wed, 9 Dec 2020 13:26:11 +0000 (14:26 +0100)]
Inventur: Part-Picker such auch nach Lieferantenartikelnummer
Jan Büren [Wed, 9 Dec 2020 11:17:13 +0000 (12:17 +0100)]
Kontoauszug verbuchen: Verkaufsgutschriften nicht negativ bewerten
Punkte für wrong_sign höher gesetzt und beide Gutschriftentypen
jetzt sauber abgegrenzt (credit_note und negative_ap_transaction)
Jan Büren [Wed, 9 Dec 2020 10:42:06 +0000 (11:42 +0100)]
BankTransaction: Treffer für Kreditorengutschriften erhöhen
negativ_ap_transaction sollte keine Strafpunkte mehr fürs
Vorzeichen erhalten. TODO: Verkaufs-Gutschriften prüfen
Jan Büren [Wed, 9 Dec 2020 10:35:59 +0000 (11:35 +0100)]
Kontoauszug verbuchen: Vorschlagsliste verbessern
- Kommentar stimmt nicht mit dem Code überein.
- Die Prüfung verhindert das Banktransaktionen mit einer Summe größer der
Rechnungssumme als Vorschlag zugewiesen werden. Das war wichtig,
weil der Payment-Helper zu Beginn immer die komplette Bankbewegung auf
einen Beleg gebucht hat. Das ist mittlerweile besser gelöst.
Bernd Bleßmann [Thu, 3 Dec 2020 17:06:35 +0000 (18:06 +0100)]
Dialogbuchung: js-Validator einbinden. Damit werden die Datumsfelder validiert
… und auch formatiert.
Bernd Bleßmann [Thu, 3 Dec 2020 17:02:55 +0000 (18:02 +0100)]
changelog für Leistungsdatum
Bernd Bleßmann [Thu, 3 Dec 2020 16:55:42 +0000 (17:55 +0100)]
S/D/Order: new_from_multi: Leistungsdatum nur übernehmen, wenn überall gleich.
Für den Workflow, aus der Auftrags-Liste mehrere Aufträge zu einem
zusammenzufasssen.
Sven Schöling [Thu, 3 Dec 2020 16:00:15 +0000 (17:00 +0100)]
Kreditorenbuchungen: Automatisches Setzen von Fälligkeitsdatum
Sven Schöling [Thu, 3 Dec 2020 15:59:43 +0000 (16:59 +0100)]
Test: Skonto in Kreditorenbuchungen
Sven Schöling [Thu, 3 Dec 2020 15:44:22 +0000 (16:44 +0100)]
Kreditorenbuchungen: Zahlungsbedingungen in Belegvorlagen
Sven Schöling [Thu, 3 Dec 2020 15:41:51 +0000 (16:41 +0100)]
Kreditorenbuchungen: Zahlungsbedingungen laden/speichern
Sven Schöling [Wed, 2 Dec 2020 15:46:51 +0000 (16:46 +0100)]
Kreditorenbuchungen: Bemerkungenblock an Rechnungen angepasst
Sven Schöling [Wed, 2 Dec 2020 15:36:20 +0000 (16:36 +0100)]
mailmap update
Bernd Bleßmann [Wed, 2 Dec 2020 17:33:33 +0000 (18:33 +0100)]
Auftrags-Controller: Auftragswahrscheinlichkeit anzeigen: Typo im as_date-Attr.
Moritz Bunkus [Thu, 3 Dec 2020 13:13:09 +0000 (14:13 +0100)]
Merge branch '2020-leistungsdatum'
Moritz Bunkus [Thu, 3 Dec 2020 13:12:33 +0000 (14:12 +0100)]
SL::DB::Invoice->new_from: auch Leistungsdatum (tax_point) übernehmen
Bernd Bleßmann [Thu, 3 Dec 2020 11:21:53 +0000 (12:21 +0100)]
Preisanfrage/Aufträge: dort, wo es ein Liefertermin gibt, diesen f. Steuer nehmen
Bernd Bleßmann [Thu, 3 Dec 2020 11:44:58 +0000 (12:44 +0100)]
Auftrags-Controller: bei Änderung Leistungsdatum/Liefertermin neu berechnen
Bernd Bleßmann [Thu, 3 Dec 2020 11:56:32 +0000 (12:56 +0100)]
Auftrags-Controller: Leistungsdatum bei Workflow berücksichtigen
Moritz Bunkus [Thu, 3 Dec 2020 10:08:08 +0000 (11:08 +0100)]
display_row: ship_$row nicht formatiert ausgeben
Im ganzen Programm wird angenommen, dass `$::form->{ship_$row}`
unformatiert ist, nur an dieser Stelle wird es formatiert
ausgegeben. Das war nicht mal ein Problem, weil es in `update` via
`_update_ship()` komplett neu berechnet wird, ohne auf den aktuellen
Wert in `$::form->{ship_$row}` zurückzugreifen. Trotzdem ist es der
Konsistenz halber wichtig, den Wert auch hier unformatiert auszugeben.
Moritz Bunkus [Thu, 3 Dec 2020 10:05:10 +0000 (11:05 +0100)]
Order-Controller: Umwandlung: Berechnung bereits gelieferter/abgerechneter Mengen gefixt
In $::form steht der Wert für die gelieferte Menge in
`ship_$row`. Dieser Wert wird überall im Programm als unformatiert
angenommen, nur bisher in der Methode nicht, die berechnet, wie viel
von jeder Position bereits abgerechnet/geliefert war. Ergebnis war,
dass ein unformatierter Wert noch mal durch `$::form->parse_amount`
gejagt wurde.
Für einen Wert mit Nachkommaanteil ist das dann problematisch. Wurden
bereits z.B. 123,45 geliefert, so steht in `$::form->{ship_1}` der
Wert `123.45`, einmal durch `parse_amount` ergibt `12345`, was um
einen Faktor 100 zu viel ist.
Moritz Bunkus [Thu, 3 Dec 2020 09:34:04 +0000 (10:34 +0100)]
Order-Controller: Umwandlung: gemeinsamen Code in eigene Funktion ausgelagert
Moritz Bunkus [Wed, 2 Dec 2020 09:07:44 +0000 (10:07 +0100)]
LXDebug dump_sql_result: Spaltenanordnung je nach Inhalt
Spalten, die komplett numerisch sind, werden rechtsbündig angeordnet;
alle anderen linksbündig.
Moritz Bunkus [Tue, 1 Dec 2020 09:56:20 +0000 (10:56 +0100)]
SEPA: In Details: Buttons »Buchen« und »Zahlungsliste« immer anzeigen
Sichtbare Buttons machen viel klarer, welche Funktionalität es an der
Stelle gibt, auch wenn die Buttons deaktiviert sind.
Moritz Bunkus [Tue, 1 Dec 2020 08:49:10 +0000 (09:49 +0100)]
HTTP-Header: Lebenszeit für Session-ID-Cookie setzen gefixt
Der Name des Parameters lautet `-expires`, nicht `-expire`.
Außerdem den Timeout direkt aus `$::auth` lesen, um denselben
Standardwert zu nehmen, falls der Timeout nicht in der Konfiguration
gesetzt ist.