diff --git a/app/Events/Payment/PaymentWasEmailed.php b/app/Events/Payment/PaymentWasEmailed.php index 2f37e867f4fb..284d52de4880 100644 --- a/app/Events/Payment/PaymentWasEmailed.php +++ b/app/Events/Payment/PaymentWasEmailed.php @@ -13,9 +13,10 @@ namespace App\Events\Payment; use App\Models\Company; use App\Models\Payment; -use Illuminate\Broadcasting\InteractsWithSockets; -use Illuminate\Foundation\Events\Dispatchable; +use App\Models\ClientContact; use Illuminate\Queue\SerializesModels; +use Illuminate\Foundation\Events\Dispatchable; +use Illuminate\Broadcasting\InteractsWithSockets; /** * Class PaymentWasEmailed. @@ -24,26 +25,15 @@ class PaymentWasEmailed { use Dispatchable, InteractsWithSockets, SerializesModels; - /** - * @var Payment - */ - public $payment; - - public $company; - - public $event_vars; - /** * Create a new event instance. * * @param Payment $payment * @param Company $company + * @param ClientContact $contact * @param array $event_vars */ - public function __construct(Payment $payment, Company $company, array $event_vars) + public function __construct(public Payment $payment, public Company $company, public ClientContact $contact, public array $event_vars) { - $this->payment = $payment; - $this->company = $company; - $this->event_vars = $event_vars; } } diff --git a/app/Http/Controllers/ActivityController.php b/app/Http/Controllers/ActivityController.php index 5d3d67fa619b..865c43376532 100644 --- a/app/Http/Controllers/ActivityController.php +++ b/app/Http/Controllers/ActivityController.php @@ -96,7 +96,6 @@ class ActivityController extends BaseController if (!auth()->user()->isAdmin()) { $activities->where('user_id', auth()->user()->id); } - // return response()->json(['data' => []], 200); $system = ctrans('texts.system'); @@ -104,7 +103,7 @@ class ActivityController extends BaseController $arr = [ 'client' => $activity->client ? $activity->client : '', - 'contact' => $activity->contact ? $activity->contact : '', + 'contact' => $activity->client ? $activity->contact : '', 'quote' => $activity->quote ? $activity->quote : '', 'user' => $activity->user ? $activity->user : '', 'expense' => $activity->expense ? $activity->expense : '', @@ -119,8 +118,19 @@ class ActivityController extends BaseController 'vendor_contact' => $activity->vendor_contact ? $activity->vendor_contact : '', 'recurring_expense' => $activity->recurring_expense ? $activity->recurring_expense : '', ]; + + $activity_array = $activity->toArray(); + $activity_meta = []; + $activity_meta['hashed_id'] = $activity->hashed_id; + $activity_meta['notes'] = $activity->notes; + $activity_meta['ip'] = $activity->ip; + $activity_meta['activity_type_id'] = $activity->activity_type_id; + $activity_meta['created_at'] = $activity->created_at; + $activity_meta['updated_at'] = $activity->updated_at; + $activity_meta['is_system'] = $activity->is_system; + // $activity_meta['currency_id'] = $activity->currency_id; - return array_merge($arr, $activity->toArray()); + return array_merge($arr, $activity_meta); }); return response()->json(['data' => $data->toArray()], 200); diff --git a/app/Jobs/Payment/EmailPayment.php b/app/Jobs/Payment/EmailPayment.php index b05c9945e6ed..edcdf83a4c3f 100644 --- a/app/Jobs/Payment/EmailPayment.php +++ b/app/Jobs/Payment/EmailPayment.php @@ -96,7 +96,7 @@ class EmailPayment implements ShouldQueue (new NinjaMailerJob($nmo))->handle(); - event(new PaymentWasEmailed($this->payment, $this->payment->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); + event(new PaymentWasEmailed($this->payment, $this->payment->company, $this->contact, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); } } } diff --git a/app/Jobs/Payment/EmailRefundPayment.php b/app/Jobs/Payment/EmailRefundPayment.php index ef79ac773b0d..a6e5de75b2a2 100644 --- a/app/Jobs/Payment/EmailRefundPayment.php +++ b/app/Jobs/Payment/EmailRefundPayment.php @@ -101,7 +101,7 @@ class EmailRefundPayment implements ShouldQueue (new NinjaMailerJob($nmo))->handle(); - event(new PaymentWasEmailed($this->payment, $this->payment->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); + event(new PaymentWasEmailed($this->payment, $this->payment->company, $this->contact, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); } } } diff --git a/app/Listeners/Payment/PaymentEmailedActivity.php b/app/Listeners/Payment/PaymentEmailedActivity.php index 16149f9cd3d1..db5698a58e26 100644 --- a/app/Listeners/Payment/PaymentEmailedActivity.php +++ b/app/Listeners/Payment/PaymentEmailedActivity.php @@ -45,6 +45,7 @@ class PaymentEmailedActivity implements ShouldQueue $fields->user_id = $user_id; $fields->client_id = $event->payment->client_id; + $fields->client_contact_id = $event->contact->id; $fields->company_id = $event->payment->company_id; $fields->activity_type_id = Activity::PAYMENT_EMAILED; $fields->payment_id = $event->payment->id; diff --git a/app/Models/Activity.php b/app/Models/Activity.php index d25a3333ecf4..a5091f79bd8d 100644 --- a/app/Models/Activity.php +++ b/app/Models/Activity.php @@ -346,7 +346,7 @@ class Activity extends StaticModel */ public function contact() { - return $this->belongsTo(ClientContact::class)->withTrashed(); + return $this->belongsTo(ClientContact::class, 'client_contact_id', 'id')->withTrashed(); } /** diff --git a/app/Services/Payment/SendEmail.php b/app/Services/Payment/SendEmail.php index fdd630d0486c..6253911dac9c 100644 --- a/app/Services/Payment/SendEmail.php +++ b/app/Services/Payment/SendEmail.php @@ -33,14 +33,7 @@ class SendEmail $this->contact = $this->payment->client->contacts()->first(); } - // $this->payment->invoices->sortByDesc('id')->first(function ($invoice) { - // $invoice->invitations->each(function ($invitation) { - // if (!$invitation->contact->trashed() && $invitation->contact->email) { EmailPayment::dispatch($this->payment, $this->payment->company, $this->contact); - - // event(new PaymentWasEmailed($this->payment, $this->payment->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); - // } - // }); - // }); + } } diff --git a/lang/en/texts.php b/lang/en/texts.php index a51ee140b234..aa92fb260bf5 100644 --- a/lang/en/texts.php +++ b/lang/en/texts.php @@ -754,7 +754,7 @@ $LANG = array( 'activity_7' => ':contact viewed invoice :invoice for :client', 'activity_8' => ':user archived invoice :invoice', 'activity_9' => ':user deleted invoice :invoice', - 'activity_10' => ':contact entered payment :payment for :payment_amount on invoice :invoice for :client', + 'activity_10' => ':user entered payment :payment for :payment_amount on invoice :invoice for :client', 'activity_11' => ':user updated payment :payment', 'activity_12' => ':user archived payment :payment', 'activity_13' => ':user deleted payment :payment',