From 9356c309a2930d09200ddefbf42d5c3398ef7066 Mon Sep 17 00:00:00 2001 From: radhika587 Date: Thu, 3 Mar 2022 12:49:29 +0530 Subject: [PATCH 1/8] change label --- resources/scripts/admin/stores/recurring-invoice.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/scripts/admin/stores/recurring-invoice.js b/resources/scripts/admin/stores/recurring-invoice.js index cd0ee5eb..ece01072 100644 --- a/resources/scripts/admin/stores/recurring-invoice.js +++ b/resources/scripts/admin/stores/recurring-invoice.js @@ -40,12 +40,12 @@ export const useRecurringInvoiceStore = (useWindow = false) => { { label: 'Every 30 Minute', value: '*/30 * * * *' }, { label: 'Every Hour', value: '0 * * * *' }, { label: 'Every 2 Hour', value: '0 */2 * * *' }, - { label: 'Twice A Day', value: '0 13-15 * * *' }, + { label: 'Every day at midnight ', value: '0 0 * * *' }, { label: 'Every Week', value: '0 0 * * 0' }, - { label: 'Every 15 Days', value: '0 5 */15 * *' }, - { label: 'First Day Of Month', value: '0 0 1 * *' }, + { label: 'Every 15 days at midnight', value: '0 5 */15 * *' }, + { label: 'On the first day of every month at 00:00', value: '0 0 1 * *' }, { label: 'Every 6 Month', value: '0 0 1 */6 *' }, - { label: 'Every Year', value: '0 0 1 1 *' }, + { label: 'Every year on the first day of january at 00:00', value: '0 0 1 1 *' }, { label: 'Custom', value: 'CUSTOM' }, ], }), From cc737593b771670ffd3440df10bdec955ecc2558 Mon Sep 17 00:00:00 2001 From: harshjagad20 Date: Thu, 3 Mar 2022 12:55:15 +0530 Subject: [PATCH 2/8] Added migration to Change over due status --- ..._063237_change_over_due_status_to_sent.php | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 database/migrations/2022_03_03_063237_change_over_due_status_to_sent.php diff --git a/database/migrations/2022_03_03_063237_change_over_due_status_to_sent.php b/database/migrations/2022_03_03_063237_change_over_due_status_to_sent.php new file mode 100644 index 00000000..f2d92bc3 --- /dev/null +++ b/database/migrations/2022_03_03_063237_change_over_due_status_to_sent.php @@ -0,0 +1,35 @@ +get(); + + if ($overdueInvoices) { + $overdueInvoices->map(function ($overdueInvoice) { + $overdueInvoice->status = Invoice::STATUS_SENT; + $overdueInvoice->overdue = true; + $overdueInvoice->save(); + }); + } + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} From c897521137ecf9ff862f3ec16290b7b319190172 Mon Sep 17 00:00:00 2001 From: harshjagad20 Date: Thu, 3 Mar 2022 12:55:57 +0530 Subject: [PATCH 3/8] Added preview to invoice, estimate & payment pdfs --- app/Http/Controllers/V1/PDF/EstimatePdfController.php | 8 +++++++- app/Http/Controllers/V1/PDF/InvoicePdfController.php | 7 ++++++- app/Http/Controllers/V1/PDF/PaymentPdfController.php | 7 ++++++- app/Models/Estimate.php | 4 ++++ app/Models/Invoice.php | 5 +++++ app/Models/Payment.php | 4 ++++ 6 files changed, 32 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/V1/PDF/EstimatePdfController.php b/app/Http/Controllers/V1/PDF/EstimatePdfController.php index 80e96915..64f65cce 100644 --- a/app/Http/Controllers/V1/PDF/EstimatePdfController.php +++ b/app/Http/Controllers/V1/PDF/EstimatePdfController.php @@ -4,6 +4,7 @@ namespace Crater\Http\Controllers\V1\PDF; use Crater\Http\Controllers\Controller; use Crater\Models\Estimate; +use Illuminate\Http\Request; class EstimatePdfController extends Controller { @@ -13,8 +14,13 @@ class EstimatePdfController extends Controller * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ - public function __invoke(Estimate $estimate) + public function __invoke(Request $request, Estimate $estimate) { + if ($request->has('preview')) { + return $estimate->getPDFData(); + } + + return $estimate->getGeneratedPDFOrStream('estimate'); } } diff --git a/app/Http/Controllers/V1/PDF/InvoicePdfController.php b/app/Http/Controllers/V1/PDF/InvoicePdfController.php index 07a78f45..6f3c47c9 100644 --- a/app/Http/Controllers/V1/PDF/InvoicePdfController.php +++ b/app/Http/Controllers/V1/PDF/InvoicePdfController.php @@ -4,6 +4,7 @@ namespace Crater\Http\Controllers\V1\PDF; use Crater\Http\Controllers\Controller; use Crater\Models\Invoice; +use Illuminate\Http\Request; class InvoicePdfController extends Controller { @@ -13,8 +14,12 @@ class InvoicePdfController extends Controller * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ - public function __invoke(Invoice $invoice) + public function __invoke(Request $request, Invoice $invoice) { + if ($request->has('preview')) { + return $invoice->getPDFData(); + } + return $invoice->getGeneratedPDFOrStream('invoice'); } } diff --git a/app/Http/Controllers/V1/PDF/PaymentPdfController.php b/app/Http/Controllers/V1/PDF/PaymentPdfController.php index c091e724..fec5fa4b 100644 --- a/app/Http/Controllers/V1/PDF/PaymentPdfController.php +++ b/app/Http/Controllers/V1/PDF/PaymentPdfController.php @@ -4,6 +4,7 @@ namespace Crater\Http\Controllers\V1\PDF; use Crater\Http\Controllers\Controller; use Crater\Models\Payment; +use Illuminate\Http\Request; class PaymentPdfController extends Controller { @@ -13,8 +14,12 @@ class PaymentPdfController extends Controller * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ - public function __invoke(Payment $payment) + public function __invoke(Request $request, Payment $payment) { + if ($request->has('preview')) { + return view('app.pdf.payment.payment'); + } + return $payment->getGeneratedPDFOrStream('payment'); } } diff --git a/app/Models/Estimate.php b/app/Models/Estimate.php index f9aa6eb3..5b7c3b8f 100644 --- a/app/Models/Estimate.php +++ b/app/Models/Estimate.php @@ -412,6 +412,10 @@ class Estimate extends Model implements HasMedia 'taxes' => $taxes, ]); + if (request()->has('preview')) { + return view('app.pdf.estimate.'.$estimateTemplate); + } + return PDF::loadView('app.pdf.estimate.'.$estimateTemplate); } diff --git a/app/Models/Invoice.php b/app/Models/Invoice.php index 396fc116..ca6c765e 100644 --- a/app/Models/Invoice.php +++ b/app/Models/Invoice.php @@ -27,6 +27,7 @@ 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'; @@ -575,6 +576,10 @@ class Invoice extends Model implements HasMedia 'taxes' => $taxes, ]); + if (request()->has('preview')) { + return view('app.pdf.invoice.'.$invoiceTemplate); + } + return PDF::loadView('app.pdf.invoice.'.$invoiceTemplate); } diff --git a/app/Models/Payment.php b/app/Models/Payment.php index f0afd2c6..83a17441 100644 --- a/app/Models/Payment.php +++ b/app/Models/Payment.php @@ -375,6 +375,10 @@ class Payment extends Model implements HasMedia 'logo' => $logo ?? null, ]); + if (request()->has('preview')) { + return view('app.pdf.payment.payment'); + } + return PDF::loadView('app.pdf.payment.payment'); } From 66a5501bd22d0abc577dec738cd6210525ee6e05 Mon Sep 17 00:00:00 2001 From: harshjagad20 Date: Thu, 3 Mar 2022 12:56:10 +0530 Subject: [PATCH 4/8] Solve due date issue in recurring invoice --- app/Models/RecurringInvoice.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/Models/RecurringInvoice.php b/app/Models/RecurringInvoice.php index 6666ea5d..2630d4dd 100644 --- a/app/Models/RecurringInvoice.php +++ b/app/Models/RecurringInvoice.php @@ -305,9 +305,11 @@ class RecurringInvoice extends Model ->setCustomer($this->customer_id) ->setNextNumbers(); + $days = CompanySetting::getSetting('invoice_due_date_days', $this->company_id); + $newInvoice['creator_id'] = $this->creator_id; $newInvoice['invoice_date'] = Carbon::today()->format('Y-m-d'); - $newInvoice['due_date'] = Carbon::today()->addDays(7)->format('Y-m-d'); + $newInvoice['due_date'] = Carbon::today()->addDays($days)->format('Y-m-d'); $newInvoice['status'] = Invoice::STATUS_DRAFT; $newInvoice['company_id'] = $this->company_id; $newInvoice['paid_status'] = Invoice::STATUS_UNPAID; From ea9748ca6892ffd2da8e1d81cde2c54153a19719 Mon Sep 17 00:00:00 2001 From: harshjagad20 Date: Thu, 3 Mar 2022 12:56:46 +0530 Subject: [PATCH 5/8] Endpoint to check company currency transaction --- .../CompanyCurrencyTransactionController.php | 45 +++++++++++++++++++ app/Models/Currency.php | 35 +++++++++++++++ routes/api.php | 3 ++ 3 files changed, 83 insertions(+) create mode 100644 app/Http/Controllers/V1/Admin/Settings/CompanyCurrencyTransactionController.php diff --git a/app/Http/Controllers/V1/Admin/Settings/CompanyCurrencyTransactionController.php b/app/Http/Controllers/V1/Admin/Settings/CompanyCurrencyTransactionController.php new file mode 100644 index 00000000..0977de23 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Settings/CompanyCurrencyTransactionController.php @@ -0,0 +1,45 @@ +authorize('manage company', Company::find($request->header('company'))); + + $companyCurrency = CompanySetting::getSetting('currency', $request->header('company')); + + $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() + ) { + return response()->json([ + 'success' => false, + ]); + } + + return response()->json([ + 'success' => true, + ]); + } +} diff --git a/app/Models/Currency.php b/app/Models/Currency.php index b852f114..f777585c 100644 --- a/app/Models/Currency.php +++ b/app/Models/Currency.php @@ -12,4 +12,39 @@ class Currency extends Model protected $guarded = [ 'id' ]; + + public function customers() + { + return $this->hasMany(Customer::class); + } + + public function items() + { + return $this->hasMany(Item::class); + } + + public function invoices() + { + return $this->hasMany(Invoice::class); + } + + public function estimates() + { + return $this->hasMany(Estimate::class); + } + + public function expenses() + { + return $this->hasMany(Expense::class); + } + + public function payments() + { + return $this->hasMany(Payment::class); + } + + public function recurringInvoices() + { + return $this->hasMany(RecurringInvoice::class); + } } diff --git a/routes/api.php b/routes/api.php index 784760ea..d1c63fc9 100644 --- a/routes/api.php +++ b/routes/api.php @@ -67,6 +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\DiskController; use Crater\Http\Controllers\V1\Admin\Settings\GetCompanyMailConfigurationController; use Crater\Http\Controllers\V1\Admin\Settings\GetCompanySettingsController; @@ -394,6 +395,8 @@ Route::prefix('/v1')->group(function () { Route::post('/settings', UpdateSettingsController::class); + Route::get('/company-currency-transaction', CompanyCurrencyTransactionController::class); + // Mails //---------------------------------- From 69d8c95557f19dfa10319d200e4bb468cde2b0ef Mon Sep 17 00:00:00 2001 From: harshjagad20 Date: Thu, 3 Mar 2022 13:25:12 +0530 Subject: [PATCH 6/8] Minor fixes --- ...panyCurrencyCheckTransactionsController.php} | 12 ++---------- .../UpdateCompanySettingsController.php | 15 ++++++++++++++- app/Models/Currency.php | 17 +++++++++++++++++ app/Models/Invoice.php | 1 - ...03_063237_change_over_due_status_to_sent.php | 2 +- routes/api.php | 4 ++-- 6 files changed, 36 insertions(+), 15 deletions(-) rename app/Http/Controllers/V1/Admin/Settings/{CompanyCurrencyTransactionController.php => CompanyCurrencyCheckTransactionsController.php} (67%) diff --git a/app/Http/Controllers/V1/Admin/Settings/CompanyCurrencyTransactionController.php b/app/Http/Controllers/V1/Admin/Settings/CompanyCurrencyCheckTransactionsController.php similarity index 67% rename from app/Http/Controllers/V1/Admin/Settings/CompanyCurrencyTransactionController.php rename to app/Http/Controllers/V1/Admin/Settings/CompanyCurrencyCheckTransactionsController.php index 0977de23..ee9ce1b9 100644 --- a/app/Http/Controllers/V1/Admin/Settings/CompanyCurrencyTransactionController.php +++ b/app/Http/Controllers/V1/Admin/Settings/CompanyCurrencyCheckTransactionsController.php @@ -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, ]); diff --git a/app/Http/Controllers/V1/Admin/Settings/UpdateCompanySettingsController.php b/app/Http/Controllers/V1/Admin/Settings/UpdateCompanySettingsController.php index 264b0af7..eb6f1f2b 100644 --- a/app/Http/Controllers/V1/Admin/Settings/UpdateCompanySettingsController.php +++ b/app/Http/Controllers/V1/Admin/Settings/UpdateCompanySettingsController.php @@ -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, diff --git a/app/Models/Currency.php b/app/Models/Currency.php index f777585c..5b8a3fb0 100644 --- a/app/Models/Currency.php +++ b/app/Models/Currency.php @@ -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; + } } diff --git a/app/Models/Invoice.php b/app/Models/Invoice.php index ca6c765e..464390af 100644 --- a/app/Models/Invoice.php +++ b/app/Models/Invoice.php @@ -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'; diff --git a/database/migrations/2022_03_03_063237_change_over_due_status_to_sent.php b/database/migrations/2022_03_03_063237_change_over_due_status_to_sent.php index f2d92bc3..a87a7351 100644 --- a/database/migrations/2022_03_03_063237_change_over_due_status_to_sent.php +++ b/database/migrations/2022_03_03_063237_change_over_due_status_to_sent.php @@ -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) { diff --git a/routes/api.php b/routes/api.php index d1c63fc9..b81cbd79 100644 --- a/routes/api.php +++ b/routes/api.php @@ -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 From 388d00241b731098c849dd60a86a4e5269951eda Mon Sep 17 00:00:00 2001 From: harshjagad20 Date: Thu, 3 Mar 2022 14:07:19 +0530 Subject: [PATCH 7/8] Fix recurring invoice condition --- app/Models/RecurringInvoice.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/Models/RecurringInvoice.php b/app/Models/RecurringInvoice.php index 2630d4dd..8f4bf94d 100644 --- a/app/Models/RecurringInvoice.php +++ b/app/Models/RecurringInvoice.php @@ -307,6 +307,10 @@ class RecurringInvoice extends Model $days = CompanySetting::getSetting('invoice_due_date_days', $this->company_id); + if ($days == "null") { + $days = 7; + } + $newInvoice['creator_id'] = $this->creator_id; $newInvoice['invoice_date'] = Carbon::today()->format('Y-m-d'); $newInvoice['due_date'] = Carbon::today()->addDays($days)->format('Y-m-d'); From 25c43ab4d2bfcaff5204aae14fdcec7d479dc491 Mon Sep 17 00:00:00 2001 From: harshjagad20 Date: Thu, 3 Mar 2022 15:10:53 +0530 Subject: [PATCH 8/8] Fix condition --- ...anyCurrencyCheckTransactionsController.php | 10 ++-- .../UpdateCompanySettingsController.php | 8 ++- app/Models/Company.php | 17 ++++++ app/Models/Currency.php | 52 ------------------- app/Models/RecurringInvoice.php | 2 +- 5 files changed, 24 insertions(+), 65 deletions(-) diff --git a/app/Http/Controllers/V1/Admin/Settings/CompanyCurrencyCheckTransactionsController.php b/app/Http/Controllers/V1/Admin/Settings/CompanyCurrencyCheckTransactionsController.php index ee9ce1b9..3f7979d5 100644 --- a/app/Http/Controllers/V1/Admin/Settings/CompanyCurrencyCheckTransactionsController.php +++ b/app/Http/Controllers/V1/Admin/Settings/CompanyCurrencyCheckTransactionsController.php @@ -4,8 +4,6 @@ namespace Crater\Http\Controllers\V1\Admin\Settings; use Crater\Http\Controllers\Controller; use Crater\Models\Company; -use Crater\Models\CompanySetting; -use Crater\Models\Currency; use Illuminate\Http\Request; class CompanyCurrencyCheckTransactionsController extends Controller @@ -18,13 +16,11 @@ class CompanyCurrencyCheckTransactionsController extends Controller */ public function __invoke(Request $request) { - $this->authorize('manage company', Company::find($request->header('company'))); + $company = Company::find($request->header('company')); - $companyCurrency = CompanySetting::getSetting('currency', $request->header('company')); + $this->authorize('manage company', $company); - $currency = Currency::find((int)$companyCurrency); - - if ($currency->checkTransactions()) { + if ($company->hasTransactions()) { return response()->json([ 'success' => false, ]); diff --git a/app/Http/Controllers/V1/Admin/Settings/UpdateCompanySettingsController.php b/app/Http/Controllers/V1/Admin/Settings/UpdateCompanySettingsController.php index eb6f1f2b..f2c879c6 100644 --- a/app/Http/Controllers/V1/Admin/Settings/UpdateCompanySettingsController.php +++ b/app/Http/Controllers/V1/Admin/Settings/UpdateCompanySettingsController.php @@ -6,7 +6,6 @@ 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 { @@ -18,14 +17,13 @@ class UpdateCompanySettingsController extends Controller */ public function __invoke(UpdateSettingsRequest $request) { - $this->authorize('manage company', Company::find($request->header('company'))); + $company = Company::find($request->header('company')); + $this->authorize('manage company', $company); $companyCurrency = CompanySetting::getSetting('currency', $request->header('company')); - $data = $request->settings; - $currency = Currency::find((int)$companyCurrency); - if ($companyCurrency !== $data['currency'] && $currency->checkTransactions()) { + if ($companyCurrency !== $data['currency'] && $company->hasTransactions()) { return response()->json([ 'success' => false, 'message' => 'You cannot change currency once transaction is created.' diff --git a/app/Models/Company.php b/app/Models/Company.php index 2a3b2908..a0d9fddb 100644 --- a/app/Models/Company.php +++ b/app/Models/Company.php @@ -380,4 +380,21 @@ class Company extends Model implements HasMedia $model->taxes()->delete(); } } + + public function hasTransactions() + { + 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; + } } diff --git a/app/Models/Currency.php b/app/Models/Currency.php index 5b8a3fb0..b852f114 100644 --- a/app/Models/Currency.php +++ b/app/Models/Currency.php @@ -12,56 +12,4 @@ class Currency extends Model protected $guarded = [ 'id' ]; - - public function customers() - { - return $this->hasMany(Customer::class); - } - - public function items() - { - return $this->hasMany(Item::class); - } - - public function invoices() - { - return $this->hasMany(Invoice::class); - } - - public function estimates() - { - return $this->hasMany(Estimate::class); - } - - public function expenses() - { - return $this->hasMany(Expense::class); - } - - public function payments() - { - return $this->hasMany(Payment::class); - } - - public function recurringInvoices() - { - 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; - } } diff --git a/app/Models/RecurringInvoice.php b/app/Models/RecurringInvoice.php index 8f4bf94d..aa3ecabb 100644 --- a/app/Models/RecurringInvoice.php +++ b/app/Models/RecurringInvoice.php @@ -307,7 +307,7 @@ class RecurringInvoice extends Model $days = CompanySetting::getSetting('invoice_due_date_days', $this->company_id); - if ($days == "null") { + if (! $days || $days == "null") { $days = 7; }