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

@ -516,6 +516,11 @@ Route::domain(config('app.pre_url_crm').config('app.domain').config('app.tld_car
Route::post('/admin/user/cleanup/reassign-sponsor', 'AdminUserCleanupController@reassignSponsor')->name('admin_user_cleanup_reassign_sponsor');
Route::post('/admin/user/cleanup/restore', 'AdminUserCleanupController@restore')->name('admin_user_cleanup_restore');
// Berater übertragen (kompletter Berater- und Kundenstamm), dev/_tickets/2026-09-08.md #1
Route::get('/admin/user/transfer', 'AdminUserTransferController@index')->name('admin_user_transfer');
Route::post('/admin/user/transfer/preview', 'AdminUserTransferController@preview')->name('admin_user_transfer_preview');
Route::post('/admin/user/transfer/execute', 'AdminUserTransferController@execute')->name('admin_user_transfer_execute');
Route::get('/admin/shippings', 'ShippingController@index')->name('admin_shippings');
Route::get('/admin/shipping/edit/{shipping_id}', 'ShippingController@edit')->name('admin_shipping_edit');
Route::post('/admin/shipping/store', 'ShippingController@store')->name('admin_shipping_store');