mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-04 16:04: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
|
||||
|
||||
#options - snappdf / phantom / hosted_ninja
|
||||
PDF_GENERATOR=phantom
|
||||
PDF_GENERATOR=hosted_ninja
|
||||
|
||||
PHANTOMJS_KEY='a-demo-key-with-low-quota-per-ip-address'
|
||||
PHANTOMJS_SECRET=secret
|
||||
|
@ -29,6 +29,7 @@ class WePayController extends BaseController
|
||||
*/
|
||||
public function signup(string $token)
|
||||
{
|
||||
return render('gateways.wepay.signup.finished');
|
||||
|
||||
$hash = Cache::get($token);
|
||||
|
||||
|
@ -111,9 +111,10 @@ class PaymentFailedMailer implements ShouldQueue
|
||||
|
||||
//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();
|
||||
|
||||
$nmo = new NinjaMailerObject;
|
||||
|
@ -245,7 +245,7 @@ class GoCardlessPaymentDriver extends BaseDriver
|
||||
sleep(1);
|
||||
|
||||
foreach ($request->events as $event) {
|
||||
if ($event['action'] === 'confirmed') {
|
||||
if ($event['action'] === 'confirmed' || $event['action'] === 'paid_out') {
|
||||
|
||||
nlog("Searching for transaction reference");
|
||||
|
||||
|
@ -579,7 +579,7 @@ class StripePaymentDriver extends BaseDriver
|
||||
if(array_key_exists('payment_intent', $transaction))
|
||||
{
|
||||
$payment = Payment::query()
|
||||
->where('company_id', $request->getCompany()->id)
|
||||
// ->where('company_id', $request->getCompany()->id)
|
||||
->where(function ($query) use ($transaction) {
|
||||
$query->where('transaction_reference', $transaction['payment_intent'])
|
||||
->orWhere('transaction_reference', $transaction['id']);
|
||||
@ -589,7 +589,7 @@ class StripePaymentDriver extends BaseDriver
|
||||
else
|
||||
{
|
||||
$payment = Payment::query()
|
||||
->where('company_id', $request->getCompany()->id)
|
||||
// ->where('company_id', $request->getCompany()->id)
|
||||
->where('transaction_reference', $transaction['id'])
|
||||
->first();
|
||||
}
|
||||
|
@ -51,92 +51,83 @@ class UpdateReminder extends AbstractService
|
||||
|
||||
if (is_null($this->invoice->reminder1_sent) &&
|
||||
$this->settings->schedule_reminder1 == 'after_invoice_date' &&
|
||||
$this->settings->enable_reminder1 &&
|
||||
$this->settings->num_days_reminder1 != 0) {
|
||||
$this->settings->enable_reminder1) {
|
||||
$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)))
|
||||
$date_collection->push($reminder_date); nlog("settings reminder 1 after due date");
|
||||
$date_collection->push($reminder_date);
|
||||
}
|
||||
|
||||
if (is_null($this->invoice->reminder1_sent) &&
|
||||
$this->settings->schedule_reminder1 == 'before_due_date' &&
|
||||
$this->settings->enable_reminder1 &&
|
||||
$this->settings->num_days_reminder1 != 0) {
|
||||
$this->settings->enable_reminder1) {
|
||||
$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)))
|
||||
$date_collection->push($reminder_date); nlog("settings reminder 1 before_due_date");
|
||||
$date_collection->push($reminder_date);
|
||||
}
|
||||
|
||||
if (is_null($this->invoice->reminder1_sent) &&
|
||||
$this->settings->schedule_reminder1 == 'after_due_date' &&
|
||||
$this->settings->enable_reminder1 &&
|
||||
$this->settings->num_days_reminder1 != 0) {
|
||||
$this->settings->enable_reminder1) {
|
||||
$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)))
|
||||
$date_collection->push($reminder_date); nlog("settings reminder 1 after_due_date");
|
||||
$date_collection->push($reminder_date);
|
||||
}
|
||||
|
||||
if (is_null($this->invoice->reminder2_sent) &&
|
||||
$this->settings->schedule_reminder2 == 'after_invoice_date' &&
|
||||
$this->settings->enable_reminder2 &&
|
||||
$this->settings->num_days_reminder2 != 0) {
|
||||
$this->settings->enable_reminder2) {
|
||||
$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)))
|
||||
$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) &&
|
||||
$this->settings->schedule_reminder2 == 'before_due_date' &&
|
||||
$this->settings->enable_reminder2 &&
|
||||
$this->settings->num_days_reminder2 != 0) {
|
||||
$this->settings->enable_reminder2) {
|
||||
$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)))
|
||||
$date_collection->push($reminder_date); nlog("settings reminder 2 before_due_date");
|
||||
$date_collection->push($reminder_date);
|
||||
}
|
||||
|
||||
if (is_null($this->invoice->reminder2_sent) &&
|
||||
$this->settings->schedule_reminder2 == 'after_due_date' &&
|
||||
$this->settings->enable_reminder2 &&
|
||||
$this->settings->num_days_reminder2 != 0) {
|
||||
$this->settings->enable_reminder2) {
|
||||
$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)))
|
||||
$date_collection->push($reminder_date); nlog("settings reminder 2 after_due_date");
|
||||
$date_collection->push($reminder_date);
|
||||
}
|
||||
|
||||
if (is_null($this->invoice->reminder3_sent) &&
|
||||
$this->settings->schedule_reminder3 == 'after_invoice_date' &&
|
||||
$this->settings->enable_reminder3 &&
|
||||
$this->settings->num_days_reminder3 != 0) {
|
||||
$this->settings->enable_reminder3) {
|
||||
$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)))
|
||||
$date_collection->push($reminder_date); nlog("settings reminder 3 after_invoice_date");
|
||||
$date_collection->push($reminder_date);
|
||||
}
|
||||
|
||||
if (is_null($this->invoice->reminder3_sent) &&
|
||||
$this->settings->schedule_reminder3 == 'before_due_date' &&
|
||||
$this->settings->enable_reminder3 &&
|
||||
$this->settings->num_days_reminder3 != 0) {
|
||||
$this->settings->enable_reminder3) {
|
||||
$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)))
|
||||
$date_collection->push($reminder_date); nlog("settings reminder 3 before_due_date");
|
||||
$date_collection->push($reminder_date);
|
||||
}
|
||||
|
||||
if (is_null($this->invoice->reminder3_sent) &&
|
||||
$this->settings->schedule_reminder3 == 'after_due_date' &&
|
||||
$this->settings->enable_reminder3 &&
|
||||
$this->settings->num_days_reminder3 != 0) {
|
||||
$this->settings->enable_reminder3) {
|
||||
$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)))
|
||||
$date_collection->push($reminder_date); nlog("settings reminder 3 after_due_date");
|
||||
$date_collection->push($reminder_date);
|
||||
}
|
||||
|
||||
if ($this->invoice->last_sent_date &&
|
||||
@ -149,7 +140,7 @@ class UpdateReminder extends AbstractService
|
||||
$reminder_date->addSeconds($offset);
|
||||
|
||||
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 = [];
|
||||
$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 [];
|
||||
}
|
||||
|
||||
@ -56,7 +60,11 @@ trait UserNotifies
|
||||
$notifiable_methods = [];
|
||||
$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 [];
|
||||
}
|
||||
|
||||
@ -125,7 +133,10 @@ trait UserNotifies
|
||||
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 [];
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user