initial commit
[ckanext-datagovau.git] / ckanext / package_form.py








































1
2
3
4
5
6
7
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
33
34
35
36
37
38
39
40
from sqlalchemy.util import OrderedDict
from pylons.i18n import _
 
from ckan.forms import common
from ckan.forms import package
 
 
# Setup the fieldset
def build_example_form(is_admin=False,
                       user_editable_groups=None,
                       **kwargs):
    """Customise the core CKAN dataset editing form by adding a new
    field "temporal coverage", and changing the layout of the core
    fields.
    """
    # Restrict fields
    builder = package.build_package_form(
        user_editable_groups=user_editable_groups)
 
    # Extra fields
    builder.add_field(common.DateRangeExtraField('temporal_coverage'))
 
    # Layout
    field_groups = OrderedDict([
        (_('Customised Basic information'), ['title', 'name', 'url',
                                  'notes', 'tags']),
        (_('Details'), ['author', 'author_email', 'groups',
                        'maintainer', 'maintainer_email',
                        'license_id', 'temporal_coverage' ]),
        (_('Resources'), ['resources']),
        ])
    builder.set_displayed_fields(field_groups)
    return builder
 
 
def get_example_fieldset(is_admin=False, user_editable_groups=None, **kwargs):
    return build_example_form(is_admin=is_admin,
                              user_editable_groups=user_editable_groups,
                              **kwargs).get_fieldset()