Berater uebertragen: kompletten Berater- und Kundenstamm an einen anderen Berater

Ticket dev/_tickets/2026-09-08.md #1: neuer Punkt "Berater uebertragen" im
Superadmin (/admin/user/transfer). Vorschau zeigt Firstline, Downline,
geparkte Sponsor-Bezuege, Kunden, Kundenabos und Portal-Logins; nach
Bestaetigung wird alles in einer Transaktion umgehaengt und wie die
User-Bereinigung protokolliert (user_clean_up_logs,
shopping_user_member_logs, SysLog). Bestellungen, Umsaetze und
Provisionsdaten bleiben beim bisherigen Berater. Ziel unterhalb der
Firstline der Quelle wird abgelehnt (Kreis im Baum).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kevin 2026-09-23 15:43:58 +00:00
parent 90c2188ffa
commit c568248046
17 changed files with 902 additions and 0 deletions

View file

@ -48,6 +48,13 @@ return [
'gdpr_error_is_admin' => 'DSGVO-Löschung nicht möglich: Der Account hat Admin-Rechte. Bitte entziehe zuerst die Admin-Rechte.',
'gdpr_error_active_abo' => 'DSGVO-Löschung nicht möglich: Es besteht noch ein aktives Abo. Bitte kündige das Abo zuerst.',
'gdpr_error_customer_is_member' => 'DSGVO-Löschung nicht möglich: Dieser Kundendatensatz gehört zu einem Berater-Account. Bitte nutze die DSGVO-Löschung in der User-Verwaltung.',
'transfer_success' => 'Übertragung ausgeführt: :firstline Firstline-Berater, :customers Kunden und :abos Kunden-Abos wurden an :target übertragen.',
'transfer_error_source_required' => 'Bitte wähle den Berater aus, der seinen Stamm abgibt.',
'transfer_error_target_required' => 'Bitte wähle den Berater aus, der den Stamm übernimmt.',
'transfer_error_same_user' => 'Quell- und Zielberater müssen unterschiedlich sein.',
'transfer_error_target_inactive' => 'Der Zielberater ist nicht aktiv (deaktiviert, gesperrt, gelöscht oder Account abgelaufen).',
'transfer_error_target_in_downline' => 'Der Zielberater befindet sich unterhalb der Firstline des Quellberaters. Das würde einen Kreis im Baum erzeugen. Bitte einen anderen Zielberater wählen.',
'transfer_confirm_checkbox_missing' => 'Bitte bestätige die Übertragung über die Checkbox.',
'delete_confirm_checkbox_missing' => 'Bitte bestätige die Löschung über die Checkbox.',
'gdpr_purge_customer_button' => 'Kunde komplett löschen',
'gdpr_purge_customer_success' => 'Kunde wurde komplett gelöscht: :count Kundeneintrag/-einträge entfernt.',