Fixes for gateway fees

This commit is contained in:
David Bomba 2021-05-03 21:51:00 +10:00
parent ade5472d9e
commit 5510993d13
4 changed files with 9 additions and 1 deletions

View File

@ -395,7 +395,8 @@ class BaseController extends Controller
'company' => function ($query) use ($created_at, $user) {
$query->whereNotNull('created_at')->with('documents');
},
'company.clients' => function ($query) use ($user) {
'company.clients' => function ($query) use ($created_at, $user) {
$query->where('clients.created_at', '>=', $created_at)->with('contacts.company', 'gateway_tokens', 'documents');
if(!$user->hasPermission('view_client'))
$query->where('clients.user_id', $user->id)->orWhere('clients.assigned_user_id', $user->id);

View File

@ -50,6 +50,8 @@ class InvoiceController extends Controller
{
set_time_limit(0);
$invoice->service()->removeUnpaidGatewayFees()->save();
$data = [
'invoice' => $invoice,
];

View File

@ -97,6 +97,10 @@ class PaymentController extends Controller
$payable_invoices = collect($request->payable_invoices);
$invoices = Invoice::whereIn('id', $this->transformKeys($payable_invoices->pluck('invoice_id')->toArray()))->get();
$invoices->each(function($invoice){
$invoice->service()->removeUnpaidGatewayFees()->save();
});
/* pop non payable invoice from the $payable_invoices array */
$payable_invoices = $payable_invoices->filter(function ($payable_invoice) use ($invoices) {

View File

@ -110,6 +110,7 @@ class InvoiceService
public function addGatewayFee(CompanyGateway $company_gateway, $gateway_type_id, float $amount)
{
$this->invoice = (new AddGatewayFee($company_gateway, $gateway_type_id, $this->invoice, $amount))->run();
return $this;