1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-21 00:41:34 +02:00

Merge pull request #6835 from turbo124/v5-develop

Fixes for statements.
This commit is contained in:
David Bomba 2021-10-14 05:38:24 +11:00 committed by GitHub
commit 9e69752971
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 33 additions and 18 deletions

View File

@ -62,7 +62,7 @@ class ClientPaymentFailureObject
/* Init a new copy of the translator*/
$t = app('translator');
/* Set the locale*/
App::setLocale($this->company->getLocale());
App::setLocale($this->client->locale());
/* Set customized translations _NOW_ */
$t->replace(Ninja::transformTranslations($this->company->settings));

View File

@ -378,12 +378,30 @@ class BaseDriver extends AbstractPaymentDriver
$this->payment_hash
);
if (!is_null($this->payment_hash)) {
SystemLogger::dispatch(
$gateway->payment_hash,
SystemLog::CATEGORY_GATEWAY_RESPONSE,
SystemLog::EVENT_GATEWAY_ERROR,
$gateway::SYSTEM_LOG_TYPE,
$gateway->client,
$gateway->client->company,
);
throw new PaymentFailed($error, $e->getCode());
}
public function clientPaymentFailureMailer($error)
{
nlog("outside");
if ($this->payment_hash && is_array($this->payment_hash->invoices())) {
nlog("inside");
$nmo = new NinjaMailerObject;
$nmo->mailable = new NinjaMailer((new ClientPaymentFailureObject($gateway->client, $error, $gateway->client->company, $this->payment_hash))->build());
$nmo->company = $gateway->client->company;
$nmo->settings = $gateway->client->company->settings;
$nmo->mailable = new NinjaMailer((new ClientPaymentFailureObject($this->client, $error, $this->client->company, $this->payment_hash))->build());
$nmo->company = $this->client->company;
$nmo->settings = $this->client->company->settings;
$invoices = Invoice::whereIn('id', $this->transformKeys(array_column($this->payment_hash->invoices(), 'invoice_id')))->withTrashed()->get();
@ -405,16 +423,6 @@ class BaseDriver extends AbstractPaymentDriver
}
SystemLogger::dispatch(
$gateway->payment_hash,
SystemLog::CATEGORY_GATEWAY_RESPONSE,
SystemLog::EVENT_GATEWAY_ERROR,
$gateway::SYSTEM_LOG_TYPE,
$gateway->client,
$gateway->client->company,
);
throw new PaymentFailed($error, $e->getCode());
}
/**

View File

@ -176,6 +176,8 @@ class CreditCard
PaymentFailureMailer::dispatch($this->checkout->client, $response->response_summary, $this->checkout->client->company, $this->checkout->payment_hash->data->value);
$this->checkout->clientPaymentFailureMailer($response->status);
return $this->processUnsuccessfulPayment($response);
}
} catch (CheckoutHttpException $e) {

View File

@ -219,7 +219,9 @@ class Statement
*/
protected function getInvoices(): Collection
{
return Invoice::where('company_id', $this->client->company_id)
return Invoice::withTrashed()
->where('is_deleted', false)
->where('company_id', $this->client->company_id)
->where('client_id', $this->client->id)
->whereIn('status_id', [Invoice::STATUS_SENT, Invoice::STATUS_PARTIAL, Invoice::STATUS_PAID])
->whereBetween('date', [$this->options['start_date'], $this->options['end_date']])
@ -234,7 +236,9 @@ class Statement
*/
protected function getPayments(): Collection
{
return Payment::with('client.country','invoices')
return Payment::withTrashed()
->with('client.country','invoices')
->where('is_deleted', false)
->where('company_id', $this->client->company_id)
->where('client_id', $this->client->id)
->whereIn('status_id', [Payment::STATUS_COMPLETED, Payment::STATUS_PARTIALLY_REFUNDED, Payment::STATUS_REFUNDED])
@ -286,7 +290,8 @@ class Statement
$from = $ranges[0];
$to = $ranges[1];
$amount = Invoice::where('client_id', $this->client->id)
$amount = Invoice::withTrashed()
->where('client_id', $this->client->id)
->where('company_id', $this->client->company_id)
->whereIn('status_id', [Invoice::STATUS_SENT, Invoice::STATUS_PARTIAL])
->where('balance', '>', 0)