* judges menu removed
* awardees reactored into awards, judges are now included on a per year basis * lots of minor style adjustments to follow the design guideline
This commit is contained in:
@@ -5,6 +5,7 @@ declare(strict_types=1);
|
||||
namespace App\Handler;
|
||||
|
||||
use App\Service\AwardeeManager;
|
||||
use App\Service\JudgeManager;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
use Psr\Http\Message\ServerRequestInterface;
|
||||
use Psr\Http\Server\RequestHandlerInterface;
|
||||
@@ -24,32 +25,39 @@ class AwardeeHandler implements RequestHandlerInterface
|
||||
/** @var UrlHelper */
|
||||
private $urlHelper;
|
||||
|
||||
/** @var JudgeManager */
|
||||
private $judgeManager;
|
||||
|
||||
public function __construct(
|
||||
TemplateRendererInterface $template,
|
||||
AwardeeManager $awardeeManager,
|
||||
UrlHelper $urlHelper
|
||||
UrlHelper $urlHelper,
|
||||
JudgeManager $judgeManager
|
||||
)
|
||||
{
|
||||
$this->template = $template;
|
||||
$this->awardeeManager = $awardeeManager;
|
||||
$this->urlHelper = $urlHelper;
|
||||
$this->judgeManager = $judgeManager;
|
||||
}
|
||||
|
||||
public function handle(ServerRequestInterface $request): ResponseInterface
|
||||
{
|
||||
$year = $request->getAttribute('year');
|
||||
$awardees = $this->awardeeManager->getJudgesByYear((int)$year);
|
||||
$awardees = $this->awardeeManager->getAwardeesByYear((int)$year);
|
||||
$judges = $this->judgeManager->getJudgesByYear((int)$year);
|
||||
|
||||
if (count($awardees) === 1) {
|
||||
$url = $this->urlHelper->generate('awardee', [
|
||||
'slug' => $awardees[0]->getSlug(),
|
||||
]);
|
||||
return new RedirectResponse($url);
|
||||
}
|
||||
// if (count($awardees) === 1) {
|
||||
// $url = $this->urlHelper->generate('awardee', [
|
||||
// 'slug' => $awardees[0]->getSlug(),
|
||||
// ]);
|
||||
// return new RedirectResponse($url);
|
||||
// }
|
||||
|
||||
return new HtmlResponse($this->template->render("app::awardees", [
|
||||
'year' => $year,
|
||||
'awardees' => $awardees,
|
||||
'judges' => $judges,
|
||||
]));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ declare(strict_types=1);
|
||||
namespace App\Handler;
|
||||
|
||||
use App\Service\AwardeeManager;
|
||||
use App\Service\JudgeManager;
|
||||
use Psr\Container\ContainerInterface;
|
||||
use Psr\Http\Server\RequestHandlerInterface;
|
||||
use Zend\Expressive\Helper\UrlHelper;
|
||||
@@ -17,6 +18,7 @@ class AwardeeHandlerFactory
|
||||
$template = $container->get(TemplateRendererInterface::class);
|
||||
$awardeeManager = $container->get(AwardeeManager::class);
|
||||
$urlHelper = $container->get(UrlHelper::class);
|
||||
return new AwardeeHandler($template, $awardeeManager, $urlHelper);
|
||||
$judgeManager = $container->get(JudgeManager::class);
|
||||
return new AwardeeHandler($template, $awardeeManager, $urlHelper, $judgeManager);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,11 +84,11 @@ class NavigationExtension implements ExtensionInterface
|
||||
'uri' => $this->getUriFromRouter('the-prize.article', ['article' => 'gran-prize-award-events'])
|
||||
]);
|
||||
|
||||
$this->menu->addChild(strtoupper("Judges"), [
|
||||
'uri' => $this->getUriFromRouter('judges')
|
||||
]);
|
||||
// $this->menu->addChild(strtoupper("Judges"), [
|
||||
// 'uri' => $this->getUriFromRouter('judges')
|
||||
// ]);
|
||||
|
||||
$awardeesMenu = $this->menu->addChild(strtoupper("Awardees"), [
|
||||
$awardeesMenu = $this->menu->addChild(strtoupper("Awards"), [
|
||||
'uri' => $this->getUriFromRouter('awardees')
|
||||
]);
|
||||
$this->populateAwardeesSubmenu($awardeesMenu);
|
||||
|
||||
@@ -21,7 +21,7 @@ class AwardeeManager
|
||||
* @param int $year
|
||||
* @return Awardee[]
|
||||
*/
|
||||
public function getJudgesByYear(int $year): ?array
|
||||
public function getAwardeesByYear(int $year): ?array
|
||||
{
|
||||
return $this->entityManager->getRepository(Awardee::class)->findBy([
|
||||
'year' => $year,
|
||||
@@ -32,7 +32,7 @@ class AwardeeManager
|
||||
* @param string $slug
|
||||
* @return Awardee|null
|
||||
*/
|
||||
public function getJudgeFromSlug(string $slug): ?Awardee
|
||||
public function getAwardeeFromSlug(string $slug): ?Awardee
|
||||
{
|
||||
/** @var Awardee $awardee */
|
||||
$awardee = $this->entityManager->getRepository(Awardee::class)->findOneBy([
|
||||
|
||||
@@ -118,4 +118,14 @@ class JudgeManager
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $year
|
||||
* @return array
|
||||
* @todo implement real filter by year
|
||||
*/
|
||||
public function getJudgesByYear(int $year)
|
||||
{
|
||||
return $this->getJudges();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user