Completed
Push — master ( 93b035...a18601 )
by Mewes
02:37
created

DefaultController::defaultAction()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 30
Code Lines 24

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 1 Features 2
Metric Value
c 2
b 1
f 2
dl 0
loc 30
rs 8.8571
cc 1
eloc 24
nc 1
nop 1
1
<?php
2
3
namespace MewesK\TwigExcelBundle\Tests\Functional\TestBundle\Controller;
4
5
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
6
use Symfony\Component\HttpFoundation\Response;
7
use Symfony\Component\Routing\Annotation\Route;
8
9
/**
10
 * Class DefaultController
11
 * @package MewesK\TwigExcelBundle\Tests\Functional\TestBundle\Controller
12
 */
13
class DefaultController extends Controller
14
{
15
    /**
16
     * @param $templateName
17
     * @return \Symfony\Component\HttpFoundation\Response
18
     *
19
     * @Route("/default/{templateName}.{_format}", name="test_default", defaults={"templateName" = "simple", "_format" = "xlsx"})
20
     */
21
    public function defaultAction($templateName)
22
    {
23
        return $this->render(
24
            '@Test/Default/' . $templateName . '.twig',
25
            [
26
                'data' => [
27
                    ['name' => 'Everette Grim', 'salary' => 5458.0],
28
                    ['name' => 'Nam Poirrier', 'salary' => 3233.0],
29
                    ['name' => 'Jolynn Ell', 'salary' => 5718.0],
30
                    ['name' => 'Ta Burdette', 'salary' => 1255.0],
31
                    ['name' => 'Aida Salvas', 'salary' => 5226.0],
32
                    ['name' => 'Gilbert Navarrette', 'salary' => 1431.0],
33
                    ['name' => 'Kirk Figgins', 'salary' => 7429.0],
34
                    ['name' => 'Rashad Cloutier', 'salary' => 8457.0],
35
                    ['name' => 'Traci Schmitmeyer', 'salary' => 7521.0],
36
                    ['name' => 'Cecila Statham', 'salary' => 7180.0],
37
                    ['name' => 'Chong Robicheaux', 'salary' => 3511.0],
38
                    ['name' => 'Romona Stockstill', 'salary' => 2943.0],
39
                    ['name' => 'Roseann Sather', 'salary' => 9126.0],
40
                    ['name' => 'Vera Racette', 'salary' => 4566.0],
41
                    ['name' => 'Tennille Waltripv', 'salary' => 4485.0],
42
                    ['name' => 'Dot Hedgpeth', 'salary' => 7687.0],
43
                    ['name' => 'Thersa Havis', 'salary' => 2264.0],
44
                    ['name' => 'Long Kenner', 'salary' => 4051.0],
45
                    ['name' => 'Kena Kea', 'salary' => 4090.0],
46
                    ['name' => 'Evita Chittum', 'salary' => 4639.0]
47
                ]
48
            ]
49
        );
50
    }
51
    /**
52
     * @param $templateName
53
     * @return \Symfony\Component\HttpFoundation\Response
54
     *
55
     * @Route("/custom-response/{templateName}.{_format}", name="test_custom_response", defaults={"templateName" = "simple", "_format" = "xlsx"})
56
     */
57
    public function customResponseAction($templateName)
58
    {
59
        $response = new Response(
60
            $this->render(
61
                '@Test/Default/' . $templateName . '.twig',
62
                [
63
                    'data' => [
64
                        ['name' => 'Everette Grim', 'salary' => 5458.0],
65
                        ['name' => 'Nam Poirrier', 'salary' => 3233.0],
66
                        ['name' => 'Jolynn Ell', 'salary' => 5718.0]
67
                    ]
68
                ]
69
            ),
70
            Response::HTTP_OK,
71
            [
72
                'Content-Disposition' => 'attachment; filename="foobar.bin"'
73
            ]
74
        );
75
76
        $response->setPrivate();
77
        $response->setMaxAge(600);
78
79
        return $response;
80
    }
81
}
82