diff --git a/app/Classes/Settings/Invoices.php b/app/Classes/Settings/Invoices.php
index b19bb6e3..425af60c 100644
--- a/app/Classes/Settings/Invoices.php
+++ b/app/Classes/Settings/Invoices.php
@@ -28,7 +28,8 @@ class Invoices
"SETTINGS::INVOICE:COMPANY_MAIL" => "company-mail",
"SETTINGS::INVOICE:COMPANY_VAT" => "company-vat",
"SETTINGS::INVOICE:COMPANY_WEBSITE" => "company-web",
- "SETTINGS::INVOICE:PREFIX" => "invoice-prefix"
+ "SETTINGS::INVOICE:PREFIX" => "invoice-prefix",
+ "SETTINGS::INVOICE:ENABLED" => "enable-invoices",
];
foreach ($values as $key => $value) {
diff --git a/app/Http/Controllers/Admin/PaymentController.php b/app/Http/Controllers/Admin/PaymentController.php
index 7efaaa35..9a65aa4b 100644
--- a/app/Http/Controllers/Admin/PaymentController.php
+++ b/app/Http/Controllers/Admin/PaymentController.php
@@ -197,7 +197,11 @@ class PaymentController extends Controller
event(new UserUpdateCreditsEvent($user));
- $this->createInvoice($user, $payment, 'paid');
+ //only create invoice if SETTINGS::INVOICE:ENABLE is true
+ if (config('SETTINGS::INVOICE:ENABLE') == 'true') {
+ $this->createInvoice($user, $payment, 'paid');
+ }
+
//redirect back to home
return redirect()->route('home')->with('success', __('Your credit balance has been increased!'));
@@ -336,7 +340,10 @@ class PaymentController extends Controller
event(new UserUpdateCreditsEvent($user));
- $this->createInvoice($user, $payment, 'paid');
+ //only create invoice if SETTINGS::INVOICE:ENABLE is true
+ if (config('SETTINGS::INVOICE:ENABLE') == 'true') {
+ $this->createInvoice($user, $payment, 'paid');
+ }
//redirect back to home
return redirect()->route('home')->with('success', __('Your credit balance has been increased!'));
@@ -359,7 +366,10 @@ class PaymentController extends Controller
'credit_product_id' => $creditProduct->id,
]);
- $this->createInvoice($user, $payment, 'processing');
+ //only create invoice if SETTINGS::INVOICE:ENABLE is true
+ if (config('SETTINGS::INVOICE:ENABLE') == 'true') {
+ $this->createInvoice($user, $payment, 'paid');
+ }
//redirect back to home
return redirect()->route('home')->with('success', __('Your payment is being processed!'));
@@ -416,7 +426,10 @@ class PaymentController extends Controller
$user->notify(new ConfirmPaymentNotification($payment));
event(new UserUpdateCreditsEvent($user));
- $this->createInvoice($user, $payment, 'paid');
+ //only create invoice if SETTINGS::INVOICE:ENABLE is true
+ if (config('SETTINGS::INVOICE:ENABLE') == 'true') {
+ $this->createInvoice($user, $payment, 'paid');
+ }
}
} catch (HttpException $ex) {
abort(422);
@@ -521,7 +534,7 @@ class PaymentController extends Controller
->pricePerUnit($creditProduct->price);
$notes = [
- __("Payment method") .": ". $payment->payment_method,
+ __("Payment method") . ": " . $payment->payment_method,
];
$notes = implode("
", $notes);
@@ -591,7 +604,7 @@ class PaymentController extends Controller
return $payment->created_at ? $payment->created_at->diffForHumans() : '';
})
->addColumn('actions', function (Payment $payment) {
- return '
+ return '
';
})
->rawColumns(['actions'])
diff --git a/database/seeders/Seeds/SettingsSeeder.php b/database/seeders/Seeds/SettingsSeeder.php
index 4b3fc001..b41462d6 100644
--- a/database/seeders/Seeds/SettingsSeeder.php
+++ b/database/seeders/Seeds/SettingsSeeder.php
@@ -144,7 +144,13 @@ class SettingsSeeder extends Seeder
'type' => 'integer',
'description' => 'The %-value of tax that will be added to the product price on checkout'
]);
-
+ //Invoices enabled
+ Settings::firstOrCreate([
+ 'key' => 'SETTINGS::INVOICE:ENABLED',
+ ], [
+ 'value' => 'false',
+ 'type' => 'boolean',
+ ]);
//Invoice company name
Settings::firstOrCreate([
'key' => 'SETTINGS::INVOICE:COMPANY_NAME',
diff --git a/resources/views/admin/settings/tabs/invoices.blade.php b/resources/views/admin/settings/tabs/invoices.blade.php
index f594ea04..27faef7c 100644
--- a/resources/views/admin/settings/tabs/invoices.blade.php
+++ b/resources/views/admin/settings/tabs/invoices.blade.php
@@ -76,6 +76,15 @@