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) { 'company' => function ($query) use ($created_at, $user) {
$query->whereNotNull('created_at')->with('documents'); $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')) if(!$user->hasPermission('view_client'))
$query->where('clients.user_id', $user->id)->orWhere('clients.assigned_user_id', $user->id); $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); set_time_limit(0);
$invoice->service()->removeUnpaidGatewayFees()->save();
$data = [ $data = [
'invoice' => $invoice, 'invoice' => $invoice,
]; ];

View File

@ -97,6 +97,10 @@ class PaymentController extends Controller
$payable_invoices = collect($request->payable_invoices); $payable_invoices = collect($request->payable_invoices);
$invoices = Invoice::whereIn('id', $this->transformKeys($payable_invoices->pluck('invoice_id')->toArray()))->get(); $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 */ /* pop non payable invoice from the $payable_invoices array */
$payable_invoices = $payable_invoices->filter(function ($payable_invoice) use ($invoices) { $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) public function addGatewayFee(CompanyGateway $company_gateway, $gateway_type_id, float $amount)
{ {
$this->invoice = (new AddGatewayFee($company_gateway, $gateway_type_id, $this->invoice, $amount))->run(); $this->invoice = (new AddGatewayFee($company_gateway, $gateway_type_id, $this->invoice, $amount))->run();
return $this; return $this;