diff --git a/VERSION.txt b/VERSION.txt index 4ea01d15c8f5..bdab8caeb267 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -5.0.33 \ No newline at end of file +5.0.34 \ No newline at end of file diff --git a/app/Console/Commands/PostUpdate.php b/app/Console/Commands/PostUpdate.php index 77d162d76e02..a20f38f8ddd7 100644 --- a/app/Console/Commands/PostUpdate.php +++ b/app/Console/Commands/PostUpdate.php @@ -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."; } } diff --git a/app/Events/Credit/CreditWasEmailed.php b/app/Events/Credit/CreditWasEmailed.php index fb47bcfa5283..a631b73e68eb 100644 --- a/app/Events/Credit/CreditWasEmailed.php +++ b/app/Events/Credit/CreditWasEmailed.php @@ -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; } diff --git a/app/Events/Quote/QuoteWasEmailed.php b/app/Events/Quote/QuoteWasEmailed.php index 259a1a53ed97..b9ab80ba52ac 100644 --- a/app/Events/Quote/QuoteWasEmailed.php +++ b/app/Events/Quote/QuoteWasEmailed.php @@ -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; } diff --git a/app/Http/Controllers/EmailController.php b/app/Http/Controllers/EmailController.php index a255a44cf0ba..7bbbc959bf9b 100644 --- a/app/Http/Controllers/EmailController.php +++ b/app/Http/Controllers/EmailController.php @@ -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); diff --git a/app/Http/Controllers/InvoiceController.php b/app/Http/Controllers/InvoiceController.php index 16db0a89b093..8b8bb6c0e312 100644 --- a/app/Http/Controllers/InvoiceController.php +++ b/app/Http/Controllers/InvoiceController.php @@ -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); } diff --git a/app/Http/Requests/RecurringInvoice/StoreRecurringInvoiceRequest.php b/app/Http/Requests/RecurringInvoice/StoreRecurringInvoiceRequest.php index cba0442356a7..c2f8c8f98bb2 100644 --- a/app/Http/Requests/RecurringInvoice/StoreRecurringInvoiceRequest.php +++ b/app/Http/Requests/RecurringInvoice/StoreRecurringInvoiceRequest.php @@ -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() diff --git a/app/Http/Requests/User/StoreUserRequest.php b/app/Http/Requests/User/StoreUserRequest.php index 9b47bfe17476..abe486a05a16 100644 --- a/app/Http/Requests/User/StoreUserRequest.php +++ b/app/Http/Requests/User/StoreUserRequest.php @@ -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); diff --git a/app/Jobs/Entity/EmailEntity.php b/app/Jobs/Entity/EmailEntity.php index 6b7a5c0ccaa2..63e232b07b6c 100644 --- a/app/Jobs/Entity/EmailEntity.php +++ b/app/Jobs/Entity/EmailEntity.php @@ -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() { diff --git a/app/Listeners/Credit/CreditEmailedNotification.php b/app/Listeners/Credit/CreditEmailedNotification.php new file mode 100644 index 000000000000..e218dc6ed3df --- /dev/null +++ b/app/Listeners/Credit/CreditEmailedNotification.php @@ -0,0 +1,63 @@ +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); + } + } +} diff --git a/app/Listeners/Quote/QuoteEmailedNotification.php b/app/Listeners/Quote/QuoteEmailedNotification.php new file mode 100644 index 000000000000..a4766245e9b0 --- /dev/null +++ b/app/Listeners/Quote/QuoteEmailedNotification.php @@ -0,0 +1,63 @@ +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); + } + } +} diff --git a/app/Models/CompanyGateway.php b/app/Models/CompanyGateway.php index a8082e93b931..d5ee8ca346b2 100644 --- a/app/Models/CompanyGateway.php +++ b/app/Models/CompanyGateway.php @@ -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}; } diff --git a/app/Models/Invoice.php b/app/Models/Invoice.php index 240049aa40ae..40d6c52223c3 100644 --- a/app/Models/Invoice.php +++ b/app/Models/Invoice.php @@ -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; + } + } } diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index 6c1bd6793c9f..26f9853a63ce 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -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, diff --git a/app/Transformers/QuoteTransformer.php b/app/Transformers/QuoteTransformer.php index c2f207564d88..e5e2fba76123 100644 --- a/app/Transformers/QuoteTransformer.php +++ b/app/Transformers/QuoteTransformer.php @@ -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, diff --git a/app/Utils/SystemHealth.php b/app/Utils/SystemHealth.php index 7f90adbb1315..a16dd631a769 100644 --- a/app/Utils/SystemHealth.php +++ b/app/Utils/SystemHealth.php @@ -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; } diff --git a/app/Utils/Traits/MakesReminders.php b/app/Utils/Traits/MakesReminders.php index 6c87794df6e3..f3055b20b5fd 100644 --- a/app/Utils/Traits/MakesReminders.php +++ b/app/Utils/Traits/MakesReminders.php @@ -209,4 +209,7 @@ trait MakesReminders return null; } } + } + + diff --git a/composer.json b/composer.json index 0061e00593ef..7d2b605566e7 100644 --- a/composer.json +++ b/composer.json @@ -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", diff --git a/composer.lock b/composer.lock index 7b0aaa17b1b4..455c7a21d38b 100644 --- a/composer.lock +++ b/composer.lock @@ -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", diff --git a/config/ninja.php b/config/ninja.php index 8e2402b989e2..d67bf959d607 100644 --- a/config/ninja.php +++ b/config/ninja.php @@ -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), diff --git a/database/seeders/PaymentLibrariesSeeder.php b/database/seeders/PaymentLibrariesSeeder.php index a9f672bfe9e5..294efd6ff031 100644 --- a/database/seeders/PaymentLibrariesSeeder.php +++ b/database/seeders/PaymentLibrariesSeeder.php @@ -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(); diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index e0fbc8dfca9f..0b322170be22 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -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', ];