mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-10-31 02:57:30 -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,8 +111,9 @@ 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(); | ||||
| 
 | ||||
|  | ||||
| @ -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