File: D:/HostingSpaces/marisrental/boldt.tech/app/Komma/Projects/ProjectController.php
<?php
namespace App\Komma\Projects;
use App\Komma\Base\Controller;
use App\Komma\Projects\Models\Project;
class ProjectController extends Controller
{
private $projectService;
public function __construct(ProjectService $projectService)
{
parent::__construct();
$this->projectService = $projectService;
}
/**
* @return \Illuminate\Contracts\View\View
*/
public function index()
{
$page = $this->pageService->getPageByCodeName('projects');
$otherLanguageRoutes = $this->languageService->getOtherLanguagesRoutes($page);
$projects = $this->projectService->getAllProjects(true);
$projects->withPath('/' . $this->links->projects->route);
// Make language menu for given page
$languageMenu = $this->pageService->makeLanguageSwitchForPage($this->links->projects, $this->links->home);
// Return view
return view('site.templates.projects_index',[
'page' => $page,
'links' => $this->links,
'languageMenu' => $languageMenu,
'projects' => $projects,
]);
}
/**
* @param Project $project
* @return \Illuminate\Contracts\View\View
*/
public function show(Project $project)
{
$project->load('translation','translations', 'images');
$page = $this->pageService->getPageByCodeName('projects');
// Make language menu for given page
$languageMenu = $this->pageService->makeLanguageSwitchForPage($this->links->projects, $this->links->home);
$headingImage = $project->images->first();
if($project->images->count()) {
$projectImages = $project->images->where('id', '!=', $headingImage->id);
}
else $projectImages = [];
// Return view
return view('site.templates.projects_show',[
'page' => $page,
'project' => $project,
'headingImage' => $headingImage,
'projectImages' => $projectImages,
'links' => $this->links,
'languageMenu' => $languageMenu
]);
}
}