From bde4fc046c64d8e3585fc9bc5476145ace885958 Mon Sep 17 00:00:00 2001 From: philipp lang <philipp@aweos.de> Date: Sat, 19 Nov 2022 00:21:58 +0100 Subject: [PATCH] mod layout --- app/Gender.php | 9 +++++++++ app/Member/MemberResource.php | 1 + resources/js/views/member/ShowView.vue | 6 ++---- tests/Feature/Member/ShowTest.php | 10 +++++----- 4 files changed, 17 insertions(+), 9 deletions(-) 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 ******************************* --> <div class="bg-gray-800 p-3 grid grid-cols-2 justify-start gap-3 rounded-lg"> <heading class="col-span-full">Stammdaten</heading> - <key-value label="Geschlecht" :value="inner.gender_name"></key-value> - <key-value label="Vorname" :value="inner.firstname"></key-value> - <key-value label="Nachname" :value="inner.lastname"></key-value> - <key-value label="Adresse" :value="inner.full_address"></key-value> + <key-value class="col-span-2" label="Name" :value="inner.fullname"></key-value> + <key-value class="col-span-2" label="Adresse" :value="inner.full_address"></key-value> <key-value label="Geburtsdatum" :value="inner.birthday_human"></key-value> <key-value label="Alter" :value="inner.age"></key-value> <key-value label="Bundesland" :value="inner.region.name"></key-value> 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', ],