Move member deletion to action

This commit is contained in:
philipp lang 2023-08-15 23:03:51 +02:00
parent 0ae11f753f
commit 3263e93da7
3 changed files with 31 additions and 17 deletions

View File

@ -0,0 +1,28 @@
<?php
namespace App\Member\Actions;
use App\Lib\Events\ClientMessage;
use App\Maildispatcher\Actions\ResyncAction;
use App\Member\Member;
use Illuminate\Http\RedirectResponse;
use Lorisleiva\Actions\Concerns\AsAction;
class MemberDeleteAction
{
use AsAction;
public function handle(Member $member): RedirectResponse
{
if ($member->nami_id) {
NamiDeleteMemberAction::dispatch($member->nami_id);
}
$member->delete();
ResyncAction::dispatch();
ClientMessage::make('Mitglied ' . $member->fullname . ' gelöscht.')->shouldReload()->dispatch();
return redirect()->back();
}
}

View File

@ -4,9 +4,6 @@ namespace App\Member;
use App\Country;
use App\Http\Controllers\Controller;
use App\Lib\Events\ClientMessage;
use App\Maildispatcher\Actions\ResyncAction;
use App\Member\Actions\NamiDeleteMemberAction;
use App\Setting\GeneralSettings;
use App\Setting\NamiSettings;
use Illuminate\Http\RedirectResponse;
@ -83,17 +80,4 @@ class MemberController extends Controller
return redirect()->route('member.index');
}
public function destroy(Member $member): RedirectResponse
{
if ($member->nami_id) {
NamiDeleteMemberAction::dispatch($member->nami_id);
}
$member->delete();
ResyncAction::dispatch();
ClientMessage::make('Mitglied ' . $member->fullname . ' gelöscht.')->shouldReload()->dispatch();
return redirect()->back();
}
}

View File

@ -29,6 +29,7 @@ use App\Maildispatcher\Actions\UpdateAction as MaildispatcherUpdateAction;
use App\Mailgateway\Actions\StoreAction;
use App\Mailgateway\Actions\UpdateAction;
use App\Member\Actions\ExportAction;
use App\Member\Actions\MemberDeleteAction;
use App\Member\Actions\MemberResyncAction;
use App\Member\Actions\MemberShowAction;
use App\Member\Actions\SearchAction;
@ -55,7 +56,8 @@ Route::group(['middleware' => 'auth:web'], function (): void {
Route::post('/api/member/search', SearchAction::class)->name('member.search');
Route::get('/initialize', InitializeFormAction::class)->name('initialize.form');
Route::post('/initialize', InitializeAction::class)->name('initialize.store');
Route::resource('member', MemberController::class)->except('show');
Route::resource('member', MemberController::class)->except('show', 'destroy');
Route::delete('/member/{member}', MemberDeleteAction::class);
Route::get('/member/{member}', MemberShowAction::class)->name('member.show');
Route::apiResource('member.payment', PaymentController::class);
Route::get('allpayment', AllpaymentPageAction::class)->name('allpayment.page');