Add group name

This commit is contained in:
philipp lang 2021-11-18 00:09:37 +01:00
parent 86885b153d
commit eb6dd27bf4
3 changed files with 38 additions and 30 deletions

View File

@ -11,6 +11,7 @@ use App\Group;
use App\Member\Member; use App\Member\Member;
use App\Nationality; use App\Nationality;
use App\Region; use App\Region;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Zoomyboy\LaravelNami\Member as NamiMember; use Zoomyboy\LaravelNami\Member as NamiMember;
class InitializeMembers { class InitializeMembers {
@ -38,35 +39,39 @@ class InitializeMembers {
$this->bar->task('Synchronisiere Mitglieder', function() { $this->bar->task('Synchronisiere Mitglieder', function() {
$this->api->search([])->each(function($member) { $this->api->search([])->each(function($member) {
$member = NamiMember::fromNami($this->api->member($member->group_id, $member->id)); $member = NamiMember::fromNami($this->api->member($member->group_id, $member->id));
$m = Member::create([ try {
'firstname' => $member->firstname, $m = Member::create([
'lastname' => $member->lastname, 'firstname' => $member->firstname,
'nickname' => $member->nickname, 'lastname' => $member->lastname,
'joined_at' => $member->joined_at, 'nickname' => $member->nickname,
'birthday' => $member->birthday, 'joined_at' => $member->joined_at,
'send_newspaper' => $member->send_newspaper, 'birthday' => $member->birthday,
'address' => $member->address, 'send_newspaper' => $member->send_newspaper,
'zip' => $member->zip, 'address' => $member->address,
'location' => $member->location, 'zip' => $member->zip,
'nickname' => $member->nickname, 'location' => $member->location,
'other_country' => $member->other_country, 'nickname' => $member->nickname,
'further_address' => $member->further_address, 'other_country' => $member->other_country,
'main_phone' => $member->main_phone, 'further_address' => $member->further_address,
'mobile_phone' => $member->mobile_phone, 'main_phone' => $member->main_phone,
'work_phone' => $member->work_phone, 'mobile_phone' => $member->mobile_phone,
'fax' => $member->fax, 'work_phone' => $member->work_phone,
'email' => $member->email, 'fax' => $member->fax,
'email_parents' => $member->email_parents, 'email' => $member->email,
'nami_id' => $member->id, 'email_parents' => $member->email_parents,
'group_id' => Group::firstOrCreate(['nami_id' => $member->group_id], ['nami_id' => $member->group_id, 'name' => 'AAA'])->id, 'nami_id' => $member->id,
'gender_id' => optional(Gender::firstWhere('nami_id', $member->gender_id ?: -1))->id, 'group_id' => Group::firstOrCreate(['nami_id' => $member->group_id], ['nami_id' => $member->group_id, 'name' => $member->group_name])->id,
'confession_id' => optional(Confession::firstWhere('nami_id', $member->confession_id ?: -1))->id, 'gender_id' => optional(Gender::firstWhere('nami_id', $member->gender_id ?: -1))->id,
'region_id' => optional(Region::firstWhere('nami_id', $member->region_id ?: -1))->id, 'confession_id' => optional(Confession::firstWhere('nami_id', $member->confession_id ?: -1))->id,
'country_id' => Country::where('nami_id', $member->country_id)->firstOrFail()->id, 'region_id' => optional(Region::firstWhere('nami_id', $member->region_id ?: -1))->id,
'subscription_id' => $this->getSubscriptionId($member), 'country_id' => Country::where('nami_id', $member->country_id)->firstOrFail()->id,
'nationality_id' => Nationality::where('nami_id', $member->nationality_id)->firstOrFail()->id, 'subscription_id' => $this->getSubscriptionId($member),
'version' => $member->version, 'nationality_id' => Nationality::where('nami_id', $member->nationality_id)->firstOrFail()->id,
]); 'version' => $member->version,
]);
} catch (ModelNotFoundException $e) {
dd($e->exception(), $member);
}
}); });
}); });
} }

@ -1 +1 @@
Subproject commit b8c67aa5edfcb950435d66211976e26ddadcde91 Subproject commit 2ac35dd8c5226234ccc5755fe77530dfb5ffc4de

View File

@ -47,6 +47,7 @@ class InitializeTest extends TestCase
'strasse' => '::street', 'strasse' => '::street',
'plz' => '12345', 'plz' => '12345',
'ort' => '::location::', 'ort' => '::location::',
'gruppierung' => '::group::',
'version' => 40, 'version' => 40,
]); ]);
} else { } else {
@ -97,6 +98,7 @@ class InitializeTest extends TestCase
'name' => 'Leiter', 'name' => 'Leiter',
'nami_id' => 305 'nami_id' => 305
]); ]);
$this->assertDatabaseHas('groups', ['nami_id' => 1000, 'name' => '::group::']);
$this->assertDatabaseHas('members', [ $this->assertDatabaseHas('members', [
'nami_id' => 411, 'nami_id' => 411,
'gender_id' => Gender::nami(303)->id, 'gender_id' => Gender::nami(303)->id,
@ -155,6 +157,7 @@ class InitializeTest extends TestCase
'plz' => '12345', 'plz' => '12345',
'ort' => '::location::', 'ort' => '::location::',
'version' => 40, 'version' => 40,
'gruppierung' => '::group::',
]); ]);
} }