mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-06 19:44:35 -04:00
Merge pull request #7440 from turbo124/v5-develop
Fixes for client payment failure emails
This commit is contained in:
commit
766b10fb85
@ -46,7 +46,7 @@ TRUSTED_PROXIES=
|
|||||||
NINJA_ENVIRONMENT=selfhost
|
NINJA_ENVIRONMENT=selfhost
|
||||||
|
|
||||||
#options - snappdf / phantom / hosted_ninja
|
#options - snappdf / phantom / hosted_ninja
|
||||||
PDF_GENERATOR=phantom
|
PDF_GENERATOR=hosted_ninja
|
||||||
|
|
||||||
PHANTOMJS_KEY='a-demo-key-with-low-quota-per-ip-address'
|
PHANTOMJS_KEY='a-demo-key-with-low-quota-per-ip-address'
|
||||||
PHANTOMJS_SECRET=secret
|
PHANTOMJS_SECRET=secret
|
||||||
|
@ -29,6 +29,7 @@ class WePayController extends BaseController
|
|||||||
*/
|
*/
|
||||||
public function signup(string $token)
|
public function signup(string $token)
|
||||||
{
|
{
|
||||||
|
return render('gateways.wepay.signup.finished');
|
||||||
|
|
||||||
$hash = Cache::get($token);
|
$hash = Cache::get($token);
|
||||||
|
|
||||||
|
@ -111,9 +111,10 @@ class PaymentFailedMailer implements ShouldQueue
|
|||||||
|
|
||||||
//add client payment failures here.
|
//add client payment failures here.
|
||||||
//
|
//
|
||||||
if($contact = $this->client->contacts()->first() && $this->payment_hash)
|
if($this->client->contacts()->whereNotNull('email')->exists() && $this->payment_hash)
|
||||||
{
|
{
|
||||||
|
$contact = $this->client->contacts()->whereNotNull('email')->first();
|
||||||
|
|
||||||
$mail_obj = (new ClientPaymentFailureObject($this->client, $this->error, $this->company, $this->payment_hash))->build();
|
$mail_obj = (new ClientPaymentFailureObject($this->client, $this->error, $this->company, $this->payment_hash))->build();
|
||||||
|
|
||||||
$nmo = new NinjaMailerObject;
|
$nmo = new NinjaMailerObject;
|
||||||
|
@ -245,7 +245,7 @@ class GoCardlessPaymentDriver extends BaseDriver
|
|||||||
sleep(1);
|
sleep(1);
|
||||||
|
|
||||||
foreach ($request->events as $event) {
|
foreach ($request->events as $event) {
|
||||||
if ($event['action'] === 'confirmed') {
|
if ($event['action'] === 'confirmed' || $event['action'] === 'paid_out') {
|
||||||
|
|
||||||
nlog("Searching for transaction reference");
|
nlog("Searching for transaction reference");
|
||||||
|
|
||||||
|
@ -579,7 +579,7 @@ class StripePaymentDriver extends BaseDriver
|
|||||||
if(array_key_exists('payment_intent', $transaction))
|
if(array_key_exists('payment_intent', $transaction))
|
||||||
{
|
{
|
||||||
$payment = Payment::query()
|
$payment = Payment::query()
|
||||||
->where('company_id', $request->getCompany()->id)
|
// ->where('company_id', $request->getCompany()->id)
|
||||||
->where(function ($query) use ($transaction) {
|
->where(function ($query) use ($transaction) {
|
||||||
$query->where('transaction_reference', $transaction['payment_intent'])
|
$query->where('transaction_reference', $transaction['payment_intent'])
|
||||||
->orWhere('transaction_reference', $transaction['id']);
|
->orWhere('transaction_reference', $transaction['id']);
|
||||||
@ -589,7 +589,7 @@ class StripePaymentDriver extends BaseDriver
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$payment = Payment::query()
|
$payment = Payment::query()
|
||||||
->where('company_id', $request->getCompany()->id)
|
// ->where('company_id', $request->getCompany()->id)
|
||||||
->where('transaction_reference', $transaction['id'])
|
->where('transaction_reference', $transaction['id'])
|
||||||
->first();
|
->first();
|
||||||
}
|
}
|
||||||
|
@ -51,92 +51,83 @@ class UpdateReminder extends AbstractService
|
|||||||
|
|
||||||
if (is_null($this->invoice->reminder1_sent) &&
|
if (is_null($this->invoice->reminder1_sent) &&
|
||||||
$this->settings->schedule_reminder1 == 'after_invoice_date' &&
|
$this->settings->schedule_reminder1 == 'after_invoice_date' &&
|
||||||
$this->settings->enable_reminder1 &&
|
$this->settings->enable_reminder1) {
|
||||||
$this->settings->num_days_reminder1 != 0) {
|
|
||||||
$reminder_date = Carbon::parse($this->invoice->date)->startOfDay()->addDays($this->settings->num_days_reminder1)->addSeconds($offset);
|
$reminder_date = Carbon::parse($this->invoice->date)->startOfDay()->addDays($this->settings->num_days_reminder1)->addSeconds($offset);
|
||||||
|
|
||||||
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
||||||
$date_collection->push($reminder_date); nlog("settings reminder 1 after due date");
|
$date_collection->push($reminder_date);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_null($this->invoice->reminder1_sent) &&
|
if (is_null($this->invoice->reminder1_sent) &&
|
||||||
$this->settings->schedule_reminder1 == 'before_due_date' &&
|
$this->settings->schedule_reminder1 == 'before_due_date' &&
|
||||||
$this->settings->enable_reminder1 &&
|
$this->settings->enable_reminder1) {
|
||||||
$this->settings->num_days_reminder1 != 0) {
|
|
||||||
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->subDays($this->settings->num_days_reminder1)->addSeconds($offset);
|
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->subDays($this->settings->num_days_reminder1)->addSeconds($offset);
|
||||||
|
|
||||||
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
||||||
$date_collection->push($reminder_date); nlog("settings reminder 1 before_due_date");
|
$date_collection->push($reminder_date);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_null($this->invoice->reminder1_sent) &&
|
if (is_null($this->invoice->reminder1_sent) &&
|
||||||
$this->settings->schedule_reminder1 == 'after_due_date' &&
|
$this->settings->schedule_reminder1 == 'after_due_date' &&
|
||||||
$this->settings->enable_reminder1 &&
|
$this->settings->enable_reminder1) {
|
||||||
$this->settings->num_days_reminder1 != 0) {
|
|
||||||
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->addDays($this->settings->num_days_reminder1)->addSeconds($offset);
|
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->addDays($this->settings->num_days_reminder1)->addSeconds($offset);
|
||||||
|
|
||||||
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
||||||
$date_collection->push($reminder_date); nlog("settings reminder 1 after_due_date");
|
$date_collection->push($reminder_date);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_null($this->invoice->reminder2_sent) &&
|
if (is_null($this->invoice->reminder2_sent) &&
|
||||||
$this->settings->schedule_reminder2 == 'after_invoice_date' &&
|
$this->settings->schedule_reminder2 == 'after_invoice_date' &&
|
||||||
$this->settings->enable_reminder2 &&
|
$this->settings->enable_reminder2) {
|
||||||
$this->settings->num_days_reminder2 != 0) {
|
|
||||||
$reminder_date = Carbon::parse($this->invoice->date)->startOfDay()->addDays($this->settings->num_days_reminder2)->addSeconds($offset);
|
$reminder_date = Carbon::parse($this->invoice->date)->startOfDay()->addDays($this->settings->num_days_reminder2)->addSeconds($offset);
|
||||||
|
|
||||||
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
||||||
$date_collection->push($reminder_date); nlog("settings reminder 2 after_invoice_date = ".$reminder_date->format('Y-m-d'));
|
$date_collection->push($reminder_date);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_null($this->invoice->reminder2_sent) &&
|
if (is_null($this->invoice->reminder2_sent) &&
|
||||||
$this->settings->schedule_reminder2 == 'before_due_date' &&
|
$this->settings->schedule_reminder2 == 'before_due_date' &&
|
||||||
$this->settings->enable_reminder2 &&
|
$this->settings->enable_reminder2) {
|
||||||
$this->settings->num_days_reminder2 != 0) {
|
|
||||||
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->subDays($this->settings->num_days_reminder2)->addSeconds($offset);
|
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->subDays($this->settings->num_days_reminder2)->addSeconds($offset);
|
||||||
|
|
||||||
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
||||||
$date_collection->push($reminder_date); nlog("settings reminder 2 before_due_date");
|
$date_collection->push($reminder_date);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_null($this->invoice->reminder2_sent) &&
|
if (is_null($this->invoice->reminder2_sent) &&
|
||||||
$this->settings->schedule_reminder2 == 'after_due_date' &&
|
$this->settings->schedule_reminder2 == 'after_due_date' &&
|
||||||
$this->settings->enable_reminder2 &&
|
$this->settings->enable_reminder2) {
|
||||||
$this->settings->num_days_reminder2 != 0) {
|
|
||||||
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->addDays($this->settings->num_days_reminder2)->addSeconds($offset);
|
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->addDays($this->settings->num_days_reminder2)->addSeconds($offset);
|
||||||
|
|
||||||
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
||||||
$date_collection->push($reminder_date); nlog("settings reminder 2 after_due_date");
|
$date_collection->push($reminder_date);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_null($this->invoice->reminder3_sent) &&
|
if (is_null($this->invoice->reminder3_sent) &&
|
||||||
$this->settings->schedule_reminder3 == 'after_invoice_date' &&
|
$this->settings->schedule_reminder3 == 'after_invoice_date' &&
|
||||||
$this->settings->enable_reminder3 &&
|
$this->settings->enable_reminder3) {
|
||||||
$this->settings->num_days_reminder3 != 0) {
|
|
||||||
$reminder_date = Carbon::parse($this->invoice->date)->startOfDay()->addDays($this->settings->num_days_reminder3)->addSeconds($offset);
|
$reminder_date = Carbon::parse($this->invoice->date)->startOfDay()->addDays($this->settings->num_days_reminder3)->addSeconds($offset);
|
||||||
|
|
||||||
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
||||||
$date_collection->push($reminder_date); nlog("settings reminder 3 after_invoice_date");
|
$date_collection->push($reminder_date);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_null($this->invoice->reminder3_sent) &&
|
if (is_null($this->invoice->reminder3_sent) &&
|
||||||
$this->settings->schedule_reminder3 == 'before_due_date' &&
|
$this->settings->schedule_reminder3 == 'before_due_date' &&
|
||||||
$this->settings->enable_reminder3 &&
|
$this->settings->enable_reminder3) {
|
||||||
$this->settings->num_days_reminder3 != 0) {
|
|
||||||
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->subDays($this->settings->num_days_reminder3)->addSeconds($offset);
|
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->subDays($this->settings->num_days_reminder3)->addSeconds($offset);
|
||||||
|
|
||||||
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
||||||
$date_collection->push($reminder_date); nlog("settings reminder 3 before_due_date");
|
$date_collection->push($reminder_date);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_null($this->invoice->reminder3_sent) &&
|
if (is_null($this->invoice->reminder3_sent) &&
|
||||||
$this->settings->schedule_reminder3 == 'after_due_date' &&
|
$this->settings->schedule_reminder3 == 'after_due_date' &&
|
||||||
$this->settings->enable_reminder3 &&
|
$this->settings->enable_reminder3) {
|
||||||
$this->settings->num_days_reminder3 != 0) {
|
|
||||||
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->addDays($this->settings->num_days_reminder3)->addSeconds($offset);
|
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->addDays($this->settings->num_days_reminder3)->addSeconds($offset);
|
||||||
|
|
||||||
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
||||||
$date_collection->push($reminder_date); nlog("settings reminder 3 after_due_date");
|
$date_collection->push($reminder_date);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->invoice->last_sent_date &&
|
if ($this->invoice->last_sent_date &&
|
||||||
@ -149,7 +140,7 @@ class UpdateReminder extends AbstractService
|
|||||||
$reminder_date->addSeconds($offset);
|
$reminder_date->addSeconds($offset);
|
||||||
|
|
||||||
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
if ($reminder_date->gt(Carbon::parse($this->invoice->next_send_date)))
|
||||||
$date_collection->push($reminder_date); nlog("settings endless reminder");
|
$date_collection->push($reminder_date);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +32,11 @@ trait UserNotifies
|
|||||||
$notifiable_methods = [];
|
$notifiable_methods = [];
|
||||||
$notifications = $company_user->notifications;
|
$notifications = $company_user->notifications;
|
||||||
|
|
||||||
if ($invitation->company->is_disabled && is_array($notifications->email) || $company_user->trashed() || $company_user->user->trashed()) {
|
if ($invitation->company->is_disabled &&
|
||||||
|
is_array($notifications->email) ||
|
||||||
|
$company_user->trashed() ||
|
||||||
|
!$company_user->user ||
|
||||||
|
$company_user->user->trashed()) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -56,7 +60,11 @@ trait UserNotifies
|
|||||||
$notifiable_methods = [];
|
$notifiable_methods = [];
|
||||||
$notifications = $company_user->notifications;
|
$notifications = $company_user->notifications;
|
||||||
|
|
||||||
if ($entity->company->is_disabled || ! $notifications || $company_user->trashed() || $company_user->user->trashed()) {
|
if ($entity->company->is_disabled ||
|
||||||
|
! $notifications ||
|
||||||
|
$company_user->trashed() ||
|
||||||
|
! $company_user->user ||
|
||||||
|
$company_user->user->trashed()) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -125,7 +133,10 @@ trait UserNotifies
|
|||||||
public function findCompanyUserNotificationType($company_user, $required_permissions) :array
|
public function findCompanyUserNotificationType($company_user, $required_permissions) :array
|
||||||
{
|
{
|
||||||
|
|
||||||
if ($company_user->company->is_disabled || $company_user->trashed() || $company_user->user->trashed()) {
|
if ($company_user->company->is_disabled ||
|
||||||
|
$company_user->trashed() ||
|
||||||
|
!$company_user->user ||
|
||||||
|
$company_user->user->trashed()) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user