HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/netwerkbrabant/netwerkbrabant.nl/app/KommaApp/UserGroups/UserGroupController.php
<?php

namespace App\KommaApp\UserGroups;

use App\Http\Controllers\Controller;
use App\Http\Requests\OrderChoosePaymentMethodRequest;
use App\Http\Requests\EventSignUpFreeRequest;
use App\Http\Requests\EventSignUpRequest;
use App\KommaApp\Events\EventService;
use App\KommaApp\Events\Models\Event;
use App\KommaApp\EventSignUps\EventSignUpService;
use App\KommaApp\EventSignUps\Models\EventSignUp;
use App\KommaApp\Orders\Models\Order;
use App\KommaApp\Orders\OrderService;
use App\KommaApp\Payments\PaymentService;
use App\KommaApp\Regions\Models\Region;
use App\KommaApp\UserGroups\Models\UserGroup;
use App\KommaApp\Users\UserService;
use App\Mail\Events\SignedUpFreeMail;
use App\Mail\Events\SignedUpFreePlusOneMail;
use App\Mail\Events\SignedUpMail;
use App\Mail\Events\SignedUpPlusOneMail;
use App\Mail\EventSignUpMail;

class UserGroupController extends Controller
{
    private $modelPrefix = 'pages.userGroups.';
    private $eventService;
    private $userService;

    public function __construct()
    {
        parent::__construct();
        $this->eventService = app()->make(EventService::class);
        $this->userService = app()->make(UserService::class);
    }

    /**
     * @return mixed
     */
    public function index() {

        $page = $this->pageService->getPageById(request()->attributes->get('page_id'));
        $otherLanguageRoutes = $this->languageService->getOtherLanguagesRoutes($page);

        $page->translation = $this->decodeDynamicContent( $page->translation );

        $userGroups = UserGroup::with('translation', 'images')->get();

        // Return view
        return \View::make($this->baseViewPath.$this->modelPrefix.'index',[
            'page' => $page,
            'otherLanguages' => $otherLanguageRoutes,
            'userGroups' => $userGroups
        ]);
    }

    /**
     *
     * @param UserGroup $userGroup
     * @return \Illuminate\Contracts\View\View
     */
    public function show(UserGroup $userGroup){

        $userGroup->load(['translation', 'images']);

        $page = $this->pageService->getPageById(request()->attributes->get('page_id'));

        $events = $this->eventService->getBreakfastEventsByUserGroupId($userGroup->id);
        $highlightedEvents = $this->eventService->getHighlightedBreakfastEventsByUserGroupId($userGroup->id);

        $userGroup->translation = $this->decodeDynamicContent( $userGroup->translation );

        return \View::make($this->baseViewPath.$this->modelPrefix.'show',[
            'page' => $page,
            'events' => $events,
            'userGroup' => $userGroup,
            'premiumUsers' => $this->userService->getUserByUserGroupAndEventType($userGroup->id),
            'highlightedEvents' => $highlightedEvents
        ]);
    }
}