File: D:/HostingSpaces/SBogers10/honger.komma.pro/app/KommaApp/Vacancies/VacancyController.php
<?php
namespace App\KommaApp\Vacancies;
use App\Http\Controllers\Controller;
use App\KommaApp\Blocks\BlockService;
use App\KommaApp\Categories\Models\Category;
use App\KommaApp\Vacancies\Models\Vacancy;
class VacancyController extends Controller
{
/**
* @var VacancyService
*/
private $vacancyService;
/**
* @var BlockService
*/
private $blockService;
/**
* VacancyController constructor.
* @param VacancyService $vacancyService
* @param BlockService $blockService
*/
public function __construct(VacancyService $vacancyService, BlockService $blockService)
{
parent::__construct();
$this->vacancyService = $vacancyService;
$this->blockService = $blockService;
$this->blockService->setSubFolder('vacancies');
}
public function index()
{
// Get page information
$page = $this->pageService->getPageByCodeName('jobs');
// Decode dynamic blocks
$page->blocks = $this->blockService->decode($page->translation->description);
return view('site.pages.vacancies.index',[
'page' => $page,
'namespace' => 'jobs',
]);
}
/**
* @param Vacancy $vacancy
* @return \Illuminate\Contracts\View\View
*/
public function show(Vacancy $vacancy)
{
if(!$vacancy->active) return abort(404);
// Get page information
$page = $this->pageService->getPageByCodeName('jobs');
// Decode dynamic blocks
$page->blocks = $this->blockService->decode($page->translation->description);
// Load translations and sites
$vacancy->load('translation', 'images');
// Decode dynamic blocks
$this->blockService->setSubFolder('vacancies.show');
$vacancy->blocks = $this->blockService->decode($vacancy->translation->description);
// Return view
return \View::make('site.pages.vacancies.show',[
'page' => $page,
'vacancy' => $vacancy,
'namespace' => 'job',
]);
}
}