diff --git a/app/Gender.php b/app/Gender.php
index 44fc4090..5d8a9d86 100644
--- a/app/Gender.php
+++ b/app/Gender.php
@@ -12,4 +12,13 @@ class Gender extends Model
use HasFactory;
public $fillable = ['name', 'nami_id'];
+
+ public function getSalutationAttribute(): string
+ {
+ return match ($this->name) {
+ 'Männlich' => 'Herr',
+ 'Weiblich' => 'Frau',
+ default => ''
+ };
+ }
}
diff --git a/app/Member/MemberResource.php b/app/Member/MemberResource.php
index 26bc3fac..14c0318f 100644
--- a/app/Member/MemberResource.php
+++ b/app/Member/MemberResource.php
@@ -39,6 +39,7 @@ class MemberResource extends JsonResource
'subscription_name' => $this->subscription_name,
'gender_id' => $this->gender_id,
'gender_name' => $this->gender?->name ?: 'keine Angabe',
+ 'fullname' => ($this->gender ? $this->gender?->salutation.' ' : '').$this->fullname,
'further_address' => $this->further_address,
'work_phone' => $this->work_phone,
'mobile_phone' => $this->mobile_phone,
diff --git a/resources/js/views/member/ShowView.vue b/resources/js/views/member/ShowView.vue
index 67adf142..45f2955b 100644
--- a/resources/js/views/member/ShowView.vue
+++ b/resources/js/views/member/ShowView.vue
@@ -3,10 +3,8 @@
Stammdaten
-
-
-
-
+
+
diff --git a/tests/Feature/Member/ShowTest.php b/tests/Feature/Member/ShowTest.php
index 5111ebd4..cf799c64 100644
--- a/tests/Feature/Member/ShowTest.php
+++ b/tests/Feature/Member/ShowTest.php
@@ -33,7 +33,7 @@ class ShowTest extends TestCase
->defaults()
->has(Membership::factory()->in('€ LeiterIn', 5, 'Jungpfadfinder', 88)->state(['created_at' => '2022-11-19 05:00:00']))
->has(Payment::factory()->notPaid()->nr('2019')->subscription('Free', 1050))
- ->for(Gender::factory()->name('Herr'))
+ ->for(Gender::factory()->name('Männlich'))
->for(Region::factory()->name('NRW'))
->create([
'birthday' => '1991-04-20',
@@ -41,6 +41,7 @@ class ShowTest extends TestCase
'zip' => '42719',
'location' => 'Solingen',
'firstname' => 'Max',
+ 'lastname' => 'Muster',
'other_country' => 'other',
'main_phone' => '+49 212 1266775',
'mobile_phone' => '+49 212 1266776',
@@ -56,8 +57,6 @@ class ShowTest extends TestCase
$this->assertInertiaHas([
'birthday_human' => '20.04.1991',
'age' => 14,
- 'firstname' => 'Max',
- 'gender_name' => 'Herr',
'full_address' => 'Itterstr 3, 42719 Solingen',
'region' => ['name' => 'NRW'],
'other_country' => 'other',
@@ -68,6 +67,7 @@ class ShowTest extends TestCase
'email' => 'a@b.de',
'email_parents' => 'b@c.de',
'fax' => '+49 212 1255674',
+ 'fullname' => 'Herr Max Muster',
], $response, 'data');
$this->assertInertiaHas([
'activity_name' => '€ LeiterIn',
@@ -92,14 +92,14 @@ class ShowTest extends TestCase
->for(Group::factory())
->for(Nationality::factory()->name('deutsch'))
->for(Subscription::factory()->for(Fee::factory()))
- ->create(['firstname' => 'Max']);
+ ->create(['firstname' => 'Max', 'lastname' => 'Muster']);
$response = $this->get("/member/{$member->id}");
$this->assertInertiaHas([
'region' => ['name' => '-- kein --'],
'nationality' => ['name' => '-- kein --'],
- 'gender_name' => 'keine Angabe',
+ 'fullname' => 'Max Muster',
'nationality' => [
'name' => 'deutsch',
],