Minor fixes

This commit is contained in:
harshjagad20
2022-03-03 13:25:12 +05:30
parent ea9748ca68
commit 69d8c95557
6 changed files with 36 additions and 15 deletions

View File

@ -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,
]);

View File

@ -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,

View File

@ -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;
}
}

View File

@ -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';

View File

@ -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) {

View File

@ -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