Moritz Bunkus [Fri, 1 Apr 2016 15:12:52 +0000 (17:12 +0200)]
ReportGenerator: Unterstützung für raw_header_data-Attribut in Spaltendefinitionen
Zuerst wurde dieses Attribut in Anlehnung an das Attribut bei den
Positionszeilen "raw_data" genannt. Leider kollidiert "raw_data" mit der
Benutzung des ReportGenerators aus dem Controller-Helfer-Modul
SL::Controller::ReportGenerator. Dieser verwendet "raw_data" in den
Spaltendefinitionen bereits für Defaults für die Erzeugung der
Positionszeilen.
Daher nun die Umbenennung des neuen Attributes nach "raw_header_data".
Moritz Bunkus [Fri, 1 Apr 2016 09:13:16 +0000 (11:13 +0200)]
QuickSearch: nicht anzeigen, wenn Datenbankupgrades eingespielt werden müssen
QuickSearch hat seine Konfiguration in gewissen Spalten in der
Datenbank. Um auf diese zugreifen zu können, müssen die dazugehörigen
Datenbankupgrades bereits eingespielt worden sein.
Da das Menü und damit die QuickSearch-Items auch während des Einspielens
der Upgrades angezeigt werden, kann es also dazu führen, dass die
Spalten noch nicht existieren. Daher wird QuickSearch nun komplett
deaktiviert, solange ausstehende Datenbankupgrades existieren.
Moritz Bunkus [Fri, 1 Apr 2016 08:27:28 +0000 (10:27 +0200)]
ReportGenerator: Unterstützung für raw_data-Attribut in Spaltendefinitionen
Analog zu Zellendaten: ist bei einer Spaltenüberschrift raw_data
gesetzt, so wird das ausgegeben. Nur andernfalls werden die Attribute
link, text und der Sortier-Indikator ausgegeben.
Damit ist es z.B. möglich, in der Spaltenüberschrift eine
»Check-All«-Checkbox zu rendern.
Moritz Bunkus [Fri, 1 Apr 2016 07:39:29 +0000 (09:39 +0200)]
SL::DB::Note: Funktion trans_object zum Auslesen des referenzierten Objekts
Ein Note-Objekt hängt immer an einem anderen Datenbankobject, das über
trans_module+trans_id referenziert wird. Diese Funktion entscheidet
anhand von trans_module, welche Rose-Klasse zu instantiieren ist, holt
das entsprechende Objekt aus der Datenbank und gibt es zurück.
Auch bei polymorphen Objekten wie Kunden/Lieferanten (für trans_module
== ct) wird das richtige getan.
Moritz Bunkus [Thu, 31 Mar 2016 13:31:32 +0000 (15:31 +0200)]
S:D:FollowUp: Namen der Relationen created_by…/created_for… eindeutig gemacht
Die Spalten heißen leider created_by und created_for_user. Damit es bei
der Benutzung nicht zu Verwirrungen zwischen Spaltennamen und den Namen
der Relationships kommt, werden die Relationshipnamen schlicht eindeutig
umbenannt.
Bisher hat kein Rose-Code diese Relationships genutzt. Nur der
CustomerVendor-Controller hat die Spaltennamen benutzt.
Sven Schöling [Wed, 30 Mar 2016 17:10:41 +0000 (19:10 +0200)]
.mailmap für git-shortlog -s
3 commits konnte ich nicht zuordnen:
- digifoto <digifoto@kivitendo.digifoto24.com>
- root <root@test.cine-logistics.de>
- root <root@vc-kivi.vitracom.org>
G. Richardson [Tue, 15 Mar 2016 14:07:44 +0000 (15:07 +0100)]
Konten neu anlegen repariert
get_account wurde nicht nur für das Laden bestehender Konten verwendet,
sondern auch für das Füllen von anderen form-Variablen, z.B. für
Steuerschlüssel.
Bei der Gelegenheit auch etwas Rose geübt und refactored.
Bernd Bleßmann [Wed, 10 Feb 2016 12:02:13 +0000 (13:02 +0100)]
Auftrags-Controller: event bindings nicht mehrfach hinzufügen.
Dazu event handler für die Positions-Zeilen mit run_once_for registrieren und
in eine eigene Funktion init_row_handlers() ausgelagert. Damit kann
init_row_handlers() gefahrlos immer nach dem Hinzufügen neuer Positionen
aufgerufen werden, ohne einen Handler mehrmals zu registrieren.
- ungültige Artikel nicht anzeigen.
- Artikel nicht mehrfach hinzufügen, wenn ausversehen mehrfach Enter gedrückt
oder der Weiter-Knopf mehrfach angeklickt wird.
Bernd Bleßmann [Sat, 16 Jan 2016 22:04:27 +0000 (23:04 +0100)]
Auftrags-Controller: Druck-Möglichkeit mit Options
Todos/Anmerkungen
- im Moment werden nur PDF/Bildschirm und PDF/Drucker unterstützt
- Sprache kann die Vorlage steuern, aber nicht das Hinzufügen von übersetzten
Artikeln
- es kann sicher noch mehr ausgelagert werden, entweder in den
PrintOptions-Helper oder in einen PrintOptions-Controller, der
dann auch noch mehr machen könnte
- E-Mail ist nicht berücksichtigt bzw. wird im Controller getrennt behandelt
Bernd Bleßmann [Wed, 2 Dec 2015 10:28:36 +0000 (11:28 +0100)]
Auftrags-Controller: vorhandene orderitems vor Neu-Schreiben nicht löschen …
Hintergrund: Wird einem Rose-Object eine Relationship als Array übergeben (z.B.
$order->orderitems(@items), so löscht Rose dei DB-Einträge und schreibt sie neu.
In dem Fall werden allerdings auch DB-Trigger ausgelöst, was hier zum
unerwünschten Löschen der record_links auf item-Ebene führte.
Hier wurden die items via assign_attributes als ganzes dem Order-Objekt
hinzugefügt.
Jetzt werden die items einzeln hinzugefügt, wenn sie neu sind und die
vorhandenen, die aus der Makse entfernt wurde, werden extra gelöscht.