mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Fixes for recurring expense generation of next_send_date
This commit is contained in:
parent
a3d99d185c
commit
df35545fef
@ -34,7 +34,8 @@ class RecurringExpenseFactory
|
||||
$recurring_expense->tax_amount1 = 0;
|
||||
$recurring_expense->tax_amount2 = 0;
|
||||
$recurring_expense->tax_amount3 = 0;
|
||||
$recurring_expense->date = null;
|
||||
$recurring_expense->date = now()->format('Y-m-d');
|
||||
$recurring_expense->next_send_date = now()->format('Y-m-d');
|
||||
$recurring_expense->payment_date = null;
|
||||
$recurring_expense->amount = 0;
|
||||
$recurring_expense->foreign_amount = 0;
|
||||
@ -47,6 +48,7 @@ class RecurringExpenseFactory
|
||||
$recurring_expense->custom_value4 = '';
|
||||
$recurring_expense->uses_inclusive_taxes = true;
|
||||
$recurring_expense->calculate_tax_by_amount = true;
|
||||
$recurring_expense->remaining_cycles = -1;
|
||||
|
||||
return $recurring_expense;
|
||||
}
|
||||
|
@ -75,6 +75,9 @@ class UpdateRecurringExpenseRequest extends Request
|
||||
|
||||
public function prepareForValidation()
|
||||
{
|
||||
/** @var \App\Models\User $user*/
|
||||
$user = auth()->user();
|
||||
|
||||
$input = $this->all();
|
||||
|
||||
$input = $this->decodePrimaryKeys($input);
|
||||
@ -88,7 +91,7 @@ class UpdateRecurringExpenseRequest extends Request
|
||||
}
|
||||
|
||||
if (! array_key_exists('currency_id', $input) || strlen($input['currency_id']) == 0) {
|
||||
$input['currency_id'] = (string) auth()->user()->company()->settings->currency_id;
|
||||
$input['currency_id'] = (string) $user->company()->settings->currency_id;
|
||||
}
|
||||
|
||||
$this->replace($input);
|
||||
|
@ -11,12 +11,14 @@
|
||||
|
||||
namespace App\Jobs\Cron;
|
||||
|
||||
use App\Utils\Ninja;
|
||||
use App\Libraries\MultiDB;
|
||||
use Illuminate\Support\Carbon;
|
||||
use App\Models\RecurringExpense;
|
||||
use App\Models\RecurringInvoice;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use App\Utils\Traits\GeneratesCounter;
|
||||
use App\Events\Expense\ExpenseWasCreated;
|
||||
use Illuminate\Foundation\Bus\Dispatchable;
|
||||
use App\Factory\RecurringExpenseToExpenseFactory;
|
||||
|
||||
@ -109,6 +111,9 @@ class RecurringExpensesCron
|
||||
$expense->number = $this->getNextExpenseNumber($expense);
|
||||
$expense->saveQuietly();
|
||||
|
||||
event(new ExpenseWasCreated($expense, $expense->company, Ninja::eventVars(null)));
|
||||
event('eloquent.created: App\Models\Expense', $expense);
|
||||
|
||||
$recurring_expense->next_send_date = $recurring_expense->nextSendDate();
|
||||
$recurring_expense->next_send_date_client = $recurring_expense->next_send_date;
|
||||
$recurring_expense->last_sent_date = now();
|
||||
|
@ -49,7 +49,8 @@ class CreatedExpenseActivity implements ShouldQueue
|
||||
$fields->user_id = $user_id;
|
||||
$fields->company_id = $event->expense->company_id;
|
||||
$fields->activity_type_id = Activity::CREATE_EXPENSE;
|
||||
|
||||
$fields->recurring_expense_id = $event->expense->recurring_expense_id ?? null;
|
||||
|
||||
$this->activity_repo->save($fields, $event->expense, $event->event_vars);
|
||||
}
|
||||
}
|
||||
|
@ -81,7 +81,6 @@ class ClientSettingsTest extends TestCase
|
||||
$response->assertStatus(200);
|
||||
|
||||
$arr = $response->json();
|
||||
nlog($arr);
|
||||
|
||||
$this->assertEquals('frank', $arr['data']['settings']['name']);
|
||||
|
||||
@ -106,7 +105,7 @@ class ClientSettingsTest extends TestCase
|
||||
$response->assertStatus(200);
|
||||
|
||||
$arr = $response->json();
|
||||
nlog($arr);
|
||||
|
||||
$this->assertEquals('white', $arr['data']['settings']['name']);
|
||||
|
||||
$data = [
|
||||
@ -140,7 +139,6 @@ class ClientSettingsTest extends TestCase
|
||||
$response->assertStatus(200);
|
||||
|
||||
$arr = $response->json();
|
||||
nlog($arr);
|
||||
$this->assertEquals('white', $arr['data']['settings']['name']);
|
||||
|
||||
// $this->assertEquals('1', $arr['data']['settings']['currency_id']);
|
||||
@ -169,7 +167,6 @@ class ClientSettingsTest extends TestCase
|
||||
])->post('/api/v1/clients/', $data);
|
||||
} catch (ValidationException $e) {
|
||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
||||
nlog($message);
|
||||
}
|
||||
|
||||
$response->assertStatus(200);
|
||||
@ -203,7 +200,6 @@ class ClientSettingsTest extends TestCase
|
||||
])->post('/api/v1/clients/', $data);
|
||||
} catch (ValidationException $e) {
|
||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
||||
nlog($message);
|
||||
}
|
||||
|
||||
$response->assertStatus(200);
|
||||
@ -235,17 +231,14 @@ class ClientSettingsTest extends TestCase
|
||||
|
||||
$response = false;
|
||||
|
||||
try {
|
||||
|
||||
$response = $this->withHeaders([
|
||||
'X-API-SECRET' => config('ninja.api_secret'),
|
||||
'X-API-TOKEN' => $this->token,
|
||||
])->post('/api/v1/clients/', $data);
|
||||
} catch (ValidationException $e) {
|
||||
$message = json_decode($e->validator->getMessageBag(), 1);
|
||||
nlog($message);
|
||||
}
|
||||
])->postJson('/api/v1/clients/', $data);
|
||||
|
||||
|
||||
$response->assertStatus(302);
|
||||
$response->assertStatus(422);
|
||||
}
|
||||
|
||||
public function testClientIllegalLanguage()
|
||||
|
Loading…
x
Reference in New Issue
Block a user