Completed
Pull Request — master (#110)
by Michel
01:04
created

tests.helpers.create_dt_params()   A

Complexity

Conditions 4

Size

Total Lines 24
Code Lines 19

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 19
dl 0
loc 24
rs 9.45
c 0
b 0
f 0
cc 4
nop 5
1
def create_dt_params(columns, search='', start=0, length=10, order=None):
2
    """Create DataTables input parameters."""
3
    params = {
4
        'draw': '1',
5
        'start': str(start),
6
        'length': str(length),
7
        'search[value]': str(search),
8
        'search[regex]': 'false'
9
    }
10
11
    for i, item in enumerate(columns):
12
        cols = 'columns[%s]' % i
13
        params['%s%s' % (cols, '[data]')] = i
14
        params['%s%s' % (cols, '[name]')] = ''
15
        params['%s%s' % (cols, '[searchable]')] = 'true'
16
        params['%s%s' % (cols, '[orderable]')] = 'true'
17
        params['%s%s' % (cols, '[search][value]')] = ''
18
        params['%s%s' % (cols, '[search][regex]')] = 'false'
19
20
    for i, item in enumerate(order or [{'column': 0, 'dir': 'asc'}]):
21
        for key, value in item.items():
22
            params['order[%s][%s]' % (i, key)] = str(value)
23
24
    return params
25