diff --git a/app/Http/Controllers/MiningTaxes/MiningTaxesAdminController.php b/app/Http/Controllers/MiningTaxes/MiningTaxesAdminController.php index 812007bfd..3f8f62551 100644 --- a/app/Http/Controllers/MiningTaxes/MiningTaxesAdminController.php +++ b/app/Http/Controllers/MiningTaxes/MiningTaxesAdminController.php @@ -2,9 +2,18 @@ namespace App\Http\Controllers\MiningTaxes; +//Internal Library use App\Http\Controllers\Controller; use Illuminate\Http\Request; +//Application Library + +//Models +use App\Models\MiningTax\Invoice; +use App\Models\MiningTax\Observer; +use App\Models\MiningTax\Ledger; + + class MiningTaxesAdminController extends Controller { public function __construct() { @@ -16,35 +25,70 @@ class MiningTaxesAdminController extends Controller * Display current unpaid invoices */ public function DisplayUnpaidInvoice() { + $invoices = Invoice::where([ + 'status' => 'Pending', + ])->orWhere([ + 'status' => 'Late', + ])->orWhere([ + 'status' => 'Deferred', + ])->get(); + return view('miningtax.admin.display.unpaid')->with('invoices', $invoices); } /** * Mark an invoice paid */ public function UpdateInvoice() { + $this->validate($request, [ + 'invoice_id' => 'required', + 'status' => 'required', + ]); + Invoice::where([ + 'invoice_id' => $request->invoice_id, + ])->update([ + 'status' => $request->status, + ]); + + return redirect('/admin/dashboard/miningtaxes')->with('success', 'Invoice successfully updated.'); } /** * Delete an invoice and mark items paid */ public function DeleteInvoice() { - + $this->validate($request, [ + 'invoice_id' => 'required', + ]); + + Invoice::where([ + 'invoice_id' => $request->invoice_id, + ])->update([ + 'status' => 'Deleted', + ]); + + return redirect('/admin/dashboard/miningtaxes')->with('error', 'Invoice successfully deleted.'); } /** * Display past paid invoices */ public function DisplayPaidInvoices() { + $invoices = Invoice::where([ + 'status' => 'Paid', + ])->orWhere([ + 'status' => 'Paid Late', + ])->get(); + return view('miningtax.admin.display.paidinvoices')->with('invoices', $invoices); } /** * Display admin mining ledgers by month */ public function DisplayMonthlyMiningLedgers() { - + } } diff --git a/app/Jobs/Commands/MiningTaxes/CreateMiningTaxesInvoiceJob.php b/app/Jobs/Commands/MiningTaxes/CreateMiningTaxesInvoiceJob.php index e0c6ddec5..ac1ddf3a0 100644 --- a/app/Jobs/Commands/MiningTaxes/CreateMiningTaxesInvoiceJob.php +++ b/app/Jobs/Commands/MiningTaxes/CreateMiningTaxesInvoiceJob.php @@ -59,6 +59,8 @@ class CreateMiningTaxesInvoiceJob implements ShouldQueue //Generate an invoice id $invoiceId = uniqid(); + //Get the mining ledgers, and totalize the price + $invoice = new Invoice; $invoice->character_id = $this->charId; $invoice->character_name = $charName; @@ -75,6 +77,7 @@ class CreateMiningTaxesInvoiceJob implements ShouldQueue 'invoiced' => 'No', ])->update([ 'invoiced' => 'Yes', + 'invoice_id' => $invoiceId, ]); $body .= "Dear Miner,

"; diff --git a/app/Models/MiningTax/Ledger.php b/app/Models/MiningTax/Ledger.php index 917b77896..810dd4767 100644 --- a/app/Models/MiningTax/Ledger.php +++ b/app/Models/MiningTax/Ledger.php @@ -25,5 +25,6 @@ class Ledger extends Model 'quantity', 'amount', 'invoiced', + 'invoice_id', ]; } diff --git a/database/migrations/2021_01_10_164334_create_mining_tax_tables.php b/database/migrations/2021_01_10_164334_create_mining_tax_tables.php index 5725165ec..4a2deecf8 100644 --- a/database/migrations/2021_01_10_164334_create_mining_tax_tables.php +++ b/database/migrations/2021_01_10_164334_create_mining_tax_tables.php @@ -27,6 +27,7 @@ class CreateMiningTaxTables extends Migration 'Late', 'Paid Late', 'Deferred', + 'Deleted', ])->default('Pending'); $table->timestamps(); }); diff --git a/resources/views/layouts/admin/dashboard/main.blade.php b/resources/views/layouts/admin/dashboard/main.blade.php index 630c1dd9c..b9d60dd09 100644 --- a/resources/views/layouts/admin/dashboard/main.blade.php +++ b/resources/views/layouts/admin/dashboard/main.blade.php @@ -20,15 +20,9 @@ @include('layouts.admin.sidebarmenu.general') - - @include('layouts.admin.sidebarmenu.moon') - @include('layouts.admin.sidebarmenu.srp') - - @include('layouts.admin.sidebarmenu.rentalsystem') - diff --git a/resources/views/layouts/user/dashboard/main.blade.php b/resources/views/layouts/user/dashboard/main.blade.php index 5f07b4f0d..69224bc5e 100644 --- a/resources/views/layouts/user/dashboard/main.blade.php +++ b/resources/views/layouts/user/dashboard/main.blade.php @@ -22,18 +22,12 @@ @include('layouts.user.sidebarmenu.general') @endif - - @include('layouts.user.sidebarmenu.moon') - @include('layouts.user.sidebarmenu.srp') @include('layouts.user.sidebarmenu.contracts') - - @include('layouts.user.sidebarmenu.structures') - @include('layouts.user.sidebarmenu.blacklist')