mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-27 11:41:09 -04:00
Minor fixes
This commit is contained in:
@ -8,7 +8,7 @@ use Crater\Models\CompanySetting;
|
||||
use Crater\Models\Currency;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class CompanyCurrencyTransactionController extends Controller
|
||||
class CompanyCurrencyCheckTransactionsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
@ -24,15 +24,7 @@ class CompanyCurrencyTransactionController extends Controller
|
||||
|
||||
$currency = Currency::find((int)$companyCurrency);
|
||||
|
||||
if (
|
||||
$currency->customers()->exists() ||
|
||||
$currency->items()->exists() ||
|
||||
$currency->invoices()->exists() ||
|
||||
$currency->estimates()->exists() ||
|
||||
$currency->expenses()->exists() ||
|
||||
$currency->payments()->exists() ||
|
||||
$currency->recurringInvoices()->exists()
|
||||
) {
|
||||
if ($currency->checkTransactions()) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
]);
|
||||
@ -6,6 +6,7 @@ use Crater\Http\Controllers\Controller;
|
||||
use Crater\Http\Requests\UpdateSettingsRequest;
|
||||
use Crater\Models\Company;
|
||||
use Crater\Models\CompanySetting;
|
||||
use Crater\Models\Currency;
|
||||
|
||||
class UpdateCompanySettingsController extends Controller
|
||||
{
|
||||
@ -19,7 +20,19 @@ class UpdateCompanySettingsController extends Controller
|
||||
{
|
||||
$this->authorize('manage company', Company::find($request->header('company')));
|
||||
|
||||
CompanySetting::setSettings($request->settings, $request->header('company'));
|
||||
$companyCurrency = CompanySetting::getSetting('currency', $request->header('company'));
|
||||
|
||||
$data = $request->settings;
|
||||
$currency = Currency::find((int)$companyCurrency);
|
||||
|
||||
if ($companyCurrency !== $data['currency'] && $currency->checkTransactions()) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => 'You cannot change currency once transaction is created.'
|
||||
]);
|
||||
}
|
||||
|
||||
CompanySetting::setSettings($data, $request->header('company'));
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
|
||||
@ -47,4 +47,21 @@ class Currency extends Model
|
||||
{
|
||||
return $this->hasMany(RecurringInvoice::class);
|
||||
}
|
||||
|
||||
public function checkTransactions()
|
||||
{
|
||||
if (
|
||||
$this->customers()->exists() ||
|
||||
$this->items()->exists() ||
|
||||
$this->invoices()->exists() ||
|
||||
$this->estimates()->exists() ||
|
||||
$this->expenses()->exists() ||
|
||||
$this->payments()->exists() ||
|
||||
$this->recurringInvoices()->exists()
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -27,7 +27,6 @@ class Invoice extends Model implements HasMedia
|
||||
|
||||
public const STATUS_DRAFT = 'DRAFT';
|
||||
public const STATUS_SENT = 'SENT';
|
||||
public const STATUS_OVERDUE = 'OVERDUE';
|
||||
public const STATUS_VIEWED = 'VIEWED';
|
||||
public const STATUS_COMPLETED = 'COMPLETED';
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ class ChangeOverDueStatusToSent extends Migration
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
$overdueInvoices = Invoice::where('status', Invoice::STATUS_OVERDUE)->get();
|
||||
$overdueInvoices = Invoice::where('status', 'OVERDUE')->get();
|
||||
|
||||
if ($overdueInvoices) {
|
||||
$overdueInvoices->map(function ($overdueInvoice) {
|
||||
|
||||
@ -67,7 +67,7 @@ use Crater\Http\Controllers\V1\Admin\RecurringInvoice\RecurringInvoiceFrequencyC
|
||||
use Crater\Http\Controllers\V1\Admin\Role\AbilitiesController;
|
||||
use Crater\Http\Controllers\V1\Admin\Role\RolesController;
|
||||
use Crater\Http\Controllers\V1\Admin\Settings\CompanyController;
|
||||
use Crater\Http\Controllers\V1\Admin\Settings\CompanyCurrencyTransactionController;
|
||||
use Crater\Http\Controllers\V1\Admin\Settings\CompanyCurrencyCheckTransactionsController;
|
||||
use Crater\Http\Controllers\V1\Admin\Settings\DiskController;
|
||||
use Crater\Http\Controllers\V1\Admin\Settings\GetCompanyMailConfigurationController;
|
||||
use Crater\Http\Controllers\V1\Admin\Settings\GetCompanySettingsController;
|
||||
@ -395,7 +395,7 @@ Route::prefix('/v1')->group(function () {
|
||||
|
||||
Route::post('/settings', UpdateSettingsController::class);
|
||||
|
||||
Route::get('/company-currency-transaction', CompanyCurrencyTransactionController::class);
|
||||
Route::get('/company/has-transactions', CompanyCurrencyCheckTransactionsController::class);
|
||||
|
||||
|
||||
// Mails
|
||||
|
||||
Reference in New Issue
Block a user