mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-04 01:04:36 -04:00
Working on recurring schedules
This commit is contained in:
parent
b906e1e92f
commit
4cf56d5138
@ -82,6 +82,6 @@ class SelfUpdateController extends BaseController
|
|||||||
|
|
||||||
Artisan::call('ninja:post-update');
|
Artisan::call('ninja:post-update');
|
||||||
|
|
||||||
return response()->json(['message'=>$res], 200);
|
return response()->json(['message' => ''], 200);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ use App\Helpers\Email\InvoiceEmail;
|
|||||||
use App\Jobs\Invoice\EmailInvoice;
|
use App\Jobs\Invoice\EmailInvoice;
|
||||||
use App\Models\Invoice;
|
use App\Models\Invoice;
|
||||||
use App\Models\RecurringInvoice;
|
use App\Models\RecurringInvoice;
|
||||||
|
use App\Utils\Ninja;
|
||||||
use App\Utils\Traits\GeneratesCounter;
|
use App\Utils\Traits\GeneratesCounter;
|
||||||
use Illuminate\Bus\Queueable;
|
use Illuminate\Bus\Queueable;
|
||||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
@ -202,27 +202,27 @@ class RecurringInvoice extends BaseModel
|
|||||||
{
|
{
|
||||||
switch ($this->frequency_id) {
|
switch ($this->frequency_id) {
|
||||||
case self::FREQUENCY_WEEKLY:
|
case self::FREQUENCY_WEEKLY:
|
||||||
return Carbon::parse($this->next_send_date->addWeek());
|
return Carbon::parse($this->next_send_date)->addWeek();
|
||||||
case self::FREQUENCY_TWO_WEEKS:
|
case self::FREQUENCY_TWO_WEEKS:
|
||||||
return Carbon::parse($this->next_send_date->addWeeks(2));
|
return Carbon::parse($this->next_send_date)->addWeeks(2);
|
||||||
case self::FREQUENCY_FOUR_WEEKS:
|
case self::FREQUENCY_FOUR_WEEKS:
|
||||||
return Carbon::parse($this->next_send_date->addWeeks(4));
|
return Carbon::parse($this->next_send_date)->addWeeks(4);
|
||||||
case self::FREQUENCY_MONTHLY:
|
case self::FREQUENCY_MONTHLY:
|
||||||
return Carbon::parse($this->next_send_date->addMonthNoOverflow());
|
return Carbon::parse($this->next_send_date)->addMonthNoOverflow();
|
||||||
case self::FREQUENCY_TWO_MONTHS:
|
case self::FREQUENCY_TWO_MONTHS:
|
||||||
return Carbon::parse($this->next_send_date->addMonthsNoOverflow(2));
|
return Carbon::parse($this->next_send_date)->addMonthsNoOverflow(2);
|
||||||
case self::FREQUENCY_THREE_MONTHS:
|
case self::FREQUENCY_THREE_MONTHS:
|
||||||
return Carbon::parse($this->next_send_date->addMonthsNoOverflow(3));
|
return Carbon::parse($this->next_send_date)->addMonthsNoOverflow(3);
|
||||||
case self::FREQUENCY_FOUR_MONTHS:
|
case self::FREQUENCY_FOUR_MONTHS:
|
||||||
return Carbon::parse($this->next_send_date->addMonthsNoOverflow(4));
|
return Carbon::parse($this->next_send_date)->addMonthsNoOverflow(4);
|
||||||
case self::FREQUENCY_SIX_MONTHS:
|
case self::FREQUENCY_SIX_MONTHS:
|
||||||
return Carbon::parse($this->next_send_date->addMonthsNoOverflow(6));
|
return Carbon::parse($this->next_send_date)->addMonthsNoOverflow(6);
|
||||||
case self::FREQUENCY_ANNUALLY:
|
case self::FREQUENCY_ANNUALLY:
|
||||||
return Carbon::parse($this->next_send_date->addYear());
|
return Carbon::parse($this->next_send_date)->addYear();
|
||||||
case self::FREQUENCY_TWO_YEARS:
|
case self::FREQUENCY_TWO_YEARS:
|
||||||
return Carbon::parse($this->next_send_date->addYears(2));
|
return Carbon::parse($this->next_send_date)->addYears(2);
|
||||||
case self::FREQUENCY_THREE_YEARS:
|
case self::FREQUENCY_THREE_YEARS:
|
||||||
return Carbon::parse($this->next_send_date->addYears(3));
|
return Carbon::parse($this->next_send_date)->addYears(3);
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -233,27 +233,27 @@ class RecurringInvoice extends BaseModel
|
|||||||
|
|
||||||
switch ($this->frequency_id) {
|
switch ($this->frequency_id) {
|
||||||
case self::FREQUENCY_WEEKLY:
|
case self::FREQUENCY_WEEKLY:
|
||||||
return Carbon::parse($date->addWeek());
|
return Carbon::parse($date)->addWeek();
|
||||||
case self::FREQUENCY_TWO_WEEKS:
|
case self::FREQUENCY_TWO_WEEKS:
|
||||||
return Carbon::parse($date->addWeeks(2));
|
return Carbon::parse($date)->addWeeks(2);
|
||||||
case self::FREQUENCY_FOUR_WEEKS:
|
case self::FREQUENCY_FOUR_WEEKS:
|
||||||
return Carbon::parse($date->addWeeks(4));
|
return Carbon::parse($date)->addWeeks(4);
|
||||||
case self::FREQUENCY_MONTHLY:
|
case self::FREQUENCY_MONTHLY:
|
||||||
return Carbon::parse($date->addMonthNoOverflow());
|
return Carbon::parse($date)->addMonthNoOverflow();
|
||||||
case self::FREQUENCY_TWO_MONTHS:
|
case self::FREQUENCY_TWO_MONTHS:
|
||||||
return Carbon::parse($date->addMonthsNoOverflow(2));
|
return Carbon::parse($date)->addMonthsNoOverflow(2);
|
||||||
case self::FREQUENCY_THREE_MONTHS:
|
case self::FREQUENCY_THREE_MONTHS:
|
||||||
return Carbon::parse($date->addMonthsNoOverflow(3));
|
return Carbon::parse($date)->addMonthsNoOverflow(3);
|
||||||
case self::FREQUENCY_FOUR_MONTHS:
|
case self::FREQUENCY_FOUR_MONTHS:
|
||||||
return Carbon::parse($date->addMonthsNoOverflow(4));
|
return Carbon::parse($date)->addMonthsNoOverflow(4);
|
||||||
case self::FREQUENCY_SIX_MONTHS:
|
case self::FREQUENCY_SIX_MONTHS:
|
||||||
return Carbon::parse($date->addMonthsNoOverflow(6));
|
return Carbon::parse($date)->addMonthsNoOverflow(6);
|
||||||
case self::FREQUENCY_ANNUALLY:
|
case self::FREQUENCY_ANNUALLY:
|
||||||
return Carbon::parse($date->addYear());
|
return Carbon::parse($date)->addYear();
|
||||||
case self::FREQUENCY_TWO_YEARS:
|
case self::FREQUENCY_TWO_YEARS:
|
||||||
return Carbon::parse($date->addYears(2));
|
return Carbon::parse($date)->addYears(2);
|
||||||
case self::FREQUENCY_THREE_YEARS:
|
case self::FREQUENCY_THREE_YEARS:
|
||||||
return Carbon::parse($date->addYears(3));
|
return Carbon::parse($date)->addYears(3);
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -381,9 +381,15 @@ class RecurringInvoice extends BaseModel
|
|||||||
if($this->remaining_cycles == -1)
|
if($this->remaining_cycles == -1)
|
||||||
$iterations = 10;
|
$iterations = 10;
|
||||||
|
|
||||||
|
$next_send_date = Carbon::parse($this->next_send_date)->copy();
|
||||||
|
|
||||||
$data = [];
|
$data = [];
|
||||||
|
|
||||||
$next_send_date = Carbon::parse($this->next_send_date)->copy();
|
// $data[] = [
|
||||||
|
// 'next_send_date' => $next_send_date->format('Y-m-d'),
|
||||||
|
// 'due_date' => $next_due_date->format('Y-m-d'),
|
||||||
|
// ];
|
||||||
|
|
||||||
|
|
||||||
for($x=0; $x<$iterations; $x++)
|
for($x=0; $x<$iterations; $x++)
|
||||||
{
|
{
|
||||||
@ -398,7 +404,7 @@ class RecurringInvoice extends BaseModel
|
|||||||
'due_date' => $next_due_date->format('Y-m-d'),
|
'due_date' => $next_due_date->format('Y-m-d'),
|
||||||
];
|
];
|
||||||
|
|
||||||
$next_send_date = $this->calculateDueDate($next_send_date);
|
$next_send_date = $this->nextDateByFrequency($next_send_date->format('Y-m-d'));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,6 +72,7 @@ class RefundPayment
|
|||||||
{
|
{
|
||||||
if ($this->refund_data['gateway_refund'] !== false && $this->total_refund > 0) {
|
if ($this->refund_data['gateway_refund'] !== false && $this->total_refund > 0) {
|
||||||
if ($this->payment->company_gateway) {
|
if ($this->payment->company_gateway) {
|
||||||
|
|
||||||
$response = $gateway->driver($this->payment->client)->refund($this->payment, $this->total_refund);
|
$response = $gateway->driver($this->payment->client)->refund($this->payment, $this->total_refund);
|
||||||
|
|
||||||
if ($response['success']) {
|
if ($response['success']) {
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
namespace App\Services\Recurring;
|
namespace App\Services\Recurring;
|
||||||
|
|
||||||
use App\Models\RecurringInvoice;
|
use App\Models\RecurringInvoice;
|
||||||
|
use Illuminate\Support\Carbon;
|
||||||
|
|
||||||
class RecurringService
|
class RecurringService
|
||||||
{
|
{
|
||||||
@ -42,7 +43,7 @@ class RecurringService
|
|||||||
if(Carbon::parse($this->recurring_entity->next_send_date)->lt(now()))
|
if(Carbon::parse($this->recurring_entity->next_send_date)->lt(now()))
|
||||||
return $this;
|
return $this;
|
||||||
|
|
||||||
$this->status_id = RecurringInvoice::STATUS_ACTIVE;
|
$this->recurring_entity->status_id = RecurringInvoice::STATUS_ACTIVE;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user