1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-11 21:52:35 +01:00

Merge pull request #7573 from turbo124/v5-stable

v5.4.4
This commit is contained in:
David Bomba 2022-06-19 18:10:44 +10:00 committed by GitHub
commit 2caf21ff47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 40 additions and 8 deletions

View File

@ -1 +1 @@
5.4.3
5.4.4

View File

@ -866,7 +866,7 @@ class CheckData extends Command
foreach(Invoice::with(['payments'])->whereHas('payments')->where('status_id', 4)->where('balance', '>', 0)->where('is_deleted',0)->cursor() as $invoice)
{
$this->$this->wrong_paid_status++;
$this->wrong_paid_status++;
$this->logMessage("# {$invoice->id} " . ' - '.$invoice->number." - Marked as paid, but balance = {$invoice->balance}");

View File

@ -90,8 +90,10 @@ class TemplateEmail extends Mailable
if (strlen($settings->bcc_email) > 1){
if(Ninja::isHosted())
$this->bcc(reset(explode(",",str_replace(" ", "", $settings->bcc_email))));//remove whitespace if any has been inserted.
if(Ninja::isHosted()){
$bccs = explode(",",str_replace(" ", "", $settings->bcc_email));
$this->bcc(reset($bccs));//remove whitespace if any has been inserted.
}
else
$this->bcc(explode(",",str_replace(" ", "", $settings->bcc_email)));//remove whitespace if any has been inserted.

View File

@ -375,7 +375,7 @@ class Account extends BaseModel
{
if(Carbon::createFromTimestamp($this->created_at)->diffInWeeks() == 0)
return 50;
return 20;
if($this->isPaid()){
$limit = $this->paid_plan_email_quota;

View File

@ -118,6 +118,9 @@ class PaymentIntentWebhook implements ShouldQueue
if(!$payment_hash)
return;
nlog("payment intent");
nlog($this->stripe_request);
if(optional($this->stripe_request['object']['charges']['data'][0]['metadata']['payment_hash']) && in_array('card', $this->stripe_request['object']['allowed_source_types']))
{
nlog("hash found");

View File

@ -123,6 +123,7 @@ class AutoBillInvoice extends AbstractService
->setPaymentHash($payment_hash)
->tokenBilling($gateway_token, $payment_hash);
} catch (\Exception $e) {
$this->invoice->auto_bill_tries += 1;
if ($this->invoice->auto_bill_tries == 3) {
@ -131,6 +132,8 @@ class AutoBillInvoice extends AbstractService
$this->invoice->save();
}
$this->invoice->save();
nlog("payment NOT captured for " . $this->invoice->number . " with error " . $e->getMessage());
}

View File

@ -58,6 +58,7 @@ class UpdateReminder extends AbstractService
}
if (is_null($this->invoice->reminder1_sent) &&
$this->invoice->due_date &&
$this->settings->schedule_reminder1 == 'before_due_date') {
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->subDays($this->settings->num_days_reminder1)->addSeconds($offset);
@ -66,6 +67,7 @@ class UpdateReminder extends AbstractService
}
if (is_null($this->invoice->reminder1_sent) &&
$this->invoice->due_date &&
$this->settings->schedule_reminder1 == 'after_due_date') {
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->addDays($this->settings->num_days_reminder1)->addSeconds($offset);
@ -82,6 +84,7 @@ class UpdateReminder extends AbstractService
}
if (is_null($this->invoice->reminder2_sent) &&
$this->invoice->due_date &&
$this->settings->schedule_reminder2 == 'before_due_date') {
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->subDays($this->settings->num_days_reminder2)->addSeconds($offset);
@ -90,6 +93,7 @@ class UpdateReminder extends AbstractService
}
if (is_null($this->invoice->reminder2_sent) &&
$this->invoice->due_date &&
$this->settings->schedule_reminder2 == 'after_due_date') {
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->addDays($this->settings->num_days_reminder2)->addSeconds($offset);
@ -106,6 +110,7 @@ class UpdateReminder extends AbstractService
}
if (is_null($this->invoice->reminder3_sent) &&
$this->invoice->due_date &&
$this->settings->schedule_reminder3 == 'before_due_date') {
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->subDays($this->settings->num_days_reminder3)->addSeconds($offset);
@ -114,6 +119,7 @@ class UpdateReminder extends AbstractService
}
if (is_null($this->invoice->reminder3_sent) &&
$this->invoice->due_date &&
$this->settings->schedule_reminder3 == 'after_due_date') {
$reminder_date = Carbon::parse($this->invoice->due_date)->startOfDay()->addDays($this->settings->num_days_reminder3)->addSeconds($offset);

View File

@ -116,6 +116,11 @@ class Helpers
$replacements = [
'literal' => [
':MONTHYEAR' => \sprintf(
'%s %s',
Carbon::createFromDate(now()->month)->translatedFormat('F'),
now()->year,
),
':MONTH' => Carbon::createFromDate(now()->year, now()->month)->translatedFormat('F'),
':YEAR' => now()->year,
':QUARTER' => 'Q' . now()->quarter,
@ -139,6 +144,7 @@ class Helpers
),
],
'raw' => [
':MONTHYEAR' => now()->month,
':MONTH' => now()->month,
':YEAR' => now()->year,
':QUARTER' => now()->quarter,
@ -256,6 +262,18 @@ class Helpers
$output = \Carbon\Carbon::create()->month($output)->translatedFormat('F');
}
if ($matches->keys()->first() == ':MONTHYEAR') {
$final_date = now()->addMonths($output-now()->month);
$output = \sprintf(
'%s %s',
$final_date->translatedFormat('F'),
$final_date->year,
);
}
$value = preg_replace(
$target, $output, $value, 1
);

View File

@ -14,8 +14,8 @@ return [
'require_https' => env('REQUIRE_HTTPS', true),
'app_url' => rtrim(env('APP_URL', ''), '/'),
'app_domain' => env('APP_DOMAIN', 'invoicing.co'),
'app_version' => '5.4.3',
'app_tag' => '5.4.3',
'app_version' => '5.4.4',
'app_tag' => '5.4.4',
'minimum_client_version' => '5.0.16',
'terms_version' => '1.0.1',
'api_secret' => env('API_SECRET', ''),

View File

@ -26,7 +26,7 @@ class CreateScheduledJobsTable extends Migration
$table->id();
$table->string('action_name');
$table->string('action_class');
$table->json('parameters')->nullable();
$table->mediumText('parameters')->nullable();
$table->foreignIdFor(\App\Models\Company::class);
$table->foreignIdFor(\App\Models\Scheduler::class);
$table->timestamps();