123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- <?php
-
- namespace App\Listeners;
-
- use App\Enums\Common\ContactType;
- use App\Models\Company;
- use App\Models\User;
- use Wallo\FilamentCompanies\Events\CompanyEmployeeAdded;
-
- class CreateEmployeeContact
- {
- /**
- * Create the event listener.
- */
- public function __construct()
- {
- //
- }
-
- /**
- * Handle the event.
- */
- public function handle(CompanyEmployeeAdded $event): void
- {
- /** @var Company $company */
- $company = $event->company;
-
- /** @var User $employee */
- $employee = $event->user;
-
- $nameParts = explode(' ', $employee->name, 2);
- $firstName = $nameParts[0];
- $lastName = $nameParts[1] ?? '';
-
- $employee->contacts()->create([
- 'company_id' => $company->id,
- 'type' => ContactType::Employee,
- 'first_name' => $firstName,
- 'last_name' => $lastName,
- 'email' => $employee->email,
- 'created_by' => $company->owner->id,
- 'updated_by' => $company->owner->id,
- ]);
- }
- }
|