Skip to content

Form

list_to_form_options(values, allow_empty=False, allow_empty_text='None') ΒΆ

Format a list of values into a list of dict suitable for use in forms: [{value: x, name: y}]

Parameters:

Name Type Description Default
values

list or list of tuples [(value, name)]

required
allow_empty

if true, will add none option (optional, default: False)

False
allow_empty_text

label for none value (optional, default: 'None')

'None'
Source code in ckanext/nhm/lib/form.py
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def list_to_form_options(values, allow_empty=False, allow_empty_text='None'):
    """
    Format a list of values into a list of dict suitable for use in forms: [{value: x,
    name: y}]

    :param values: list or list of tuples [(value, name)]
    :param allow_empty: if true, will add none option (optional, default: False)
    :param allow_empty_text: label for none value (optional, default: 'None')
    """
    options = []

    if allow_empty:
        options.append({'value': '', 'text': allow_empty_text or None})

    for value in values:
        if isinstance(value, str):
            name = value
        else:
            # If this is a tuple or list use (value, name)
            name = value[1]
            value = value[0]

        options.append({'value': value, 'text': name})

    return options