[form]: Get form working with CKAN 1.4.1 (formalchemy deprecated).
[ckanext-datagovau.git] / ckanext / exampletheme / package_form.py
blob:a/ckanext/exampletheme/package_form.py -> blob:b/ckanext/exampletheme/package_form.py
from sqlalchemy.util import OrderedDict from sqlalchemy.util import OrderedDict
from pylons.i18n import _ from pylons.i18n import _
   
from ckan.forms import common from ckan.forms import common
from ckan.forms import package from ckan.forms import package
   
   
# Setup the fieldset # Setup the fieldset
def build_example_form(is_admin=False, def build_example_form(is_admin=False,
user_editable_groups=None, user_editable_groups=None,
**kwargs): **kwargs):
"""Customise the core CKAN dataset editing form by adding a new """Customise the core CKAN dataset editing form by adding a new
field "temporal coverage", and changing the layout of the core field "temporal coverage", and changing the layout of the core
fields. fields.
""" """
# Restrict fields # Restrict fields
builder = package.build_package_form( builder = package.build_package_form(
user_editable_groups=user_editable_groups) user_editable_groups=user_editable_groups)
   
# Extra fields # Extra fields
builder.add_field(common.DateRangeExtraField('temporal_coverage')) builder.add_field(common.DateRangeExtraField('temporal_coverage'))
   
# Layout # Layout
field_groups = OrderedDict([ field_groups = OrderedDict([
(_('Basic information'), ['title', 'name', 'url', (_('Customised Basic information'), ['title', 'name', 'url',
'notes', 'tags']), 'notes', 'tags']),
(_('Details'), ['author', 'author_email', 'groups', (_('Details'), ['author', 'author_email', 'groups',
'maintainer', 'maintainer_email', 'maintainer', 'maintainer_email',
'license_id', 'temporal_coverage' ]), 'license_id', 'temporal_coverage' ]),
(_('Resources'), ['resources']), (_('Resources'), ['resources']),
]) ])
builder.set_displayed_fields(field_groups) builder.set_displayed_fields(field_groups)
return builder return builder
   
   
def get_example_fieldset(is_admin=False, user_editable_groups=None, **kwargs): def get_example_fieldset(is_admin=False, user_editable_groups=None, **kwargs):
return build_example_form(is_admin=is_admin, return build_example_form(is_admin=is_admin,
user_editable_groups=user_editable_groups, user_editable_groups=user_editable_groups,
**kwargs).get_fieldset() **kwargs).get_fieldset()