Add salutation field
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
9f4f2683a3
commit
a66145e105
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"printWidth": 120,
|
||||
"printWidth": 200,
|
||||
"singleQuote": true,
|
||||
"tabWidth": 4,
|
||||
"quoteProps": "consistent",
|
||||
|
|
|
@ -49,7 +49,7 @@ class Member extends Model
|
|||
/**
|
||||
* @var array<int, string>
|
||||
*/
|
||||
public static array $namiFields = ['firstname', 'lastname', 'joined_at', 'birthday', 'send_newspaper', 'address', 'zip', 'location', 'nickname', 'other_country', 'further_address', 'main_phone', 'mobile_phone', 'work_phone', 'fax', 'email', 'email_parents', 'gender_id', 'confession_id', 'region_id', 'country_id', 'fee_id', 'nationality_id', 'slug', 'search'];
|
||||
public static array $namiFields = ['firstname', 'lastname', 'joined_at', 'birthday', 'send_newspaper', 'address', 'zip', 'location', 'nickname', 'other_country', 'further_address', 'main_phone', 'mobile_phone', 'work_phone', 'fax', 'email', 'email_parents', 'gender_id', 'confession_id', 'region_id', 'country_id', 'fee_id', 'nationality_id', 'slug'];
|
||||
|
||||
/**
|
||||
* @var array<int, string>
|
||||
|
|
|
@ -78,6 +78,7 @@ class MemberRequest extends FormRequest
|
|||
'children_phone' => '',
|
||||
'fax' => '',
|
||||
'other_country' => '',
|
||||
'salutation' => '',
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
@ -89,6 +89,7 @@ class MemberResource extends JsonResource
|
|||
'age' => $this->getModel()->getAge(),
|
||||
'is_leader' => $this->leaderMemberships->count() > 0,
|
||||
'group_id' => $this->group_id,
|
||||
'salutation' => $this->salutation,
|
||||
'links' => [
|
||||
'show' => route('member.show', ['member' => $this->getModel()]),
|
||||
],
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('members', function (Blueprint $table) {
|
||||
$table->string('salutation')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('members', function (Blueprint $table) {
|
||||
$table->dropColumn('salutation');
|
||||
});
|
||||
}
|
||||
};
|
|
@ -21,6 +21,7 @@
|
|||
<div class="grow grid md:grid-cols-2 gap-3 p-3">
|
||||
<box heading="Stammdaten">
|
||||
<div class="grid sm:grid-cols-2 gap-3">
|
||||
<div class="grid grid-cols-2 gap-3">
|
||||
<f-select
|
||||
id="gender_id"
|
||||
name="gender_id"
|
||||
|
@ -29,6 +30,8 @@
|
|||
label="Geschlecht"
|
||||
size="sm"
|
||||
></f-select>
|
||||
<f-text id="salutation" v-model="inner.salutation" size="sm" label="Anrede"></f-text>
|
||||
</div>
|
||||
<f-select
|
||||
:options="nationalities"
|
||||
id="nationality_id"
|
||||
|
|
|
@ -16,7 +16,7 @@ class EditTest extends TestCase
|
|||
{
|
||||
$this->withoutExceptionHandling();
|
||||
$this->login()->loginNami();
|
||||
$member = Member::factory()->defaults()->create(['firstname' => 'Max']);
|
||||
$member = Member::factory()->defaults()->create(['salutation' => 'Doktor', 'firstname' => 'Max']);
|
||||
$activity = Activity::factory()->inNami(66)->hasAttached(Subactivity::factory()->inNami(56)->name('Biber'))->name('€ Mitglied')->create();
|
||||
$subactivity = $activity->subactivities->first();
|
||||
|
||||
|
@ -25,6 +25,7 @@ class EditTest extends TestCase
|
|||
$this->assertInertiaHas('Biber', $response, "subactivities.{$activity->id}.{$subactivity->id}");
|
||||
$this->assertInertiaHas('€ Mitglied', $response, "activities.{$activity->id}");
|
||||
$this->assertInertiaHas('Max', $response, 'data.firstname');
|
||||
$this->assertInertiaHas('Doktor', $response, 'data.salutation');
|
||||
$this->assertInertiaHas('edit', $response, 'mode');
|
||||
$this->assertInertiaHas(false, $response, 'conflict');
|
||||
$this->assertInertiaHas(['name' => 'E-Mail', 'id' => 'E-Mail'], $response, 'billKinds.0');
|
||||
|
|
|
@ -45,6 +45,7 @@ class StoreTest extends TestCase
|
|||
'first_subactivity_id' => $subactivity->id,
|
||||
'subscription_id' => $subscription->id,
|
||||
'bill_kind' => 'Post',
|
||||
'salutation' => 'Doktor',
|
||||
]));
|
||||
|
||||
$response->assertRedirect('/member')->assertSessionHasNoErrors();
|
||||
|
@ -70,6 +71,7 @@ class StoreTest extends TestCase
|
|||
'subscription_id' => $subscription->id,
|
||||
'zip' => '42719',
|
||||
'fax' => '+49 666',
|
||||
'salutation' => 'Doktor',
|
||||
]);
|
||||
NamiPutMemberAction::spy()->shouldHaveReceived('handle')->withArgs(fn (Member $memberParam, Activity $activityParam, Subactivity $subactivityParam) => $memberParam->is($member)
|
||||
&& $activityParam->is($activity)
|
||||
|
|
|
@ -87,6 +87,7 @@ class UpdateTest extends TestCase
|
|||
'has_nami' => false,
|
||||
'multiply_pv' => true,
|
||||
'multiply_more_pv' => true,
|
||||
'salutation' => 'Doktor',
|
||||
]));
|
||||
|
||||
$this->assertEquals('2021-02-01', $member->fresh()->ps_at->format('Y-m-d'));
|
||||
|
@ -98,6 +99,7 @@ class UpdateTest extends TestCase
|
|||
$this->assertEquals('2021-02-03', $member->fresh()->efz->format('Y-m-d'));
|
||||
$this->assertEquals('2021-02-04', $member->fresh()->without_education_at->format('Y-m-d'));
|
||||
$this->assertEquals('2021-02-05', $member->fresh()->without_efz_at->format('Y-m-d'));
|
||||
$this->assertEquals('Doktor', $member->fresh()->salutation);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue