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() |
|
|