From 9718be2b3c0c17239017a4c0a2efce2865d7055d Mon Sep 17 00:00:00 2001 From: merdiano Date: Mon, 26 Aug 2019 14:33:00 +0500 Subject: [PATCH] working on raspisania --- app/Http/Controllers/EventViewController.php | 59 ++++++++++++++++++- .../Bilettm/Partials/TicketSchedule.blade.php | 8 ++- 2 files changed, 62 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/EventViewController.php b/app/Http/Controllers/EventViewController.php index 5fbaa660..74f9b904 100644 --- a/app/Http/Controllers/EventViewController.php +++ b/app/Http/Controllers/EventViewController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers; use App\Attendize\Utils; use App\Models\Affiliate; use App\Models\Event; +use App\Models\EventAccessCodes; use App\Models\EventStats; use Auth; use Cookie; @@ -31,9 +32,20 @@ class EventViewController extends Controller return view('Public.ViewEvent.EventNotLivePage'); } + $tickets = $event->tickets()->where('is_hidden', false) + ->orderBy('sort_order', 'asc')->get(); + + $ticket_dates = array(); + + foreach ($tickets as $ticket){ + $date = $ticket->ticket_date->format('d.m.Y'); + $ticket_dates[$date][] = $ticket; + } + $data = [ - 'event' => $event, - 'tickets' => $event->tickets()->where('is_hidden', 0)->orderBy('sort_order', 'asc')->get(), + 'event' => $event, + 'ticket_dates' =>$ticket_dates, +// 'tickets' => $tickets,//$event->tickets()->orderBy('sort_order', 'asc')->get(), 'is_embedded' => 0, ]; /* @@ -136,4 +148,47 @@ class EventViewController extends Controller 'Content-Disposition' => 'attachment; filename="event.ics' ]); } + + /** + * @param Request $request + * @param $event_id + * @return \Illuminate\Http\JsonResponse + */ + public function postShowHiddenTickets(Request $request, $event_id) + { + $event = Event::findOrFail($event_id); + + $accessCode = strtoupper(strip_tags($request->get('access_code'))); + if (!$accessCode) { + return response()->json([ + 'status' => 'error', + 'message' => trans('AccessCodes.valid_code_required'), + ]); + } + + $unlockedHiddenTickets = $event->tickets() + ->where('is_hidden', true) + ->orderBy('sort_order', 'asc') + ->get() + ->filter(function($ticket) use ($accessCode) { + // Only return the hidden tickets that match the access code + return ($ticket->event_access_codes()->where('code', $accessCode)->get()->count() > 0); + }); + + if ($unlockedHiddenTickets->count() === 0) { + return response()->json([ + 'status' => 'error', + 'message' => trans('AccessCodes.no_tickets_matched'), + ]); + } + + // Bump usage count + EventAccessCodes::logUsage($event_id, $accessCode); + + return view('Public.ViewEvent.Partials.EventHiddenTicketsSelection', [ + 'event' => $event, + 'tickets' => $unlockedHiddenTickets, + 'is_embedded' => 0, + ]); + } } diff --git a/resources/views/Bilettm/Partials/TicketSchedule.blade.php b/resources/views/Bilettm/Partials/TicketSchedule.blade.php index f5dcab87..0b9a5976 100644 --- a/resources/views/Bilettm/Partials/TicketSchedule.blade.php +++ b/resources/views/Bilettm/Partials/TicketSchedule.blade.php @@ -6,12 +6,14 @@ @lang("Public_ViewEvent.event_already", ['started' => trans('Public_ViewEvent.event_already_ended')]) @else - @if($tickets->count() > 0) + @if(count($ticket_dates) > 0)

Дата проведения

- 10.07.2019 - 20.07.2019 + @foreach($ticket_dates as $date =>$ticket) + {{$date}} + @endforeach + {{--20.07.2019--}}

Время проведения