Completed
Pull Request — master (#5)
by Benjamin
04:57
created

RulesController::skills()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 3
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 6
rs 10
1
<?php
2
3
namespace Obblm\Core\Controller;
4
5
use Obblm\Core\Entity\Rule;
6
use Obblm\Core\Helper\RuleHelper;
7
use Obblm\Core\Security\Roles;
8
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
9
use Symfony\Component\HttpFoundation\Response;
10
use Symfony\Component\Routing\Annotation\Route;
11
12
/**
13
 * @Route("/rules", name="obblm_rules")
14
 */
15
class RulesController extends AbstractController
16
{
17
    /**
18
     * @Route("", name="")
19
     */
20
    public function list():Response
21
    {
22
        $this->denyAccessUnlessGranted(Roles::COACH);
23
24
        $rules = $this->getDoctrine()->getRepository(Rule::class)->findAll();
25
26
        return $this->render('@ObblmCore/rules/list.html.twig', ['rules' => $rules]);
27
    }
28
29
    /**
30
     * @Route("/{rule}", name="_detail")
31
     */
32
    public function detail(Rule $rule, RuleHelper $ruleHelper):Response
33
    {
34
        $this->denyAccessUnlessGranted(Roles::COACH);
35
36
        $helper = $ruleHelper->getHelper($rule);
37
38
        return $this->render('@ObblmCore/rules/detail.html.twig', [
39
            'rule' => $rule,
40
            'rosters' => $helper->getAvailableRosters(),
41
        ]);
42
    }
43
44
    /**
45
     * @Route("/{rule}/roster/{roster}", name="_roster_sheet")
46
     */
47
    public function rosterSheet(Rule $rule, string $roster):Response
48
    {
49
        $this->denyAccessUnlessGranted(Roles::COACH);
50
51
        return $this->render('@ObblmCore/rules/roster_sheet.html.twig', [
52
            'rule' => $rule,
53
            'roster' => $roster,
54
        ]);
55
    }
56
57
    /**
58
     * @Route("/{rule}/star-players", name="_star_players")
59
     */
60
    public function starPlayers(Rule $rule):Response
61
    {
62
        $this->denyAccessUnlessGranted(Roles::COACH);
63
64
        return $this->render('@ObblmCore/rules/star-players.html.twig', [
65
            'rule' => $rule,
66
        ]);
67
    }
68
69
    /**
70
     * @Route("/{rule}/skills", name="_skills")
71
     */
72
    public function skills(Rule $rule):Response
73
    {
74
        $this->denyAccessUnlessGranted(Roles::COACH);
75
76
        return $this->render('@ObblmCore/rules/skills.html.twig', [
77
            'rule' => $rule,
78
        ]);
79
    }
80
}
81