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
]);
}
}