From 7f4503d228429f295f586c97806d7daaed9e8535 Mon Sep 17 00:00:00 2001 From: WBLKLeipe Date: Wed, 1 Dec 2021 12:19:06 +0100 Subject: [PATCH] invoice settings via DB and changeable --- .../Controllers/Admin/PaymentController.php | 20 ++++++++------ .../Controllers/Admin/SettingsController.php | 26 ++++++++++++++++-- .../ConfirmPaymentNotification.php | 3 ++ database/seeders/DatabaseSeeder.php | 1 + public/vendor/invoices/logo.png | Bin 21607 -> 0 bytes .../views/admin/settings/index.blade.php | 4 +-- 6 files changed, 41 insertions(+), 13 deletions(-) delete mode 100644 public/vendor/invoices/logo.png diff --git a/app/Http/Controllers/Admin/PaymentController.php b/app/Http/Controllers/Admin/PaymentController.php index aac2cc4a..2f2d44ea 100644 --- a/app/Http/Controllers/Admin/PaymentController.php +++ b/app/Http/Controllers/Admin/PaymentController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Admin; use App\Events\UserUpdateCreditsEvent; use App\Http\Controllers\Controller; use App\Models\Configuration; +use App\Models\invoiceSettings; use App\Models\Payment; use App\Models\PaypalProduct; use App\Models\User; @@ -194,17 +195,18 @@ class PaymentController extends Controller event(new UserUpdateCreditsEvent($user)); //create invoice - $lastInvoiceID = \App\Models\invoice::where("invoice_name", "like", "%" . now()->format('mY') . "%")->max("id"); + $lastInvoiceID = \App\Models\invoice::where("invoice_name", "like", "%" . now()->format('mY') . "%")->count("id"); $newInvoiceID = $lastInvoiceID + 1; + $invoiceSettings = invoiceSettings::all()->first(); $seller = new Party([ - 'name' => env("APP_NAME", "Controlpanel.gg"), - 'phone' => env("COMPANY_PHONE", ""), - 'address' => env("COMPANY_ADRESS", ""), - 'vat' => env("COMPANY_VAT_ID", ""), + 'name' => $invoiceSettings->company_name, + 'phone' => $invoiceSettings->company_phone, + 'address' => $invoiceSettings->company_adress, + 'vat' => $invoiceSettings->company_vat, 'custom_fields' => [ - 'E-Mail' => env("MAIL_FROM_ADDRESS", "company@mail.com"), - "Web" => env("APP_URL", "https://controlpanel.gg") + 'E-Mail' => $invoiceSettings->company_mail, + "Web" => $invoiceSettings->company_web ], ]); @@ -230,7 +232,7 @@ class PaymentController extends Controller ->delimiter("-") ->sequence($newInvoiceID) ->serialNumberFormat(env("INVOICE_PREFIX", "INV") . '{DELIMITER}{SERIES}{SEQUENCE}') - ->logo(public_path('vendor/invoices/logo.png')); + ->logo(storage_path('app/public/logo.png')); //Save the invoice in "storage\app\invoice\USER_ID\YEAR" $invoice->filename = $invoice->getSerialNumber() . '.pdf'; @@ -245,7 +247,7 @@ class PaymentController extends Controller ]); //Send Invoice per Mail - $user->notify(new InvoiceNotification($invoice, $user, $payment)); + //$user->notify(new InvoiceNotification($invoice, $user, $payment)); //redirect back to home return redirect()->route('home')->with('success', 'Your credit balance has been increased!'); diff --git a/app/Http/Controllers/Admin/SettingsController.php b/app/Http/Controllers/Admin/SettingsController.php index c4cdc38d..625a1051 100644 --- a/app/Http/Controllers/Admin/SettingsController.php +++ b/app/Http/Controllers/Admin/SettingsController.php @@ -43,12 +43,34 @@ class SettingsController extends Controller public function updateInvoiceSettings(Request $request) { $request->validate([ - 'icon' => 'nullable', - 'favicon' => 'nullable', + 'logo' => 'nullable|max:10000|mimes:jpg,png,jpeg', ]); + if($request->filled('company-name')) { + invoiceSettings::updateOrCreate(['id' => "1"],['company_name' => $request->get('company-name')]); + } + if($request->filled('company-adress')) { + invoiceSettings::updateOrCreate(['id' => "1",],['company_adress' => $request->get('company-adress')]); + } + if($request->filled('company-phone')) { + invoiceSettings::updateOrCreate(['id' => "1",],['company_phone' => $request->get('company-phone')]); + } + if($request->filled('company-vat')) { + invoiceSettings::updateOrCreate(['id' => "1",],['company_vat' => $request->get('company-vat')]); + } + if($request->filled('company-mail')) { + invoiceSettings::updateOrCreate(['id' => "1",],['company_mail' => $request->get('company-mail')]); + } + if($request->filled('company-web')) { + invoiceSettings::updateOrCreate(['id' => "1",],['company_web' => $request->get('company-web')]); + } + if ($request->hasFile('logo')) { + $request->file('logo')->storeAs('public', 'logo.png'); + } + + return redirect()->route('admin.settings.index')->with('success', 'Invoice settings updated!'); } diff --git a/app/Notifications/ConfirmPaymentNotification.php b/app/Notifications/ConfirmPaymentNotification.php index efd133ab..427af6ed 100644 --- a/app/Notifications/ConfirmPaymentNotification.php +++ b/app/Notifications/ConfirmPaymentNotification.php @@ -10,6 +10,9 @@ use Illuminate\Notifications\Notification; class ConfirmPaymentNotification extends Notification implements ShouldQueue { + + //THIS IS BASICALLY NOT USED ANYMORE WITH INVOICENOTIFICATION IN PLACE + use Queueable; private Payment $payment; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 3e532616..f275ede7 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -3,6 +3,7 @@ namespace Database\Seeders; use Database\Seeders\Seeds\ConfigurationSeeder; +use Database\Seeders\Seeds\InvoiceSettingsSeeder; use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder diff --git a/public/vendor/invoices/logo.png b/public/vendor/invoices/logo.png deleted file mode 100644 index f2afb9c38ead1439021eafd140119f5be25127fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21607 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 C&QV+d diff --git a/resources/views/admin/settings/index.blade.php b/resources/views/admin/settings/index.blade.php index aab220e6..ce2bbc59 100644 --- a/resources/views/admin/settings/index.blade.php +++ b/resources/views/admin/settings/index.blade.php @@ -203,13 +203,13 @@ - + - +