From b541d246e0de54a67a5d4b79dac960ec86ce236c Mon Sep 17 00:00:00 2001 From: philipp lang <philipp@aweos.de> Date: Thu, 3 Apr 2025 00:56:07 +0200 Subject: [PATCH] Set permanent bank account of member --- app/Actions/InsertMemberAction.php | 2 +- app/Member/BankAccount.php | 2 ++ app/Member/Member.php | 5 +++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/Actions/InsertMemberAction.php b/app/Actions/InsertMemberAction.php index d2ea1ecc..5d2697b3 100644 --- a/app/Actions/InsertMemberAction.php +++ b/app/Actions/InsertMemberAction.php @@ -61,7 +61,7 @@ class InsertMemberAction } return tap(Member::updateOrCreate(['nami_id' => $member->id], $payload), function ($insertedMember) use ($member) { - $insertedMember->bankAccount()->updateOrCreate([ + $insertedMember->bankAccount->update([ 'iban' => $member->bankAccount->iban, 'bic' => $member->bankAccount->bic, 'blz' => $member->bankAccount->blz, diff --git a/app/Member/BankAccount.php b/app/Member/BankAccount.php index 7e700992..fbc42e65 100644 --- a/app/Member/BankAccount.php +++ b/app/Member/BankAccount.php @@ -12,4 +12,6 @@ class BankAccount extends Model use HasFactory; public $guarded = []; + + public $primaryKey = 'member_id'; } diff --git a/app/Member/Member.php b/app/Member/Member.php index 0fa866df..78f993fe 100644 --- a/app/Member/Member.php +++ b/app/Member/Member.php @@ -304,12 +304,17 @@ class Member extends Model implements Geolocatable public static function booted() { + static::created(function (self $model): void { + $model->bankAccount()->create([]); + }); + static::deleting(function (self $model): void { $model->memberships->each->delete(); $model->courses->each->delete(); $model->invoicePositions->each(function ($position) { $position->delete(); }); + $model->bankAccount()->delete(); }); }