diff --git a/app/Http/Controllers/MiningTaxes/MiningTaxesController.php b/app/Http/Controllers/MiningTaxes/MiningTaxesController.php index 7b6d1c897..15bb5f894 100644 --- a/app/Http/Controllers/MiningTaxes/MiningTaxesController.php +++ b/app/Http/Controllers/MiningTaxes/MiningTaxesController.php @@ -40,6 +40,29 @@ class MiningTaxesController extends Controller $this->middleware('role:User'); } + public function DisplayInvoice($invoice) { + $ores = array(); + $totalPrice = 0.00; + + $items = Ledger::where([ + 'character_id' => auth()->user()->getId(), + 'invoice_id' => $invoice, + ])->get(); + + foreach($items as $item) { + if(!isset($ores[$item['ore_name']])) { + $ores[$item['ore_name']] = 0; + } + $ores[$item['ore_name']] = $ores[$item['ore_name']] + $item['quantity']; + + $totalPrice += $item['amount']; + } + + return view('miningtax.user.display.details.invoice')->with('ore', $ores) + ->with('invoice', $invoice) + ->with('totalPrice', $totalPrice); + } + /** * Display the users invoices */ diff --git a/app/Jobs/Commands/Eve/SendEveMailRL.php b/app/Jobs/Commands/Eve/SendEveMailRL.php deleted file mode 100644 index e2a4b87d9..000000000 --- a/app/Jobs/Commands/Eve/SendEveMailRL.php +++ /dev/null @@ -1,185 +0,0 @@ -connection = 'redis'; - - - - //Private variables - $this->body = $body; - $this->recipient = $recipient; - $this->recipient_type = $recipient_type; - $this->subject = $subject; - $this->sender = $sender; - - - } - - /** - * Execute the job. - * Utilized by using SendEveMail::dispatch($mail); - * The model is passed into the dispatch function, then added to the queue - * for processing. - * - * @return void - */ - public function handle() - { - //Declare some variables - $esiHelper = new Esi; - - //Get the esi configuration - $config = config('esi'); - - //Retrieve the token for main character to send mails from - $token = $esiHelper->GetRefreshToken($config['primary']); - //Create the ESI authentication container - $esi = $esiHelper->SetupEsiAuthentication($token); - - //Attemp to send the mail - try { - $esi->setBody([ - 'approved_cost' => 100, - 'body' => $this->body, - 'recipients' => [[ - 'recipient_id' => $this->recipient, - 'recipient_type' => $this->recipient_type, - ]], - 'subject' => $this->subject, - ])->invoke('post', '/characters/{character_id}/mail/', [ - 'character_id'=> $this->sender, - ]); - } catch(RequestFailedException $e) { - Log::warning($e); - return null; - } - - $this->SaveSentRecord($this->sender, $this->subject, $this->body, $this->recipient, $this->recipient_type); - - $this->delete(); - } - - /** - * Middleware to only allow 4 jobs to be run per minute - * After a failed job, the job is released back into the queue for at least 1 minute x the number of times attempted - * - */ - public function middleware() { - - $rateLimitedMiddleware = (new RateLimited()) - ->enabled() - ->key('PSEMJ') - ->connectionName('default') - ->allow(4) - ->everySeconds(60) - ->releaseAfterOneMinute() - ->releaseAfterBackoff($this->attempts()); - - return [$rateLimitedMiddleware]; - } - - private function OtherCode() { - //Can also specify middleware when dispatch a job. - //SomeJob::dispatch()->through([new SomeMiddleware]); - - //Current method of creating job handle with redis throttle - /** - * public function handle() - * { - * Redis::throttle('key')->allow(10)->every(60)->then(function () { - * // Job logic... - * }, function () { - * // Could not obtain lock... - * return $this->release(10); - * }); - * } - */ - - - - } - - /* - * Determine the time at which the job should timeout. - * - */ - public function retryUntil() : \DateTime - { - return Carbon::now()->addDay(); - } - - /** - * The job failed to process. - * - * @param Exception $exception - * @return void - */ - public function failed($exception) - { - Log::critical($exception); - } - - private function SaveSentRecord($sender, $subject, $body, $recipient, $recipientType) { - $sentmail = new SentMail; - $sentmail->sender = $sender; - $sentmail->subject = $subject; - $sentmail->body = $body; - $sentmail->recipient = $recipient; - $sentmail->recipient_type = $recipientType; - $sentmail->save(); - } -} diff --git a/resources/views/miningtax/user/display/details/invoice.blade.php b/resources/views/miningtax/user/display/details/invoice.blade.php new file mode 100644 index 000000000..becef67fb --- /dev/null +++ b/resources/views/miningtax/user/display/details/invoice.blade.php @@ -0,0 +1,30 @@ +@extends('layouts.user.dashb4') +@section('content') +
+
+
+
+

Invoice Details


+

Id: {!! $invoice !!}

+
+
+ + + + + + + + @foreach($ores as $ore) + + + + + + @endforeach + +
Ore NameQuantityAmount
{{ $ore['ore_name'] }}{{ $ore['quantity'] }}{{ number_format($ore['amount'], 2, ".", ",") }} ISK
+
+
+
+@endsection \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 061899465..911d7fe25 100644 --- a/routes/web.php +++ b/routes/web.php @@ -79,6 +79,7 @@ Route::group(['middleware' => ['auth']], function(){ /** * Mining Moon Tax display pages */ + Route::get('/miningtax/display/detail/invoice/{invoice}', 'MiningTaxes\MiningTaxesController@displayInvoice'); Route::get('/miningtax/display/invoices', 'MiningTaxes\MiningTaxesController@DisplayInvoices'); Route::get('/miningtax/display/extractions', 'MiningTaxes\MiningTaxesController@DisplayUpcomingExtractions'); Route::get('/miningtax/display/ledgers', 'MiningTaxes\MiningTaxesController@DisplayMoonLedgers');