Completed
Pull Request — develop (#24)
by A.
03:02
created

TransactionExtension::getRetryTransactionForm()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 12
rs 9.4286
cc 1
eloc 7
nc 1
nop 1
1
<?php
2
3
/**
4
 * Copyright 2015 SURFnet B.V.
5
 *
6
 * Licensed under the Apache License, Version 2.0 (the "License");
7
 * you may not use this file except in compliance with the License.
8
 * You may obtain a copy of the License at
9
 *
10
 *     http://www.apache.org/licenses/LICENSE-2.0
11
 *
12
 * Unless required by applicable law or agreed to in writing, software
13
 * distributed under the License is distributed on an "AS IS" BASIS,
14
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
 * See the License for the specific language governing permissions and
16
 * limitations under the License.
17
 */
18
19
namespace OpenConext\ProfileBundle\Twig;
20
21
use OpenConext\Profile\Assert;
22
use Symfony\Component\Form\FormFactoryInterface;
23
use Twig_Extension as Extension;
24
use Twig_SimpleFunction as SimpleFunction;
25
26
final class TransactionExtension extends Extension
27
{
28
    /**
29
     * @var \Symfony\Component\Form\FormFactoryInterface
30
     */
31
    private $formFactory;
32
33
    public function __construct(FormFactoryInterface $formFactory)
34
    {
35
        $this->formFactory = $formFactory;
36
    }
37
38
    public function getFunctions()
39
    {
40
        return [
41
            new SimpleFunction('profile_retry_transaction', [$this, 'getRetryTransactionForm'])
42
        ];
43
    }
44
45
    /**
46
     * @param string $returnUrl
47
     * @return \Symfony\Component\Form\FormView
48
     */
49
    public function getRetryTransactionForm($returnUrl)
50
    {
51
        Assert::string($returnUrl);
52
53
        $form = $this->formFactory->create(
54
            'profile_retry_transaction',
55
            null,
56
            ['return_url' => $returnUrl]
57
        );
58
59
        return $form->createView();
60
    }
61
62
    public function getName()
63
    {
64
        return 'profile_transaction';
65
    }
66
}
67