Fixes for activity records

This commit is contained in:
David Bomba 2023-06-24 10:09:14 +10:00
parent 4999f0ef6d
commit a96eb6119c
8 changed files with 24 additions and 30 deletions

View File

@ -13,9 +13,10 @@ namespace App\Events\Payment;
use App\Models\Company; use App\Models\Company;
use App\Models\Payment; use App\Models\Payment;
use Illuminate\Broadcasting\InteractsWithSockets; use App\Models\ClientContact;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
/** /**
* Class PaymentWasEmailed. * Class PaymentWasEmailed.
@ -24,26 +25,15 @@ class PaymentWasEmailed
{ {
use Dispatchable, InteractsWithSockets, SerializesModels; use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* @var Payment
*/
public $payment;
public $company;
public $event_vars;
/** /**
* Create a new event instance. * Create a new event instance.
* *
* @param Payment $payment * @param Payment $payment
* @param Company $company * @param Company $company
* @param ClientContact $contact
* @param array $event_vars * @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;
} }
} }

View File

@ -96,7 +96,6 @@ class ActivityController extends BaseController
if (!auth()->user()->isAdmin()) { if (!auth()->user()->isAdmin()) {
$activities->where('user_id', auth()->user()->id); $activities->where('user_id', auth()->user()->id);
} }
// return response()->json(['data' => []], 200);
$system = ctrans('texts.system'); $system = ctrans('texts.system');
@ -104,7 +103,7 @@ class ActivityController extends BaseController
$arr = $arr =
[ [
'client' => $activity->client ? $activity->client : '', 'client' => $activity->client ? $activity->client : '',
'contact' => $activity->contact ? $activity->contact : '', 'contact' => $activity->client ? $activity->contact : '',
'quote' => $activity->quote ? $activity->quote : '', 'quote' => $activity->quote ? $activity->quote : '',
'user' => $activity->user ? $activity->user : '', 'user' => $activity->user ? $activity->user : '',
'expense' => $activity->expense ? $activity->expense : '', 'expense' => $activity->expense ? $activity->expense : '',
@ -119,8 +118,19 @@ class ActivityController extends BaseController
'vendor_contact' => $activity->vendor_contact ? $activity->vendor_contact : '', 'vendor_contact' => $activity->vendor_contact ? $activity->vendor_contact : '',
'recurring_expense' => $activity->recurring_expense ? $activity->recurring_expense : '', '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); return response()->json(['data' => $data->toArray()], 200);

View File

@ -96,7 +96,7 @@ class EmailPayment implements ShouldQueue
(new NinjaMailerJob($nmo))->handle(); (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)));
} }
} }
} }

View File

@ -101,7 +101,7 @@ class EmailRefundPayment implements ShouldQueue
(new NinjaMailerJob($nmo))->handle(); (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)));
} }
} }
} }

View File

@ -45,6 +45,7 @@ class PaymentEmailedActivity implements ShouldQueue
$fields->user_id = $user_id; $fields->user_id = $user_id;
$fields->client_id = $event->payment->client_id; $fields->client_id = $event->payment->client_id;
$fields->client_contact_id = $event->contact->id;
$fields->company_id = $event->payment->company_id; $fields->company_id = $event->payment->company_id;
$fields->activity_type_id = Activity::PAYMENT_EMAILED; $fields->activity_type_id = Activity::PAYMENT_EMAILED;
$fields->payment_id = $event->payment->id; $fields->payment_id = $event->payment->id;

View File

@ -346,7 +346,7 @@ class Activity extends StaticModel
*/ */
public function contact() public function contact()
{ {
return $this->belongsTo(ClientContact::class)->withTrashed(); return $this->belongsTo(ClientContact::class, 'client_contact_id', 'id')->withTrashed();
} }
/** /**

View File

@ -33,14 +33,7 @@ class SendEmail
$this->contact = $this->payment->client->contacts()->first(); $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); 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)));
// }
// });
// });
} }
} }

View File

@ -754,7 +754,7 @@ $LANG = array(
'activity_7' => ':contact viewed invoice :invoice for :client', 'activity_7' => ':contact viewed invoice :invoice for :client',
'activity_8' => ':user archived invoice :invoice', 'activity_8' => ':user archived invoice :invoice',
'activity_9' => ':user deleted 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_11' => ':user updated payment :payment',
'activity_12' => ':user archived payment :payment', 'activity_12' => ':user archived payment :payment',
'activity_13' => ':user deleted payment :payment', 'activity_13' => ':user deleted payment :payment',