Add group name
This commit is contained in:
parent
86885b153d
commit
eb6dd27bf4
|
@ -11,6 +11,7 @@ use App\Group;
|
|||
use App\Member\Member;
|
||||
use App\Nationality;
|
||||
use App\Region;
|
||||
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
||||
use Zoomyboy\LaravelNami\Member as NamiMember;
|
||||
|
||||
class InitializeMembers {
|
||||
|
@ -38,35 +39,39 @@ class InitializeMembers {
|
|||
$this->bar->task('Synchronisiere Mitglieder', function() {
|
||||
$this->api->search([])->each(function($member) {
|
||||
$member = NamiMember::fromNami($this->api->member($member->group_id, $member->id));
|
||||
$m = Member::create([
|
||||
'firstname' => $member->firstname,
|
||||
'lastname' => $member->lastname,
|
||||
'nickname' => $member->nickname,
|
||||
'joined_at' => $member->joined_at,
|
||||
'birthday' => $member->birthday,
|
||||
'send_newspaper' => $member->send_newspaper,
|
||||
'address' => $member->address,
|
||||
'zip' => $member->zip,
|
||||
'location' => $member->location,
|
||||
'nickname' => $member->nickname,
|
||||
'other_country' => $member->other_country,
|
||||
'further_address' => $member->further_address,
|
||||
'main_phone' => $member->main_phone,
|
||||
'mobile_phone' => $member->mobile_phone,
|
||||
'work_phone' => $member->work_phone,
|
||||
'fax' => $member->fax,
|
||||
'email' => $member->email,
|
||||
'email_parents' => $member->email_parents,
|
||||
'nami_id' => $member->id,
|
||||
'group_id' => Group::firstOrCreate(['nami_id' => $member->group_id], ['nami_id' => $member->group_id, 'name' => 'AAA'])->id,
|
||||
'gender_id' => optional(Gender::firstWhere('nami_id', $member->gender_id ?: -1))->id,
|
||||
'confession_id' => optional(Confession::firstWhere('nami_id', $member->confession_id ?: -1))->id,
|
||||
'region_id' => optional(Region::firstWhere('nami_id', $member->region_id ?: -1))->id,
|
||||
'country_id' => Country::where('nami_id', $member->country_id)->firstOrFail()->id,
|
||||
'subscription_id' => $this->getSubscriptionId($member),
|
||||
'nationality_id' => Nationality::where('nami_id', $member->nationality_id)->firstOrFail()->id,
|
||||
'version' => $member->version,
|
||||
]);
|
||||
try {
|
||||
$m = Member::create([
|
||||
'firstname' => $member->firstname,
|
||||
'lastname' => $member->lastname,
|
||||
'nickname' => $member->nickname,
|
||||
'joined_at' => $member->joined_at,
|
||||
'birthday' => $member->birthday,
|
||||
'send_newspaper' => $member->send_newspaper,
|
||||
'address' => $member->address,
|
||||
'zip' => $member->zip,
|
||||
'location' => $member->location,
|
||||
'nickname' => $member->nickname,
|
||||
'other_country' => $member->other_country,
|
||||
'further_address' => $member->further_address,
|
||||
'main_phone' => $member->main_phone,
|
||||
'mobile_phone' => $member->mobile_phone,
|
||||
'work_phone' => $member->work_phone,
|
||||
'fax' => $member->fax,
|
||||
'email' => $member->email,
|
||||
'email_parents' => $member->email_parents,
|
||||
'nami_id' => $member->id,
|
||||
'group_id' => Group::firstOrCreate(['nami_id' => $member->group_id], ['nami_id' => $member->group_id, 'name' => $member->group_name])->id,
|
||||
'gender_id' => optional(Gender::firstWhere('nami_id', $member->gender_id ?: -1))->id,
|
||||
'confession_id' => optional(Confession::firstWhere('nami_id', $member->confession_id ?: -1))->id,
|
||||
'region_id' => optional(Region::firstWhere('nami_id', $member->region_id ?: -1))->id,
|
||||
'country_id' => Country::where('nami_id', $member->country_id)->firstOrFail()->id,
|
||||
'subscription_id' => $this->getSubscriptionId($member),
|
||||
'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
|
|
@ -47,6 +47,7 @@ class InitializeTest extends TestCase
|
|||
'strasse' => '::street',
|
||||
'plz' => '12345',
|
||||
'ort' => '::location::',
|
||||
'gruppierung' => '::group::',
|
||||
'version' => 40,
|
||||
]);
|
||||
} else {
|
||||
|
@ -97,6 +98,7 @@ class InitializeTest extends TestCase
|
|||
'name' => 'Leiter',
|
||||
'nami_id' => 305
|
||||
]);
|
||||
$this->assertDatabaseHas('groups', ['nami_id' => 1000, 'name' => '::group::']);
|
||||
$this->assertDatabaseHas('members', [
|
||||
'nami_id' => 411,
|
||||
'gender_id' => Gender::nami(303)->id,
|
||||
|
@ -155,6 +157,7 @@ class InitializeTest extends TestCase
|
|||
'plz' => '12345',
|
||||
'ort' => '::location::',
|
||||
'version' => 40,
|
||||
'gruppierung' => '::group::',
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue