Completed
Push — dev ( 4306de...25864c )
by Arnaud
02:52
created

PagerfantaFilter   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 50%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
c 1
b 0
f 0
lcom 0
cbo 2
dl 0
loc 32
ccs 8
cts 16
cp 0.5
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B filter() 0 23 4
1
<?php
2
3
namespace LAG\AdminBundle\Filter;
4
5
use Symfony\Component\HttpFoundation\Request;
6
use Symfony\Component\HttpFoundation\ParameterBag;
7
8
class PagerfantaFilter
9
{
10
    /**
11
     * Filter request
12
     *
13
     * @param Request $request
14
     * @return ParameterBag
15
     */
16 5
    public function filter(Request $request)
17
    {
18 5
        $filteredValues = new ParameterBag();
19
        // order column, like "name"
20 5
        $order = $request->get('order');
21
        // sort value, asc or desc
22 5
        $sort = $request->get('sort');
23
        // page number, like 2
24 5
        $page = $request->get('page');
25
26 5
        if ($order) {
27
            if (!$sort) {
28
                $sort = 'asc';
29
            }
30
            $filteredValues->set('order', [
31
                $sort => $order
32
            ]);
33
        }
34 5
        if ($page) {
35
            $filteredValues->set('page', $page);
36
        }
37 5
        return $filteredValues;
38
    }
39
}
40