Fehler #544
Verknüpfte Belege: Manuelle Auswahl von Dialogbuchung liefert keine Suchtreffer im Popup
0%
Beschreibung
Das Problem ist, dass get_all_sorted aufgerufen wird und in diesem Fall ist die Methode überhaupt nicht in GLTransaction als Hilfsfunktion eingebunden.
Die betroffene Codestelle sollte auch etwas defensiver programmiert werden, da ja überhaupt nicht klar ist, dass der Aufruf erfolgreich durchgeführt werden kann:
$objects = $manager->get_all_sorted(where => \@where, with_objects => \@with_objects, sort_by => 'itime', sort_dir => 'ASC');
Ein eval oder try/catch wäre da gut, bzw. ich hab jetzt wie folgt erweitert und damit wird dann die gewöhnlichere get_all Methode verwendet, falls $manager die get_all_sorted nicht besitzt:
In SL/Controller/RecordLinks.pm ca. Zeile 170:
# show the newest records first (should be better for 80% of the cases TODO sortable click
my $objects;
if ($manager->can('get_all_sorted')) {
$objects = $manager->get_all_sorted(where => \@where, with_objects => \@with_objects, sort_by => 'itime', sort_dir => 'ASC');
} else {
$objects = $manager->get_all(where => \@where);
}
2. Ziel:
Das Popup hat ja erstmal ein paar generelle Suchfilter, wie Kunde oder Lieferant, dass war im Anfang der Entstehung auch logisch sinnvoll, da ja nur Objekte mit einer Kunden- oder Lieferantenbeziehung verknüpft worden sind. Mittlerweile sind aber einige Einträge drin, bei denen eine manuelle Verknüpfung keinen Sinn macht (Mahnungen, Shop-Order) oder bei denen es keine Kunden- oder Lieferantenbeziehung gibt (Dialogbuchen).
Vielleicht lässt sich das Popup etwas flexibler oder intelligenter gestalten.
Zugehörige Revisionen
Verknüpfte Belege: Verknüpfungen hinzufügen: Kein Kunde/Lieferant/Projekt/Beschreibung …
… als Filter anbieten, wenn nicht verfügbar im zu verknüpfenden Beleg.
Betrifft Mahnungen und Shop-Aufträge.
Refs #544 (redmine)
Verknüpfte Belege: Controller: get_all statt get_all_sorted
Da sort_by und sort_dir angegeben sind, kann einfach $manager->get_all
verwendet werden.
Ansonsten bekam der Anwender keine Links geliefert, wenn der Manager
kein _sorted kennt.
Refs #544 (redmine)