mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-01 20:17:35 -04:00 
			
		
		
		
	Merge branch 'v5-develop' into v5-custom-payment-driver
This commit is contained in:
		
						commit
						e6890e5430
					
				| @ -1 +1 @@ | ||||
| 5.0.33 | ||||
| 5.0.34 | ||||
| @ -11,10 +11,10 @@ | ||||
| 
 | ||||
| namespace App\Console\Commands; | ||||
| 
 | ||||
| use App\Jobs\Util\VersionCheck; | ||||
| use Composer\Console\Application; | ||||
| use Illuminate\Console\Command; | ||||
| use Illuminate\Support\Facades\Artisan; | ||||
| use Log; | ||||
| use Symfony\Component\Console\Input\ArrayInput; | ||||
| 
 | ||||
| class PostUpdate extends Command | ||||
| @ -48,14 +48,14 @@ class PostUpdate extends Command | ||||
| 
 | ||||
|         try { | ||||
|             Artisan::call('migrate', ['--force' => true]); | ||||
|         } catch (Exception $e) { | ||||
|             Log::error("I wasn't able to migrate the data."); | ||||
|         } catch (\Exception $e) { | ||||
|             info("I wasn't able to migrate the data."); | ||||
|         } | ||||
| 
 | ||||
|         try { | ||||
|             Artisan::call('optimize'); | ||||
|         } catch (Exception $e) { | ||||
|             Log::error("I wasn't able to optimize."); | ||||
|         } catch (\Exception $e) { | ||||
|             info("I wasn't able to optimize."); | ||||
|         } | ||||
| 
 | ||||
|         /* For the following to work, the web user (www-data) must own all the directories */ | ||||
| @ -67,6 +67,8 @@ class PostUpdate extends Command | ||||
|         $application->setAutoExit(false); | ||||
|         $application->run($input); | ||||
| 
 | ||||
|         VersionCheck::dispatch(); | ||||
| 
 | ||||
|         echo "Done."; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -11,7 +11,8 @@ | ||||
| 
 | ||||
| namespace App\Events\Credit; | ||||
| 
 | ||||
| use App\Models\Credit; | ||||
| use App\Models\Company; | ||||
| use App\Models\CreditInvitation; | ||||
| use Illuminate\Broadcasting\InteractsWithSockets; | ||||
| use Illuminate\Foundation\Events\Dispatchable; | ||||
| use Illuminate\Queue\SerializesModels; | ||||
| @ -20,7 +21,7 @@ class CreditWasEmailed | ||||
| { | ||||
|     use Dispatchable, InteractsWithSockets, SerializesModels; | ||||
| 
 | ||||
|     public $credit; | ||||
|     public $invitation; | ||||
| 
 | ||||
|     public $company; | ||||
| 
 | ||||
| @ -33,9 +34,9 @@ class CreditWasEmailed | ||||
|      * @param Company $company | ||||
|      * @param array $event_vars | ||||
|      */ | ||||
|     public function __construct(Credit $credit, Company $company, array $event_vars) | ||||
|     public function __construct(CreditInvitation $invitation, Company $company, array $event_vars) | ||||
|     { | ||||
|         $this->credit = $credit; | ||||
|         $this->invitation = $invitation; | ||||
|         $this->company = $company; | ||||
|         $this->event_vars = $event_vars; | ||||
|     } | ||||
|  | ||||
| @ -13,6 +13,7 @@ namespace App\Events\Quote; | ||||
| 
 | ||||
| use App\Models\Company; | ||||
| use App\Models\Quote; | ||||
| use App\Models\QuoteInvitation; | ||||
| use Illuminate\Queue\SerializesModels; | ||||
| 
 | ||||
| /** | ||||
| @ -22,12 +23,10 @@ class QuoteWasEmailed | ||||
| { | ||||
|     use SerializesModels; | ||||
| 
 | ||||
|     public $quote; | ||||
|     public $invitation; | ||||
| 
 | ||||
|     public $company; | ||||
| 
 | ||||
|     public $notes; | ||||
| 
 | ||||
|     public $event_vars; | ||||
| 
 | ||||
|     /** | ||||
| @ -38,10 +37,9 @@ class QuoteWasEmailed | ||||
|      * @param Company $company | ||||
|      * @param array $event_vars | ||||
|      */ | ||||
|     public function __construct(Quote $quote, string $notes, Company $company, array $event_vars) | ||||
|     public function __construct(QuoteInvitation $invitation, Company $company, array $event_vars) | ||||
|     { | ||||
|         $this->quote = $quote; | ||||
|         $this->notes = $notes; | ||||
|         $this->invitation = $invitation; | ||||
|         $this->company = $company; | ||||
|         $this->event_vars = $event_vars; | ||||
|     } | ||||
|  | ||||
| @ -11,6 +11,8 @@ | ||||
| 
 | ||||
| namespace App\Http\Controllers; | ||||
| 
 | ||||
| use App\Events\Credit\CreditWasEmailed; | ||||
| use App\Events\Quote\QuoteWasEmailed; | ||||
| use App\Http\Requests\Email\SendEmailRequest; | ||||
| use App\Jobs\Entity\EmailEntity; | ||||
| use App\Jobs\Mail\EntitySentMailer; | ||||
| @ -22,6 +24,7 @@ use App\Transformers\CreditTransformer; | ||||
| use App\Transformers\InvoiceTransformer; | ||||
| use App\Transformers\QuoteTransformer; | ||||
| use App\Transformers\RecurringInvoiceTransformer; | ||||
| use App\Utils\Ninja; | ||||
| use App\Utils\Traits\MakesHash; | ||||
| use Illuminate\Http\Response; | ||||
| 
 | ||||
| @ -117,6 +120,7 @@ class EmailController extends BaseController | ||||
|         $template = $request->input('template'); | ||||
|         $template = str_replace("email_template_", "", $template); | ||||
| 
 | ||||
| 
 | ||||
|         $entity_obj->invitations->each(function ($invitation) use ($subject, $body, $entity_string, $entity_obj, $template) { | ||||
|             if ($invitation->contact->send_email && $invitation->contact->email) { | ||||
|                 $data = [ | ||||
| @ -128,6 +132,8 @@ class EmailController extends BaseController | ||||
|             } | ||||
|         }); | ||||
| 
 | ||||
|         $entity_obj->service()->markSent()->save(); | ||||
| 
 | ||||
|         $entity_obj->last_sent_date = now(); | ||||
|         $entity_obj->save(); | ||||
| 
 | ||||
| @ -138,16 +144,27 @@ class EmailController extends BaseController | ||||
|         if ($entity_obj instanceof Invoice) { | ||||
|             $this->entity_type = Invoice::class; | ||||
|             $this->entity_transformer = InvoiceTransformer::class; | ||||
| 
 | ||||
|             if($entity_obj->invitations->count() >= 1) | ||||
|                 $entity_obj->entityEmailEvent($entity_obj->invitations->first(), 'invoice'); | ||||
|              | ||||
|         } | ||||
| 
 | ||||
|         if ($entity_obj instanceof Quote) { | ||||
|             $this->entity_type = Quote::class; | ||||
|             $this->entity_transformer = QuoteTransformer::class; | ||||
| 
 | ||||
|             if($entity_obj->invitations->count() >= 1) | ||||
|                 event(new QuoteWasEmailed($entity_obj->invitations->first(), $entity_obj->company, Ninja::eventVars())); | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|         if ($entity_obj instanceof Credit) { | ||||
|             $this->entity_type = Credit::class; | ||||
|             $this->entity_transformer = CreditTransformer::class; | ||||
| 
 | ||||
|             if($entity_obj->invitations->count() >= 1) | ||||
|                 event(new CreditWasEmailed($entity_obj->invitations->first(), $entity_obj->company, Ninja::eventVars())); | ||||
|         } | ||||
| 
 | ||||
|         if ($entity_obj instanceof RecurringInvoice) { | ||||
| @ -155,7 +172,6 @@ class EmailController extends BaseController | ||||
|             $this->entity_transformer = RecurringInvoiceTransformer::class; | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         $entity_obj->service()->markSent()->save(); | ||||
| 
 | ||||
|         return $this->itemResponse($entity_obj); | ||||
|  | ||||
| @ -12,7 +12,9 @@ | ||||
| 
 | ||||
| namespace App\Http\Controllers; | ||||
| 
 | ||||
| use App\Events\Invoice\InvoiceReminderWasEmailed; | ||||
| use App\Events\Invoice\InvoiceWasCreated; | ||||
| use App\Events\Invoice\InvoiceWasEmailed; | ||||
| use App\Events\Invoice\InvoiceWasUpdated; | ||||
| use App\Factory\CloneInvoiceFactory; | ||||
| use App\Factory\CloneInvoiceToQuoteFactory; | ||||
| @ -29,6 +31,7 @@ use App\Jobs\Entity\EmailEntity; | ||||
| use App\Jobs\Invoice\StoreInvoice; | ||||
| use App\Jobs\Invoice\ZipInvoices; | ||||
| use App\Jobs\Util\UnlinkFile; | ||||
| use App\Models\Activity; | ||||
| use App\Models\Client; | ||||
| use App\Models\Invoice; | ||||
| use App\Models\Quote; | ||||
| @ -721,14 +724,15 @@ class InvoiceController extends BaseController | ||||
|                 } | ||||
| 
 | ||||
|                 //touch reminder1,2,3_sent + last_sent here if the email is a reminder.
 | ||||
| 
 | ||||
|                 $invoice->service()->touchReminder($this->reminder_template)->save(); | ||||
| 
 | ||||
|                 $invoice->invitations->load('contact.client.country', 'invoice.client.country', 'invoice.company')->each(function ($invitation) use ($invoice) { | ||||
|                     info("firing email"); | ||||
|                     EmailEntity::dispatch($invitation, $invoice->company, $this->reminder_template); | ||||
|                 }); | ||||
| 
 | ||||
|                 if($invoice->invitations->count() >= 1) | ||||
|                     $invoice->entityEmailEvent($invoice->invitations->first(), $this->reminder_template); | ||||
| 
 | ||||
|                 if (! $bulk) { | ||||
|                     return response()->json(['message' => 'email sent'], 200); | ||||
|                 } | ||||
|  | ||||
| @ -113,13 +113,13 @@ class StoreRecurringInvoiceRequest extends Request | ||||
| 
 | ||||
|     private function setAutoBillFlag($auto_bill) | ||||
|     { | ||||
|         if ($auto_bill == 'always') { | ||||
|         if ($auto_bill == 'always')  | ||||
|             return true; | ||||
|         } | ||||
|          | ||||
| 
 | ||||
|         if ($auto_bill == 'off') { | ||||
|             return false; | ||||
|         } | ||||
|        //if ($auto_bill == 'off' || $auto_bill == 'optin') {
 | ||||
|         return false; | ||||
|         //}
 | ||||
|     } | ||||
| 
 | ||||
|     public function messages() | ||||
|  | ||||
| @ -17,6 +17,7 @@ use App\Http\Requests\Request; | ||||
| use App\Http\ValidationRules\ValidUserForCompany; | ||||
| use App\Libraries\MultiDB; | ||||
| use App\Models\User; | ||||
| use Illuminate\Validation\Rule; | ||||
| 
 | ||||
| class StoreUserRequest extends Request | ||||
| { | ||||
| @ -37,9 +38,11 @@ class StoreUserRequest extends Request | ||||
|         $rules['first_name'] = 'required|string|max:100'; | ||||
|         $rules['last_name'] = 'required|string|max:100'; | ||||
| 
 | ||||
|         if (config('ninja.db.multi_db_enabled')) { | ||||
|             $rules['email'] = new ValidUserForCompany(); | ||||
|         } | ||||
|         if (config('ninja.db.multi_db_enabled'))  | ||||
|             $rules['email'] = [new ValidUserForCompany(), Rule::unique('users')]; | ||||
|         else | ||||
|             $rules['email'] = Rule::unique('users'); | ||||
| 
 | ||||
| 
 | ||||
|         if (auth()->user()->company()->account->isFreeHostedClient()) { | ||||
|             $rules['hosted_users'] = new CanAddUserRule(auth()->user()->company()->account); | ||||
|  | ||||
| @ -56,6 +56,7 @@ class EmailEntity extends BaseMailerJob implements ShouldQueue | ||||
|     public $email_entity_builder; | ||||
| 
 | ||||
|     public $template_data; | ||||
| 
 | ||||
|     /** | ||||
|      * EmailEntity constructor. | ||||
|      * @param Invitation $invitation | ||||
| @ -100,7 +101,7 @@ class EmailEntity extends BaseMailerJob implements ShouldQueue | ||||
|         $this->setMailDriver(); | ||||
| 
 | ||||
|         try { | ||||
|             /** @noinspection PhpMethodParametersCountMismatchInspection */ | ||||
| 
 | ||||
|             Mail::to($this->invitation->contact->email, $this->invitation->contact->present()->name()) | ||||
|                 ->send( | ||||
|                     new TemplateEmail( | ||||
| @ -115,9 +116,9 @@ class EmailEntity extends BaseMailerJob implements ShouldQueue | ||||
|             $this->logMailError($e->getMessage(), $this->entity->client); | ||||
|         } | ||||
| 
 | ||||
|         if (count(Mail::failures()) == 0) { | ||||
|             $this->entityEmailSucceeded(); | ||||
|         } | ||||
|         // if (count(Mail::failures()) == 0) {
 | ||||
|         //     $this->entityEmailSucceeded();
 | ||||
|         // }
 | ||||
| 
 | ||||
|         /* Mark entity sent */ | ||||
|         $this->entity->service()->markSent()->save(); | ||||
| @ -149,29 +150,29 @@ class EmailEntity extends BaseMailerJob implements ShouldQueue | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private function entityEmailSucceeded() | ||||
|     { | ||||
|         switch ($this->reminder_template) { | ||||
|             case 'invoice': | ||||
|                 event(new InvoiceWasEmailed($this->invitation, $this->company, Ninja::eventVars())); | ||||
|                 break; | ||||
|             case 'reminder1': | ||||
|                 event(new InvoiceReminderWasEmailed($this->invitation, $this->company, Ninja::eventVars(), Activity::INVOICE_REMINDER1_SENT)); | ||||
|                 break; | ||||
|             case 'reminder2': | ||||
|                 event(new InvoiceReminderWasEmailed($this->invitation, $this->company, Ninja::eventVars(), Activity::INVOICE_REMINDER2_SENT)); | ||||
|                 break; | ||||
|             case 'reminder3': | ||||
|                 event(new InvoiceReminderWasEmailed($this->invitation, $this->company, Ninja::eventVars(), Activity::INVOICE_REMINDER3_SENT)); | ||||
|                 break; | ||||
|             case 'reminder_endless': | ||||
|                 event(new InvoiceReminderWasEmailed($this->invitation, $this->company, Ninja::eventVars(), Activity::INVOICE_REMINDER_ENDLESS_SENT)); | ||||
|                 break; | ||||
|             default: | ||||
|                 # code...
 | ||||
|                 break; | ||||
|         } | ||||
|     } | ||||
|     // private function entityEmailSucceeded()
 | ||||
|     // {
 | ||||
|     //     switch ($this->reminder_template) {
 | ||||
|     //         case 'invoice':
 | ||||
|     //             event(new InvoiceWasEmailed($this->invitation, $this->company, Ninja::eventVars()));
 | ||||
|     //             break;
 | ||||
|     //         case 'reminder1':
 | ||||
|     //             event(new InvoiceReminderWasEmailed($this->invitation, $this->company, Ninja::eventVars(), Activity::INVOICE_REMINDER1_SENT));
 | ||||
|     //             break;
 | ||||
|     //         case 'reminder2':
 | ||||
|     //             event(new InvoiceReminderWasEmailed($this->invitation, $this->company, Ninja::eventVars(), Activity::INVOICE_REMINDER2_SENT));
 | ||||
|     //             break;
 | ||||
|     //         case 'reminder3':
 | ||||
|     //             event(new InvoiceReminderWasEmailed($this->invitation, $this->company, Ninja::eventVars(), Activity::INVOICE_REMINDER3_SENT));
 | ||||
|     //             break;
 | ||||
|     //         case 'reminder_endless':
 | ||||
|     //             event(new InvoiceReminderWasEmailed($this->invitation, $this->company, Ninja::eventVars(), Activity::INVOICE_REMINDER_ENDLESS_SENT));
 | ||||
|     //             break;
 | ||||
|     //         default:
 | ||||
|     //             # code...
 | ||||
|     //             break;
 | ||||
|     //     }
 | ||||
|     // }
 | ||||
| 
 | ||||
|     private function resolveEmailBuilder() | ||||
|     { | ||||
|  | ||||
							
								
								
									
										63
									
								
								app/Listeners/Credit/CreditEmailedNotification.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								app/Listeners/Credit/CreditEmailedNotification.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,63 @@ | ||||
| <?php | ||||
| /** | ||||
|  * Invoice Ninja (https://invoiceninja.com). | ||||
|  * | ||||
|  * @link https://github.com/invoiceninja/invoiceninja source repository | ||||
|  * | ||||
|  * @copyright Copyright (c) 2020. Invoice Ninja LLC (https://invoiceninja.com) | ||||
|  * | ||||
|  * @license https://opensource.org/licenses/AAL | ||||
|  */ | ||||
| 
 | ||||
| namespace App\Listeners\Credit; | ||||
| 
 | ||||
| use App\Jobs\Mail\EntitySentMailer; | ||||
| use App\Libraries\MultiDB; | ||||
| use App\Notifications\Admin\EntitySentNotification; | ||||
| use App\Utils\Traits\Notifications\UserNotifies; | ||||
| use Illuminate\Contracts\Queue\ShouldQueue; | ||||
| 
 | ||||
| class CreditEmailedNotification implements ShouldQueue | ||||
| { | ||||
|     use UserNotifies; | ||||
| 
 | ||||
|     public function __construct() | ||||
|     { | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Handle the event. | ||||
|      * | ||||
|      * @param  object  $event | ||||
|      * @return void | ||||
|      */ | ||||
|     public function handle($event) | ||||
|     { | ||||
|         MultiDB::setDb($event->company->db); | ||||
| 
 | ||||
|         $first_notification_sent = true; | ||||
| 
 | ||||
|         $credit = $event->invitation->credit; | ||||
|         $credit->last_sent_date = now(); | ||||
|         $credit->save(); | ||||
| 
 | ||||
|         foreach ($event->invitation->company->company_users as $company_user) { | ||||
|             $user = $company_user->user; | ||||
| 
 | ||||
|             $notification = new EntitySentNotification($event->invitation, 'credit'); | ||||
| 
 | ||||
|             $methods = $this->findUserNotificationTypes($event->invitation, $company_user, 'credit', ['all_notifications', 'credit_sent']); | ||||
| 
 | ||||
|             if (($key = array_search('mail', $methods)) !== false && $first_notification_sent === true) { | ||||
|                 unset($methods[$key]); | ||||
| 
 | ||||
|                 EntitySentMailer::dispatch($event->invitation, 'credit', $user, $event->invitation->company); | ||||
|                 $first_notification_sent = false; | ||||
|             } | ||||
| 
 | ||||
|             $notification->method = $methods; | ||||
| 
 | ||||
|             $user->notify($notification); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										63
									
								
								app/Listeners/Quote/QuoteEmailedNotification.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								app/Listeners/Quote/QuoteEmailedNotification.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,63 @@ | ||||
| <?php | ||||
| /** | ||||
|  * Invoice Ninja (https://invoiceninja.com). | ||||
|  * | ||||
|  * @link https://github.com/invoiceninja/invoiceninja source repository | ||||
|  * | ||||
|  * @copyright Copyright (c) 2020. Invoice Ninja LLC (https://invoiceninja.com) | ||||
|  * | ||||
|  * @license https://opensource.org/licenses/AAL | ||||
|  */ | ||||
| 
 | ||||
| namespace App\Listeners\Quote; | ||||
| 
 | ||||
| use App\Jobs\Mail\EntitySentMailer; | ||||
| use App\Libraries\MultiDB; | ||||
| use App\Notifications\Admin\EntitySentNotification; | ||||
| use App\Utils\Traits\Notifications\UserNotifies; | ||||
| use Illuminate\Contracts\Queue\ShouldQueue; | ||||
| 
 | ||||
| class QuoteEmailedNotification implements ShouldQueue | ||||
| { | ||||
|     use UserNotifies; | ||||
| 
 | ||||
|     public function __construct() | ||||
|     { | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Handle the event. | ||||
|      * | ||||
|      * @param  object  $event | ||||
|      * @return void | ||||
|      */ | ||||
|     public function handle($event) | ||||
|     { | ||||
|         MultiDB::setDb($event->company->db); | ||||
| 
 | ||||
|         $first_notification_sent = true; | ||||
| 
 | ||||
|         $quote = $event->invitation->quote; | ||||
|         $quote->last_sent_date = now(); | ||||
|         $quote->save(); | ||||
| 
 | ||||
|         foreach ($event->invitation->company->company_users as $company_user) { | ||||
|             $user = $company_user->user; | ||||
| 
 | ||||
|             $notification = new EntitySentNotification($event->invitation, 'quote'); | ||||
| 
 | ||||
|             $methods = $this->findUserNotificationTypes($event->invitation, $company_user, 'quote', ['all_notifications', 'quote_sent']); | ||||
| 
 | ||||
|             if (($key = array_search('mail', $methods)) !== false && $first_notification_sent === true) { | ||||
|                 unset($methods[$key]); | ||||
| 
 | ||||
|                 EntitySentMailer::dispatch($event->invitation, 'quote', $user, $event->invitation->company); | ||||
|                 $first_notification_sent = false; | ||||
|             } | ||||
| 
 | ||||
|             $notification->method = $methods; | ||||
| 
 | ||||
|             $user->notify($notification); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -11,6 +11,7 @@ | ||||
| 
 | ||||
| namespace App\Models; | ||||
| 
 | ||||
| use App\Models\GatewayType; | ||||
| use App\PaymentDrivers\BasePaymentDriver; | ||||
| use App\Utils\Number; | ||||
| use Illuminate\Database\Eloquent\SoftDeletes; | ||||
| @ -235,6 +236,9 @@ class CompanyGateway extends BaseModel | ||||
|             return false; | ||||
|         } | ||||
| 
 | ||||
|         if($gateway_type_id == GatewayType::CUSTOM) | ||||
|             $gateway_type_id = GatewayType::CREDIT_CARD; | ||||
| 
 | ||||
|         return $this->fees_and_limits->{$gateway_type_id}; | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -11,10 +11,13 @@ | ||||
| 
 | ||||
| namespace App\Models; | ||||
| 
 | ||||
| use App\Events\Invoice\InvoiceReminderWasEmailed; | ||||
| use App\Events\Invoice\InvoiceWasEmailed; | ||||
| use App\Events\Invoice\InvoiceWasUpdated; | ||||
| use App\Helpers\Invoice\InvoiceSum; | ||||
| use App\Helpers\Invoice\InvoiceSumInclusive; | ||||
| use App\Jobs\Entity\CreateEntityPdf; | ||||
| use App\Models\Activity; | ||||
| use App\Models\Presenters\InvoicePresenter; | ||||
| use App\Services\Invoice\InvoiceService; | ||||
| use App\Services\Ledger\LedgerService; | ||||
| @ -431,4 +434,30 @@ class Invoice extends BaseModel | ||||
|     { | ||||
|         return $this->calc()->getTotal(); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     public function entityEmailEvent($invitation, $reminder_template) | ||||
|     { | ||||
| 
 | ||||
|         switch ($reminder_template) { | ||||
|             case 'invoice': | ||||
|                 event(new InvoiceWasEmailed($invitation, $invitation->company, Ninja::eventVars())); | ||||
|                 break; | ||||
|             case 'reminder1': | ||||
|                 event(new InvoiceReminderWasEmailed($invitation, $invitation->company, Ninja::eventVars(), Activity::INVOICE_REMINDER1_SENT)); | ||||
|                 break; | ||||
|             case 'reminder2': | ||||
|                 event(new InvoiceReminderWasEmailed($invitation, $invitation->company, Ninja::eventVars(), Activity::INVOICE_REMINDER2_SENT)); | ||||
|                 break; | ||||
|             case 'reminder3': | ||||
|                 event(new InvoiceReminderWasEmailed($invitation, $invitation->company, Ninja::eventVars(), Activity::INVOICE_REMINDER3_SENT)); | ||||
|                 break; | ||||
|             case 'reminder_endless': | ||||
|                 event(new InvoiceReminderWasEmailed($invitation, $invitation->company, Ninja::eventVars(), Activity::INVOICE_REMINDER_ENDLESS_SENT)); | ||||
|                 break; | ||||
|             default: | ||||
|                 # code...
 | ||||
|                 break; | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -24,6 +24,7 @@ use App\Events\Contact\ContactLoggedIn; | ||||
| use App\Events\Credit\CreditWasArchived; | ||||
| use App\Events\Credit\CreditWasCreated; | ||||
| use App\Events\Credit\CreditWasDeleted; | ||||
| use App\Events\Credit\CreditWasEmailed; | ||||
| use App\Events\Credit\CreditWasEmailedAndFailed; | ||||
| use App\Events\Credit\CreditWasMarkedSent; | ||||
| use App\Events\Credit\CreditWasRestored; | ||||
| @ -110,6 +111,7 @@ use App\Listeners\Activity\VendorDeletedActivity; | ||||
| use App\Listeners\Activity\VendorRestoredActivity; | ||||
| use App\Listeners\Activity\VendorUpdatedActivity; | ||||
| use App\Listeners\Contact\UpdateContactLastLogin; | ||||
| use App\Listeners\Credit\CreditEmailedNotification; | ||||
| use App\Listeners\Credit\CreditRestoredActivity; | ||||
| use App\Listeners\Credit\CreditViewedActivity; | ||||
| use App\Listeners\Document\DeleteCompanyDocuments; | ||||
| @ -120,8 +122,8 @@ use App\Listeners\Invoice\InvoiceArchivedActivity; | ||||
| use App\Listeners\Invoice\InvoiceCancelledActivity; | ||||
| use App\Listeners\Invoice\InvoiceDeletedActivity; | ||||
| use App\Listeners\Invoice\InvoiceEmailActivity; | ||||
| use App\Listeners\Invoice\InvoiceEmailedNotification; | ||||
| use App\Listeners\Invoice\InvoiceEmailFailedActivity; | ||||
| use App\Listeners\Invoice\InvoiceEmailedNotification; | ||||
| use App\Listeners\Invoice\InvoicePaidActivity; | ||||
| use App\Listeners\Invoice\InvoiceReminderEmailActivity; | ||||
| use App\Listeners\Invoice\InvoiceRestoredActivity; | ||||
| @ -129,14 +131,15 @@ use App\Listeners\Invoice\InvoiceReversedActivity; | ||||
| use App\Listeners\Invoice\InvoiceViewedActivity; | ||||
| use App\Listeners\Invoice\UpdateInvoiceActivity; | ||||
| use App\Listeners\Misc\InvitationViewedListener; | ||||
| use App\Listeners\Payment\PaymentEmailedActivity; | ||||
| use App\Listeners\Payment\PaymentEmailFailureActivity; | ||||
| use App\Listeners\Payment\PaymentEmailedActivity; | ||||
| use App\Listeners\Payment\PaymentNotification; | ||||
| use App\Listeners\Payment\PaymentRestoredActivity; | ||||
| use App\Listeners\Quote\QuoteApprovedActivity; | ||||
| use App\Listeners\Quote\QuoteArchivedActivity; | ||||
| use App\Listeners\Quote\QuoteDeletedActivity; | ||||
| use App\Listeners\Quote\QuoteEmailActivity; | ||||
| use App\Listeners\Quote\QuoteEmailedNotification; | ||||
| use App\Listeners\Quote\QuoteRestoredActivity; | ||||
| use App\Listeners\Quote\QuoteViewedActivity; | ||||
| use App\Listeners\Quote\ReachWorkflowSettings; | ||||
| @ -226,6 +229,7 @@ class EventServiceProvider extends ServiceProvider | ||||
|         CreditWasEmailedAndFailed::class => [ | ||||
|         ], | ||||
|         CreditWasEmailed::class => [ | ||||
|             CreditEmailedNotification::class, | ||||
|         ], | ||||
|         CreditWasMarkedSent::class => [ | ||||
|         ], | ||||
| @ -332,6 +336,7 @@ class EventServiceProvider extends ServiceProvider | ||||
|         ], | ||||
|         QuoteWasEmailed::class => [ | ||||
|             QuoteEmailActivity::class, | ||||
|             QuoteEmailedNotification::class, | ||||
|         ], | ||||
|         QuoteWasViewed::class => [ | ||||
|             QuoteViewedActivity::class, | ||||
|  | ||||
| @ -130,7 +130,10 @@ class QuoteTransformer extends EntityTransformer | ||||
|             'custom_surcharge2' => (float) $quote->custom_surcharge2, | ||||
|             'custom_surcharge3' => (float) $quote->custom_surcharge3, | ||||
|             'custom_surcharge4' => (float) $quote->custom_surcharge4, | ||||
|             'custom_surcharge_taxes' => (bool) $quote->custom_surcharge_taxes, | ||||
|             'custom_surcharge_tax1' => (bool) $quote->custom_surcharge_tax1, | ||||
|             'custom_surcharge_tax2' => (bool) $quote->custom_surcharge_tax2, | ||||
|             'custom_surcharge_tax3' => (bool) $quote->custom_surcharge_tax3, | ||||
|             'custom_surcharge_tax4' => (bool) $quote->custom_surcharge_tax4, | ||||
|             'line_items' => $quote->line_items ?: (array) [], | ||||
|             'entity_type' => 'quote', | ||||
|             'exchange_rate' => (float) $quote->exchange_rate, | ||||
|  | ||||
| @ -98,6 +98,9 @@ class SystemHealth | ||||
|             if ($exitCode === 0) { | ||||
|                 return empty($foo[0]) ? 'Found node, but no version information' : $foo[0]; | ||||
|             } | ||||
| 
 | ||||
|             return false; | ||||
|              | ||||
|         } catch (Exception $e) { | ||||
|             return false; | ||||
|         } | ||||
| @ -111,6 +114,9 @@ class SystemHealth | ||||
|             if ($exitCode === 0) { | ||||
|                 return empty($foo[0]) ? 'Found npm, but no version information' : $foo[0]; | ||||
|             } | ||||
| 
 | ||||
|             return false; | ||||
| 
 | ||||
|         } catch (Exception $e) { | ||||
|             return false; | ||||
|         } | ||||
|  | ||||
| @ -209,4 +209,7 @@ trait MakesReminders | ||||
|                 return null; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -57,7 +57,7 @@ | ||||
|         "omnipay/paypal": "^3.0", | ||||
|         "predis/predis": "^1.1", | ||||
|         "sentry/sentry-laravel": "^2", | ||||
|         "spatie/browsershot": "^3.37", | ||||
|         "spatie/browsershot": "3.40.2", | ||||
|         "stripe/stripe-php": "^7.50", | ||||
|         "turbo124/beacon": "^1", | ||||
|         "turbo124/laravel-gmail": "^5.0", | ||||
|  | ||||
							
								
								
									
										255
									
								
								composer.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										255
									
								
								composer.lock
									
									
									
										generated
									
									
									
								
							| @ -4,7 +4,7 @@ | ||||
|         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", | ||||
|         "This file is @generated automatically" | ||||
|     ], | ||||
|     "content-hash": "a96274475177046a99ed701ae4148a3d", | ||||
|     "content-hash": "0590d36f1ac1287db12b2b3d33750866", | ||||
|     "packages": [ | ||||
|         { | ||||
|             "name": "asgrim/ofxparser", | ||||
| @ -116,16 +116,16 @@ | ||||
|         }, | ||||
|         { | ||||
|             "name": "aws/aws-sdk-php", | ||||
|             "version": "3.166.2", | ||||
|             "version": "3.168.1", | ||||
|             "source": { | ||||
|                 "type": "git", | ||||
|                 "url": "https://github.com/aws/aws-sdk-php.git", | ||||
|                 "reference": "fe0ec9235d07b0f51ec4396dce0dd639020ae1a7" | ||||
|                 "reference": "d648085cce7bfadc8973a8ded401921583c1e3f9" | ||||
|             }, | ||||
|             "dist": { | ||||
|                 "type": "zip", | ||||
|                 "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/fe0ec9235d07b0f51ec4396dce0dd639020ae1a7", | ||||
|                 "reference": "fe0ec9235d07b0f51ec4396dce0dd639020ae1a7", | ||||
|                 "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/d648085cce7bfadc8973a8ded401921583c1e3f9", | ||||
|                 "reference": "d648085cce7bfadc8973a8ded401921583c1e3f9", | ||||
|                 "shasum": "" | ||||
|             }, | ||||
|             "require": { | ||||
| @ -200,9 +200,9 @@ | ||||
|             "support": { | ||||
|                 "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", | ||||
|                 "issues": "https://github.com/aws/aws-sdk-php/issues", | ||||
|                 "source": "https://github.com/aws/aws-sdk-php/tree/3.166.2" | ||||
|                 "source": "https://github.com/aws/aws-sdk-php/tree/3.168.1" | ||||
|             }, | ||||
|             "time": "2020-12-04T19:12:30+00:00" | ||||
|             "time": "2020-12-09T19:17:01+00:00" | ||||
|         }, | ||||
|         { | ||||
|             "name": "brick/math", | ||||
| @ -2671,16 +2671,16 @@ | ||||
|         }, | ||||
|         { | ||||
|             "name": "laravel/framework", | ||||
|             "version": "v8.17.2", | ||||
|             "version": "v8.18.1", | ||||
|             "source": { | ||||
|                 "type": "git", | ||||
|                 "url": "https://github.com/laravel/framework.git", | ||||
|                 "reference": "b89363b540bd8ad6e727ee165b510a19fe170a28" | ||||
|                 "reference": "31747193c26ba0a9cb7929a912895d3cdefd10cf" | ||||
|             }, | ||||
|             "dist": { | ||||
|                 "type": "zip", | ||||
|                 "url": "https://api.github.com/repos/laravel/framework/zipball/b89363b540bd8ad6e727ee165b510a19fe170a28", | ||||
|                 "reference": "b89363b540bd8ad6e727ee165b510a19fe170a28", | ||||
|                 "url": "https://api.github.com/repos/laravel/framework/zipball/31747193c26ba0a9cb7929a912895d3cdefd10cf", | ||||
|                 "reference": "31747193c26ba0a9cb7929a912895d3cdefd10cf", | ||||
|                 "shasum": "" | ||||
|             }, | ||||
|             "require": { | ||||
| @ -2700,15 +2700,15 @@ | ||||
|                 "psr/simple-cache": "^1.0", | ||||
|                 "ramsey/uuid": "^4.0", | ||||
|                 "swiftmailer/swiftmailer": "^6.0", | ||||
|                 "symfony/console": "^5.1", | ||||
|                 "symfony/error-handler": "^5.1", | ||||
|                 "symfony/finder": "^5.1", | ||||
|                 "symfony/http-foundation": "^5.1", | ||||
|                 "symfony/http-kernel": "^5.1", | ||||
|                 "symfony/mime": "^5.1", | ||||
|                 "symfony/process": "^5.1", | ||||
|                 "symfony/routing": "^5.1", | ||||
|                 "symfony/var-dumper": "^5.1", | ||||
|                 "symfony/console": "^5.1.4", | ||||
|                 "symfony/error-handler": "^5.1.4", | ||||
|                 "symfony/finder": "^5.1.4", | ||||
|                 "symfony/http-foundation": "^5.1.4", | ||||
|                 "symfony/http-kernel": "^5.1.4", | ||||
|                 "symfony/mime": "^5.1.4", | ||||
|                 "symfony/process": "^5.1.4", | ||||
|                 "symfony/routing": "^5.1.4", | ||||
|                 "symfony/var-dumper": "^5.1.4", | ||||
|                 "tijsverkoyen/css-to-inline-styles": "^2.2.2", | ||||
|                 "vlucas/phpdotenv": "^5.2", | ||||
|                 "voku/portable-ascii": "^1.4.8" | ||||
| @ -2759,11 +2759,11 @@ | ||||
|                 "guzzlehttp/guzzle": "^6.5.5|^7.0.1", | ||||
|                 "league/flysystem-cached-adapter": "^1.0", | ||||
|                 "mockery/mockery": "^1.4.2", | ||||
|                 "orchestra/testbench-core": "^6.5", | ||||
|                 "orchestra/testbench-core": "^6.8", | ||||
|                 "pda/pheanstalk": "^4.0", | ||||
|                 "phpunit/phpunit": "^8.5.8|^9.3.3", | ||||
|                 "predis/predis": "^1.1.1", | ||||
|                 "symfony/cache": "^5.1" | ||||
|                 "symfony/cache": "^5.1.4" | ||||
|             }, | ||||
|             "suggest": { | ||||
|                 "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.155).", | ||||
| @ -2788,8 +2788,8 @@ | ||||
|                 "predis/predis": "Required to use the predis connector (^1.1.2).", | ||||
|                 "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", | ||||
|                 "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).", | ||||
|                 "symfony/cache": "Required to PSR-6 cache bridge (^5.1).", | ||||
|                 "symfony/filesystem": "Required to enable support for relative symbolic links (^5.1).", | ||||
|                 "symfony/cache": "Required to PSR-6 cache bridge (^5.1.4).", | ||||
|                 "symfony/filesystem": "Required to enable support for relative symbolic links (^5.1.4).", | ||||
|                 "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", | ||||
|                 "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." | ||||
|             }, | ||||
| @ -2834,7 +2834,7 @@ | ||||
|                 "issues": "https://github.com/laravel/framework/issues", | ||||
|                 "source": "https://github.com/laravel/framework" | ||||
|             }, | ||||
|             "time": "2020-12-03T13:47:59+00:00" | ||||
|             "time": "2020-12-08T22:05:12+00:00" | ||||
|         }, | ||||
|         { | ||||
|             "name": "laravel/slack-notification-channel", | ||||
| @ -4300,29 +4300,29 @@ | ||||
|         }, | ||||
|         { | ||||
|             "name": "nwidart/laravel-modules", | ||||
|             "version": "6.2.0", | ||||
|             "version": "8.2.0", | ||||
|             "source": { | ||||
|                 "type": "git", | ||||
|                 "url": "https://github.com/nWidart/laravel-modules.git", | ||||
|                 "reference": "6dc702eeb5d025b4cd331bc394e47ccc43b68e89" | ||||
|                 "reference": "6ade5ec19e81a0e4807834886a2c47509d069cb7" | ||||
|             }, | ||||
|             "dist": { | ||||
|                 "type": "zip", | ||||
|                 "url": "https://api.github.com/repos/nWidart/laravel-modules/zipball/6dc702eeb5d025b4cd331bc394e47ccc43b68e89", | ||||
|                 "reference": "6dc702eeb5d025b4cd331bc394e47ccc43b68e89", | ||||
|                 "url": "https://api.github.com/repos/nWidart/laravel-modules/zipball/6ade5ec19e81a0e4807834886a2c47509d069cb7", | ||||
|                 "reference": "6ade5ec19e81a0e4807834886a2c47509d069cb7", | ||||
|                 "shasum": "" | ||||
|             }, | ||||
|             "require": { | ||||
|                 "ext-json": "*", | ||||
|                 "php": ">=7.2" | ||||
|                 "php": ">=7.3" | ||||
|             }, | ||||
|             "require-dev": { | ||||
|                 "friendsofphp/php-cs-fixer": "^2.15", | ||||
|                 "laravel/framework": "6.0.*", | ||||
|                 "friendsofphp/php-cs-fixer": "^2.16", | ||||
|                 "laravel/framework": "^8.0", | ||||
|                 "mockery/mockery": "~1.0", | ||||
|                 "orchestra/testbench": "^4.0", | ||||
|                 "phpstan/phpstan": "^0.9.2", | ||||
|                 "phpunit/phpunit": "~7.0|~8.0", | ||||
|                 "orchestra/testbench": "^6.2", | ||||
|                 "phpstan/phpstan": "^0.12.14", | ||||
|                 "phpunit/phpunit": "^8.5", | ||||
|                 "spatie/phpunit-snapshot-assertions": "^2.1.0" | ||||
|             }, | ||||
|             "type": "library", | ||||
| @ -4336,7 +4336,7 @@ | ||||
|                     } | ||||
|                 }, | ||||
|                 "branch-alias": { | ||||
|                     "dev-master": "6.0-dev" | ||||
|                     "dev-master": "8.0-dev" | ||||
|                 } | ||||
|             }, | ||||
|             "autoload": { | ||||
| @ -4369,9 +4369,15 @@ | ||||
|             ], | ||||
|             "support": { | ||||
|                 "issues": "https://github.com/nWidart/laravel-modules/issues", | ||||
|                 "source": "https://github.com/nWidart/laravel-modules/tree/master" | ||||
|                 "source": "https://github.com/nWidart/laravel-modules/tree/8.2.0" | ||||
|             }, | ||||
|             "time": "2019-11-12T18:38:48+00:00" | ||||
|             "funding": [ | ||||
|                 { | ||||
|                     "url": "https://github.com/nwidart", | ||||
|                     "type": "github" | ||||
|                 } | ||||
|             ], | ||||
|             "time": "2020-11-11T09:24:22+00:00" | ||||
|         }, | ||||
|         { | ||||
|             "name": "omnipay/common", | ||||
| @ -6340,26 +6346,26 @@ | ||||
|         }, | ||||
|         { | ||||
|             "name": "sentry/sentry", | ||||
|             "version": "3.1.0", | ||||
|             "version": "3.1.1", | ||||
|             "source": { | ||||
|                 "type": "git", | ||||
|                 "url": "https://github.com/getsentry/sentry-php.git", | ||||
|                 "reference": "55f5714e6eff6bc9e3dc4b47ac4a0e6d72088e1e" | ||||
|                 "reference": "2a0ecb127dbccf93fb5a37df907ce08822a62e6c" | ||||
|             }, | ||||
|             "dist": { | ||||
|                 "type": "zip", | ||||
|                 "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/55f5714e6eff6bc9e3dc4b47ac4a0e6d72088e1e", | ||||
|                 "reference": "55f5714e6eff6bc9e3dc4b47ac4a0e6d72088e1e", | ||||
|                 "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/2a0ecb127dbccf93fb5a37df907ce08822a62e6c", | ||||
|                 "reference": "2a0ecb127dbccf93fb5a37df907ce08822a62e6c", | ||||
|                 "shasum": "" | ||||
|             }, | ||||
|             "require": { | ||||
|                 "ext-json": "*", | ||||
|                 "ext-mbstring": "*", | ||||
|                 "guzzlehttp/promises": "^1.3", | ||||
|                 "guzzlehttp/promises": "^1.4", | ||||
|                 "guzzlehttp/psr7": "^1.7", | ||||
|                 "jean85/pretty-package-versions": "^1.5", | ||||
|                 "ocramius/package-versions": "^1.8", | ||||
|                 "php": "^7.2", | ||||
|                 "php": "^7.2|^8.0", | ||||
|                 "php-http/async-client-implementation": "^1.0", | ||||
|                 "php-http/client-common": "^1.5|^2.0", | ||||
|                 "php-http/discovery": "^1.6.1", | ||||
| @ -6368,7 +6374,7 @@ | ||||
|                 "psr/http-factory": "^1.0", | ||||
|                 "psr/http-message-implementation": "^1.0", | ||||
|                 "psr/log": "^1.0", | ||||
|                 "symfony/options-resolver": "^3.4.4|^4.0|^5.0", | ||||
|                 "symfony/options-resolver": "^3.4.43|^4.4.11|^5.0.11", | ||||
|                 "symfony/polyfill-php80": "^1.17", | ||||
|                 "symfony/polyfill-uuid": "^1.13.1" | ||||
|             }, | ||||
| @ -6380,13 +6386,14 @@ | ||||
|                 "friendsofphp/php-cs-fixer": "^2.16", | ||||
|                 "http-interop/http-factory-guzzle": "^1.0", | ||||
|                 "monolog/monolog": "^1.3|^2.0", | ||||
|                 "nikic/php-parser": "^4.10.3", | ||||
|                 "php-http/mock-client": "^1.3", | ||||
|                 "phpstan/extension-installer": "^1.0", | ||||
|                 "phpstan/phpstan": "^0.12", | ||||
|                 "phpstan/phpstan-phpunit": "^0.12", | ||||
|                 "phpunit/phpunit": "^7.5.18", | ||||
|                 "symfony/phpunit-bridge": "^5.1", | ||||
|                 "vimeo/psalm": "^3.4" | ||||
|                 "phpunit/phpunit": "^8.5.13|^9.4", | ||||
|                 "symfony/phpunit-bridge": "^5.2", | ||||
|                 "vimeo/psalm": "^3.4|^4.2" | ||||
|             }, | ||||
|             "suggest": { | ||||
|                 "monolog/monolog": "Allow sending log messages to Sentry by using the included Monolog handler." | ||||
| @ -6428,7 +6435,7 @@ | ||||
|             ], | ||||
|             "support": { | ||||
|                 "issues": "https://github.com/getsentry/sentry-php/issues", | ||||
|                 "source": "https://github.com/getsentry/sentry-php/tree/3.1.0" | ||||
|                 "source": "https://github.com/getsentry/sentry-php/tree/3.1.1" | ||||
|             }, | ||||
|             "funding": [ | ||||
|                 { | ||||
| @ -6440,34 +6447,34 @@ | ||||
|                     "type": "custom" | ||||
|                 } | ||||
|             ], | ||||
|             "time": "2020-12-01T09:59:47+00:00" | ||||
|             "time": "2020-12-05T21:59:39+00:00" | ||||
|         }, | ||||
|         { | ||||
|             "name": "sentry/sentry-laravel", | ||||
|             "version": "2.3.0", | ||||
|             "version": "2.3.1", | ||||
|             "source": { | ||||
|                 "type": "git", | ||||
|                 "url": "https://github.com/getsentry/sentry-laravel.git", | ||||
|                 "reference": "fd987481113fbfbfafb8adc0717cab9babe50ce4" | ||||
|                 "reference": "3c8b6c02fbb6b50cb8e236cd1845155b45fc881e" | ||||
|             }, | ||||
|             "dist": { | ||||
|                 "type": "zip", | ||||
|                 "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/fd987481113fbfbfafb8adc0717cab9babe50ce4", | ||||
|                 "reference": "fd987481113fbfbfafb8adc0717cab9babe50ce4", | ||||
|                 "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/3c8b6c02fbb6b50cb8e236cd1845155b45fc881e", | ||||
|                 "reference": "3c8b6c02fbb6b50cb8e236cd1845155b45fc881e", | ||||
|                 "shasum": "" | ||||
|             }, | ||||
|             "require": { | ||||
|                 "illuminate/support": "5.0 - 5.8 | ^6.0 | ^7.0 | ^8.0", | ||||
|                 "php": "^7.2", | ||||
|                 "php": "^7.2 | ^8.0", | ||||
|                 "sentry/sdk": "^3.1", | ||||
|                 "sentry/sentry": "3.1.*" | ||||
|             }, | ||||
|             "require-dev": { | ||||
|                 "friendsofphp/php-cs-fixer": "2.16.*", | ||||
|                 "laravel/framework": "^7.0", | ||||
|                 "laravel/framework": "^8.0", | ||||
|                 "mockery/mockery": "1.3.*", | ||||
|                 "orchestra/testbench": "^5.0", | ||||
|                 "phpunit/phpunit": "^8.0" | ||||
|                 "orchestra/testbench": "^6.0", | ||||
|                 "phpunit/phpunit": "^9.3" | ||||
|             }, | ||||
|             "type": "library", | ||||
|             "extra": { | ||||
| @ -6514,7 +6521,7 @@ | ||||
|             ], | ||||
|             "support": { | ||||
|                 "issues": "https://github.com/getsentry/sentry-laravel/issues", | ||||
|                 "source": "https://github.com/getsentry/sentry-laravel/tree/2.3.0" | ||||
|                 "source": "https://github.com/getsentry/sentry-laravel/tree/2.3.1" | ||||
|             }, | ||||
|             "funding": [ | ||||
|                 { | ||||
| @ -6526,31 +6533,31 @@ | ||||
|                     "type": "custom" | ||||
|                 } | ||||
|             ], | ||||
|             "time": "2020-12-01T13:57:22+00:00" | ||||
|             "time": "2020-12-07T09:19:29+00:00" | ||||
|         }, | ||||
|         { | ||||
|             "name": "spatie/browsershot", | ||||
|             "version": "3.41.0", | ||||
|             "version": "3.40.2", | ||||
|             "source": { | ||||
|                 "type": "git", | ||||
|                 "url": "https://github.com/spatie/browsershot.git", | ||||
|                 "reference": "2cc87d4dad788b372549cf856c773a7e5a8fcace" | ||||
|                 "reference": "3e55eaf5ab8cee65d1661a567e89b3374afb9116" | ||||
|             }, | ||||
|             "dist": { | ||||
|                 "type": "zip", | ||||
|                 "url": "https://api.github.com/repos/spatie/browsershot/zipball/2cc87d4dad788b372549cf856c773a7e5a8fcace", | ||||
|                 "reference": "2cc87d4dad788b372549cf856c773a7e5a8fcace", | ||||
|                 "url": "https://api.github.com/repos/spatie/browsershot/zipball/3e55eaf5ab8cee65d1661a567e89b3374afb9116", | ||||
|                 "reference": "3e55eaf5ab8cee65d1661a567e89b3374afb9116", | ||||
|                 "shasum": "" | ||||
|             }, | ||||
|             "require": { | ||||
|                 "php": "^7.4|^8.0", | ||||
|                 "php": "^7.1", | ||||
|                 "spatie/image": "^1.5.3", | ||||
|                 "spatie/temporary-directory": "^1.1", | ||||
|                 "symfony/process": "^5.0" | ||||
|                 "symfony/process": "^4.2|^5.0" | ||||
|             }, | ||||
|             "require-dev": { | ||||
|                 "phpunit/phpunit": "^9.0", | ||||
|                 "spatie/phpunit-snapshot-assertions": "^4.2.3" | ||||
|                 "phpunit/phpunit": "^6.1|^7.5", | ||||
|                 "spatie/phpunit-snapshot-assertions": "^1.0" | ||||
|             }, | ||||
|             "type": "library", | ||||
|             "autoload": { | ||||
| @ -6584,7 +6591,7 @@ | ||||
|             ], | ||||
|             "support": { | ||||
|                 "issues": "https://github.com/spatie/browsershot/issues", | ||||
|                 "source": "https://github.com/spatie/browsershot/tree/3.41.0" | ||||
|                 "source": "https://github.com/spatie/browsershot/tree/3.40.2" | ||||
|             }, | ||||
|             "funding": [ | ||||
|                 { | ||||
| @ -6592,7 +6599,7 @@ | ||||
|                     "type": "github" | ||||
|                 } | ||||
|             ], | ||||
|             "time": "2020-11-18T08:51:42+00:00" | ||||
|             "time": "2020-11-11T22:18:15+00:00" | ||||
|         }, | ||||
|         { | ||||
|             "name": "spatie/image", | ||||
| @ -6768,16 +6775,16 @@ | ||||
|         }, | ||||
|         { | ||||
|             "name": "stripe/stripe-php", | ||||
|             "version": "v7.66.1", | ||||
|             "version": "v7.67.0", | ||||
|             "source": { | ||||
|                 "type": "git", | ||||
|                 "url": "https://github.com/stripe/stripe-php.git", | ||||
|                 "reference": "a2ebaa272a8797b21e81afaf8d5ba0953ff15e13" | ||||
|                 "reference": "935d2c67912007f6d17b6c08a62050252c509129" | ||||
|             }, | ||||
|             "dist": { | ||||
|                 "type": "zip", | ||||
|                 "url": "https://api.github.com/repos/stripe/stripe-php/zipball/a2ebaa272a8797b21e81afaf8d5ba0953ff15e13", | ||||
|                 "reference": "a2ebaa272a8797b21e81afaf8d5ba0953ff15e13", | ||||
|                 "url": "https://api.github.com/repos/stripe/stripe-php/zipball/935d2c67912007f6d17b6c08a62050252c509129", | ||||
|                 "reference": "935d2c67912007f6d17b6c08a62050252c509129", | ||||
|                 "shasum": "" | ||||
|             }, | ||||
|             "require": { | ||||
| @ -6787,7 +6794,7 @@ | ||||
|                 "php": ">=5.6.0" | ||||
|             }, | ||||
|             "require-dev": { | ||||
|                 "friendsofphp/php-cs-fixer": "2.16.5", | ||||
|                 "friendsofphp/php-cs-fixer": "2.17.1", | ||||
|                 "php-coveralls/php-coveralls": "^2.1", | ||||
|                 "phpunit/phpunit": "^5.7", | ||||
|                 "squizlabs/php_codesniffer": "^3.3", | ||||
| @ -6823,38 +6830,37 @@ | ||||
|             ], | ||||
|             "support": { | ||||
|                 "issues": "https://github.com/stripe/stripe-php/issues", | ||||
|                 "source": "https://github.com/stripe/stripe-php/tree/v7.66.1" | ||||
|                 "source": "https://github.com/stripe/stripe-php/tree/v7.67.0" | ||||
|             }, | ||||
|             "time": "2020-12-01T18:44:12+00:00" | ||||
|             "time": "2020-12-09T19:00:34+00:00" | ||||
|         }, | ||||
|         { | ||||
|             "name": "swiftmailer/swiftmailer", | ||||
|             "version": "v6.2.3", | ||||
|             "version": "v6.2.4", | ||||
|             "source": { | ||||
|                 "type": "git", | ||||
|                 "url": "https://github.com/swiftmailer/swiftmailer.git", | ||||
|                 "reference": "149cfdf118b169f7840bbe3ef0d4bc795d1780c9" | ||||
|                 "reference": "56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e" | ||||
|             }, | ||||
|             "dist": { | ||||
|                 "type": "zip", | ||||
|                 "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/149cfdf118b169f7840bbe3ef0d4bc795d1780c9", | ||||
|                 "reference": "149cfdf118b169f7840bbe3ef0d4bc795d1780c9", | ||||
|                 "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e", | ||||
|                 "reference": "56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e", | ||||
|                 "shasum": "" | ||||
|             }, | ||||
|             "require": { | ||||
|                 "egulias/email-validator": "~2.0", | ||||
|                 "egulias/email-validator": "^2.0", | ||||
|                 "php": ">=7.0.0", | ||||
|                 "symfony/polyfill-iconv": "^1.0", | ||||
|                 "symfony/polyfill-intl-idn": "^1.10", | ||||
|                 "symfony/polyfill-mbstring": "^1.0" | ||||
|             }, | ||||
|             "require-dev": { | ||||
|                 "mockery/mockery": "~0.9.1", | ||||
|                 "symfony/phpunit-bridge": "^3.4.19|^4.1.8" | ||||
|                 "mockery/mockery": "^1.0", | ||||
|                 "symfony/phpunit-bridge": "^4.4|^5.0" | ||||
|             }, | ||||
|             "suggest": { | ||||
|                 "ext-intl": "Needed to support internationalized email addresses", | ||||
|                 "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" | ||||
|                 "ext-intl": "Needed to support internationalized email addresses" | ||||
|             }, | ||||
|             "type": "library", | ||||
|             "extra": { | ||||
| @ -6889,9 +6895,19 @@ | ||||
|             ], | ||||
|             "support": { | ||||
|                 "issues": "https://github.com/swiftmailer/swiftmailer/issues", | ||||
|                 "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.3" | ||||
|                 "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.4" | ||||
|             }, | ||||
|             "time": "2019-11-12T09:31:26+00:00" | ||||
|             "funding": [ | ||||
|                 { | ||||
|                     "url": "https://github.com/fabpot", | ||||
|                     "type": "github" | ||||
|                 }, | ||||
|                 { | ||||
|                     "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", | ||||
|                     "type": "tidelift" | ||||
|                 } | ||||
|             ], | ||||
|             "time": "2020-12-08T18:02:06+00:00" | ||||
|         }, | ||||
|         { | ||||
|             "name": "symfony/console", | ||||
| @ -10185,22 +10201,22 @@ | ||||
|         }, | ||||
|         { | ||||
|             "name": "darkaonline/l5-swagger", | ||||
|             "version": "8.0.2", | ||||
|             "version": "8.0.4", | ||||
|             "source": { | ||||
|                 "type": "git", | ||||
|                 "url": "https://github.com/DarkaOnLine/L5-Swagger.git", | ||||
|                 "reference": "9b900e353503237ed983cae17277ff12fc1aaaf9" | ||||
|                 "reference": "3477e7013daf8b6fc142c45fdcb9fe6c74d7398d" | ||||
|             }, | ||||
|             "dist": { | ||||
|                 "type": "zip", | ||||
|                 "url": "https://api.github.com/repos/DarkaOnLine/L5-Swagger/zipball/9b900e353503237ed983cae17277ff12fc1aaaf9", | ||||
|                 "reference": "9b900e353503237ed983cae17277ff12fc1aaaf9", | ||||
|                 "url": "https://api.github.com/repos/DarkaOnLine/L5-Swagger/zipball/3477e7013daf8b6fc142c45fdcb9fe6c74d7398d", | ||||
|                 "reference": "3477e7013daf8b6fc142c45fdcb9fe6c74d7398d", | ||||
|                 "shasum": "" | ||||
|             }, | ||||
|             "require": { | ||||
|                 "ext-json": "*", | ||||
|                 "laravel/framework": "^8.0 || ^7.0", | ||||
|                 "php": "^7.2", | ||||
|                 "php": "^7.2 || ^8.0", | ||||
|                 "swagger-api/swagger-ui": "^3.0", | ||||
|                 "symfony/yaml": "^5.0", | ||||
|                 "zircote/swagger-php": "3.*" | ||||
| @ -10240,15 +10256,19 @@ | ||||
|                     "email": "darius@matulionis.lt" | ||||
|                 } | ||||
|             ], | ||||
|             "description": "Swagger integration to Laravel 5", | ||||
|             "description": "OpenApi or Swagger integration to Laravel", | ||||
|             "keywords": [ | ||||
|                 "api", | ||||
|                 "documentation", | ||||
|                 "laravel", | ||||
|                 "swagger" | ||||
|                 "openapi", | ||||
|                 "specification", | ||||
|                 "swagger", | ||||
|                 "ui" | ||||
|             ], | ||||
|             "support": { | ||||
|                 "issues": "https://github.com/DarkaOnLine/L5-Swagger/issues", | ||||
|                 "source": "https://github.com/DarkaOnLine/L5-Swagger/tree/8.0.2" | ||||
|                 "source": "https://github.com/DarkaOnLine/L5-Swagger/tree/8.0.4" | ||||
|             }, | ||||
|             "funding": [ | ||||
|                 { | ||||
| @ -10256,7 +10276,7 @@ | ||||
|                     "type": "github" | ||||
|                 } | ||||
|             ], | ||||
|             "time": "2020-09-09T05:12:50+00:00" | ||||
|             "time": "2020-12-08T13:29:20+00:00" | ||||
|         }, | ||||
|         { | ||||
|             "name": "doctrine/annotations", | ||||
| @ -10469,16 +10489,16 @@ | ||||
|         }, | ||||
|         { | ||||
|             "name": "facade/ignition", | ||||
|             "version": "2.5.2", | ||||
|             "version": "2.5.3", | ||||
|             "source": { | ||||
|                 "type": "git", | ||||
|                 "url": "https://github.com/facade/ignition.git", | ||||
|                 "reference": "08668034beb185fa2ac6f09b1034eaa440952ace" | ||||
|                 "reference": "d8dc4f90ed469f9f9313b976fb078c20585d5c99" | ||||
|             }, | ||||
|             "dist": { | ||||
|                 "type": "zip", | ||||
|                 "url": "https://api.github.com/repos/facade/ignition/zipball/08668034beb185fa2ac6f09b1034eaa440952ace", | ||||
|                 "reference": "08668034beb185fa2ac6f09b1034eaa440952ace", | ||||
|                 "url": "https://api.github.com/repos/facade/ignition/zipball/d8dc4f90ed469f9f9313b976fb078c20585d5c99", | ||||
|                 "reference": "d8dc4f90ed469f9f9313b976fb078c20585d5c99", | ||||
|                 "shasum": "" | ||||
|             }, | ||||
|             "require": { | ||||
| @ -10542,7 +10562,7 @@ | ||||
|                 "issues": "https://github.com/facade/ignition/issues", | ||||
|                 "source": "https://github.com/facade/ignition" | ||||
|             }, | ||||
|             "time": "2020-11-17T09:18:51+00:00" | ||||
|             "time": "2020-12-09T20:25:45+00:00" | ||||
|         }, | ||||
|         { | ||||
|             "name": "facade/ignition-contracts", | ||||
| @ -10765,16 +10785,16 @@ | ||||
|         }, | ||||
|         { | ||||
|             "name": "friendsofphp/php-cs-fixer", | ||||
|             "version": "v2.16.7", | ||||
|             "version": "v2.17.1", | ||||
|             "source": { | ||||
|                 "type": "git", | ||||
|                 "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", | ||||
|                 "reference": "4e35806a6d7d8510d6842ae932e8832363d22c87" | ||||
|                 "reference": "5198b7308ed63f26799387fd7f3901c3db6bd7fd" | ||||
|             }, | ||||
|             "dist": { | ||||
|                 "type": "zip", | ||||
|                 "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/4e35806a6d7d8510d6842ae932e8832363d22c87", | ||||
|                 "reference": "4e35806a6d7d8510d6842ae932e8832363d22c87", | ||||
|                 "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/5198b7308ed63f26799387fd7f3901c3db6bd7fd", | ||||
|                 "reference": "5198b7308ed63f26799387fd7f3901c3db6bd7fd", | ||||
|                 "shasum": "" | ||||
|             }, | ||||
|             "require": { | ||||
| @ -10783,7 +10803,7 @@ | ||||
|                 "doctrine/annotations": "^1.2", | ||||
|                 "ext-json": "*", | ||||
|                 "ext-tokenizer": "*", | ||||
|                 "php": "^7.1", | ||||
|                 "php": "^5.6 || ^7.0 || ^8.0", | ||||
|                 "php-cs-fixer/diff": "^1.3", | ||||
|                 "symfony/console": "^3.4.43 || ^4.1.6 || ^5.0", | ||||
|                 "symfony/event-dispatcher": "^3.0 || ^4.0 || ^5.0", | ||||
| @ -10805,6 +10825,7 @@ | ||||
|                 "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", | ||||
|                 "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", | ||||
|                 "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.1", | ||||
|                 "phpunitgoodpractices/polyfill": "^1.5", | ||||
|                 "phpunitgoodpractices/traits": "^1.9.1", | ||||
|                 "symfony/phpunit-bridge": "^5.1", | ||||
|                 "symfony/yaml": "^3.0 || ^4.0 || ^5.0" | ||||
| @ -10854,7 +10875,7 @@ | ||||
|             "description": "A tool to automatically fix PHP code style", | ||||
|             "support": { | ||||
|                 "issues": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues", | ||||
|                 "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v2.16.7" | ||||
|                 "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v2.17.1" | ||||
|             }, | ||||
|             "funding": [ | ||||
|                 { | ||||
| @ -10862,7 +10883,7 @@ | ||||
|                     "type": "github" | ||||
|                 } | ||||
|             ], | ||||
|             "time": "2020-10-27T22:44:27+00:00" | ||||
|             "time": "2020-12-08T13:47:02+00:00" | ||||
|         }, | ||||
|         { | ||||
|             "name": "hamcrest/hamcrest-php", | ||||
| @ -10917,25 +10938,25 @@ | ||||
|         }, | ||||
|         { | ||||
|             "name": "maximebf/debugbar", | ||||
|             "version": "v1.16.3", | ||||
|             "version": "v1.16.4", | ||||
|             "source": { | ||||
|                 "type": "git", | ||||
|                 "url": "https://github.com/maximebf/php-debugbar.git", | ||||
|                 "reference": "1a1605b8e9bacb34cc0c6278206d699772e1d372" | ||||
|                 "reference": "c86c717e4bf3c6d98422da5c38bfa7b0f494b04c" | ||||
|             }, | ||||
|             "dist": { | ||||
|                 "type": "zip", | ||||
|                 "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/1a1605b8e9bacb34cc0c6278206d699772e1d372", | ||||
|                 "reference": "1a1605b8e9bacb34cc0c6278206d699772e1d372", | ||||
|                 "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/c86c717e4bf3c6d98422da5c38bfa7b0f494b04c", | ||||
|                 "reference": "c86c717e4bf3c6d98422da5c38bfa7b0f494b04c", | ||||
|                 "shasum": "" | ||||
|             }, | ||||
|             "require": { | ||||
|                 "php": "^7.1", | ||||
|                 "php": "^7.1|^8", | ||||
|                 "psr/log": "^1.0", | ||||
|                 "symfony/var-dumper": "^2.6|^3|^4|^5" | ||||
|             }, | ||||
|             "require-dev": { | ||||
|                 "phpunit/phpunit": "^5" | ||||
|                 "phpunit/phpunit": "^7.5.20 || ^9.4.2" | ||||
|             }, | ||||
|             "suggest": { | ||||
|                 "kriswallsmith/assetic": "The best way to manage assets", | ||||
| @ -10976,9 +10997,9 @@ | ||||
|             ], | ||||
|             "support": { | ||||
|                 "issues": "https://github.com/maximebf/php-debugbar/issues", | ||||
|                 "source": "https://github.com/maximebf/php-debugbar/tree/v1.16.3" | ||||
|                 "source": "https://github.com/maximebf/php-debugbar/tree/v1.16.4" | ||||
|             }, | ||||
|             "time": "2020-05-06T07:06:27+00:00" | ||||
|             "time": "2020-12-07T10:48:48+00:00" | ||||
|         }, | ||||
|         { | ||||
|             "name": "mockery/mockery", | ||||
|  | ||||
| @ -12,7 +12,7 @@ return [ | ||||
|     'require_https' => env('REQUIRE_HTTPS', true), | ||||
|     'app_url' => rtrim(env('APP_URL', ''), '/'), | ||||
|     'app_domain' => env('APP_DOMAIN', ''), | ||||
|     'app_version' => '5.0.33', | ||||
|     'app_version' => '5.0.34', | ||||
|     'minimum_client_version' => '5.0.16', | ||||
|     'terms_version' => '1.0.1', | ||||
|     'api_secret' => env('API_SECRET', false), | ||||
|  | ||||
| @ -95,7 +95,7 @@ class PaymentLibrariesSeeder extends Seeder | ||||
| 
 | ||||
|         Gateway::query()->update(['visible' => 0]); | ||||
| 
 | ||||
|         Gateway::whereIn('id', [1,15,20,39])->update(['visible' => 1]); | ||||
|         Gateway::whereIn('id', [1,15,20,39,55])->update(['visible' => 1]); | ||||
| 
 | ||||
|         Gateway::all()->each(function ($gateway) { | ||||
|             $gateway->site_url = $gateway->getHelp(); | ||||
|  | ||||
| @ -3316,4 +3316,9 @@ return [ | ||||
|     'pay' => 'Pay', | ||||
| 
 | ||||
|     'instructions' => 'Instructions', | ||||
|    | ||||
|     'notification_invoice_reminder1_sent_subject' => 'Reminder 1 for Invoice :invoice was sent to :client', | ||||
|     'notification_invoice_reminder2_sent_subject' => 'Reminder 2 for Invoice :invoice was sent to :client', | ||||
|     'notification_invoice_reminder3_sent_subject' => 'Reminder 3 for Invoice :invoice was sent to :client', | ||||
|     'notification_invoice_reminder_endless_sent_subject' => 'Endless reminder for Invoice :invoice was sent to :client', | ||||
| ]; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user