owner instanceof \App\Models\Transaction && $status == ApprovalStatus::APPROVED) { $packingList = $model->owner->owner; $order = $packingList->owner()->first(); $companyModule = $order->companyModule()->first(); $companyName = $companyModule->name; $companyReference = $companyModule->inviters()->withPivot('invitee_reference')->first()->pivot->invitee_reference; $employee = $companyModule->employees()->first(); $contactEmail = $employee->email; $contactName = $employee->name; $orderReference = $order->reference; $packingListReference = $packingList->reference; $projectName = 'IZYIM | X1 Shipping | '.$orderReference.' | '.$packingListReference; $bookingMarking = $packingList->id."-".$packingList->owner->id; $updatePerfexCRMObject = new UpdatePerfexCRMObject( $companyName, $companyReference, $contactName, $contactEmail, $bookingMarking, $projectName, PerfexCRMProjectStatus::IN_PROGRESS, [], [ // PerfexCRMTasks::TASK_1, // PerfexCRMTasks::TASK_POST_PAYMENT_1, // PerfexCRMTasks::TASK_POST_PAYMENT_2, // PerfexCRMTasks::TASK_POST_PAYMENT_3, // PerfexCRMTasks::TASK_POST_PAYMENT_4, ] ); UpdatePerfexCRMPrelude::dispatch(null, $model, $updatePerfexCRMObject, UpdatePerfexCRM::class, UpdatePerfexCRMInvoice::class); } else if($model->owner instanceof \App\Models\PackingList && $model->status == ApprovalStatus::PENDING_SUBMISSION && $status == ApprovalStatus::APPROVED) { CreatePerfexCRMInvoice::dispatch($model); } } catch (\Exception $exception) { Log::error('TransactionToPerfexCRMProcessor debug:'); Log::error($exception); } return true; } }