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\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;
}
}

View File

@ -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 : '',
@ -120,7 +119,18 @@ class ActivityController extends BaseController
'recurring_expense' => $activity->recurring_expense ? $activity->recurring_expense : '',
];
return array_merge($arr, $activity->toArray());
$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_meta);
});
return response()->json(['data' => $data->toArray()], 200);

View File

@ -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)));
}
}
}

View File

@ -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)));
}
}
}

View File

@ -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;

View File

@ -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();
}
/**

View File

@ -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)));
// }
// });
// });
}
}

View File

@ -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',