diff --git a/class/actions_mahnung.class.php b/class/actions_mahnung.class.php index 755723c..935eae2 100644 --- a/class/actions_mahnung.class.php +++ b/class/actions_mahnung.class.php @@ -77,18 +77,24 @@ class ActionsMahnung $btn = dolGetButtonAction($label, '', 'default', '#', 'btn-mahnung-create', 0, array('attr' => $attr)); } - // In die zweite Zeile zwingen: Flex-Spacer mit voller Breite und 0 Höhe DIREKT - // vor dem Button. Wirkt nur bei flex-wrap-Layouts (Standard in .tabsAction) — - // sonst harmlos. So landet "Mahnung" optisch unter den Standard-Aktionen, neben - // Import Zeilen / Löschen / Auf anderen Kunden übertragen. - $spacer = '
'; + // Der Hook läuft VOR den Standard-Buttons → der Mahnung-Button würde sonst ganz + // am Anfang der .tabsAction-Div stehen. Eddy will ihn aber bei den letzten + // "Verwaltungs"-Buttons (Löschen / Auf anderen Kunden übertragen — typisch + // butActionRefused weil disabled bei freigegebener Rechnung). + // JS verschiebt den Button per insertBefore VOR den ersten .butActionRefused — + // fällt zurück auf appendTo wenn keiner existiert. + $js = ""; // WICHTIG: addMoreActionsButtons braucht direkten print, nicht $this->resprints. // card.php wertet zwar $reshook aus, druckt aber $hookmanager->resPrint an dieser - // Stelle NICHT — anders als bei formObjectOptions. Output direkt in die tabsAction-Div - // ist hier sicher, weil der Hook bereits innerhalb des dafür vorgesehenen - // Container-Divs aufgerufen wird. - print $spacer.$btn; + // Stelle NICHT — anders als bei formObjectOptions. + print $btn.$js; return 0; }