mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -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');
|
||||
|
||||
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\Models\Invoice;
|
||||
use App\Models\RecurringInvoice;
|
||||
use App\Utils\Ninja;
|
||||
use App\Utils\Traits\GeneratesCounter;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
|
@ -202,27 +202,27 @@ class RecurringInvoice extends BaseModel
|
||||
{
|
||||
switch ($this->frequency_id) {
|
||||
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:
|
||||
return Carbon::parse($this->next_send_date->addWeeks(2));
|
||||
return Carbon::parse($this->next_send_date)->addWeeks(2);
|
||||
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:
|
||||
return Carbon::parse($this->next_send_date->addMonthNoOverflow());
|
||||
return Carbon::parse($this->next_send_date)->addMonthNoOverflow();
|
||||
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:
|
||||
return Carbon::parse($this->next_send_date->addMonthsNoOverflow(3));
|
||||
return Carbon::parse($this->next_send_date)->addMonthsNoOverflow(3);
|
||||
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:
|
||||
return Carbon::parse($this->next_send_date->addMonthsNoOverflow(6));
|
||||
return Carbon::parse($this->next_send_date)->addMonthsNoOverflow(6);
|
||||
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:
|
||||
return Carbon::parse($this->next_send_date->addYears(2));
|
||||
return Carbon::parse($this->next_send_date)->addYears(2);
|
||||
case self::FREQUENCY_THREE_YEARS:
|
||||
return Carbon::parse($this->next_send_date->addYears(3));
|
||||
return Carbon::parse($this->next_send_date)->addYears(3);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
@ -233,27 +233,27 @@ class RecurringInvoice extends BaseModel
|
||||
|
||||
switch ($this->frequency_id) {
|
||||
case self::FREQUENCY_WEEKLY:
|
||||
return Carbon::parse($date->addWeek());
|
||||
return Carbon::parse($date)->addWeek();
|
||||
case self::FREQUENCY_TWO_WEEKS:
|
||||
return Carbon::parse($date->addWeeks(2));
|
||||
return Carbon::parse($date)->addWeeks(2);
|
||||
case self::FREQUENCY_FOUR_WEEKS:
|
||||
return Carbon::parse($date->addWeeks(4));
|
||||
return Carbon::parse($date)->addWeeks(4);
|
||||
case self::FREQUENCY_MONTHLY:
|
||||
return Carbon::parse($date->addMonthNoOverflow());
|
||||
return Carbon::parse($date)->addMonthNoOverflow();
|
||||
case self::FREQUENCY_TWO_MONTHS:
|
||||
return Carbon::parse($date->addMonthsNoOverflow(2));
|
||||
return Carbon::parse($date)->addMonthsNoOverflow(2);
|
||||
case self::FREQUENCY_THREE_MONTHS:
|
||||
return Carbon::parse($date->addMonthsNoOverflow(3));
|
||||
return Carbon::parse($date)->addMonthsNoOverflow(3);
|
||||
case self::FREQUENCY_FOUR_MONTHS:
|
||||
return Carbon::parse($date->addMonthsNoOverflow(4));
|
||||
return Carbon::parse($date)->addMonthsNoOverflow(4);
|
||||
case self::FREQUENCY_SIX_MONTHS:
|
||||
return Carbon::parse($date->addMonthsNoOverflow(6));
|
||||
return Carbon::parse($date)->addMonthsNoOverflow(6);
|
||||
case self::FREQUENCY_ANNUALLY:
|
||||
return Carbon::parse($date->addYear());
|
||||
return Carbon::parse($date)->addYear();
|
||||
case self::FREQUENCY_TWO_YEARS:
|
||||
return Carbon::parse($date->addYears(2));
|
||||
return Carbon::parse($date)->addYears(2);
|
||||
case self::FREQUENCY_THREE_YEARS:
|
||||
return Carbon::parse($date->addYears(3));
|
||||
return Carbon::parse($date)->addYears(3);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
@ -381,9 +381,15 @@ class RecurringInvoice extends BaseModel
|
||||
if($this->remaining_cycles == -1)
|
||||
$iterations = 10;
|
||||
|
||||
$next_send_date = Carbon::parse($this->next_send_date)->copy();
|
||||
|
||||
$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++)
|
||||
{
|
||||
@ -398,7 +404,7 @@ class RecurringInvoice extends BaseModel
|
||||
'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->payment->company_gateway) {
|
||||
|
||||
$response = $gateway->driver($this->payment->client)->refund($this->payment, $this->total_refund);
|
||||
|
||||
if ($response['success']) {
|
||||
|
@ -12,6 +12,7 @@
|
||||
namespace App\Services\Recurring;
|
||||
|
||||
use App\Models\RecurringInvoice;
|
||||
use Illuminate\Support\Carbon;
|
||||
|
||||
class RecurringService
|
||||
{
|
||||
@ -42,7 +43,7 @@ class RecurringService
|
||||
if(Carbon::parse($this->recurring_entity->next_send_date)->lt(now()))
|
||||
return $this;
|
||||
|
||||
$this->status_id = RecurringInvoice::STATUS_ACTIVE;
|
||||
$this->recurring_entity->status_id = RecurringInvoice::STATUS_ACTIVE;
|
||||
|
||||
return $this;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user