Clarified the commenting and changed the layout template to show adding groups
--- a/README.rst
+++ b/README.rst
@@ -12,6 +12,8 @@
* A custom Pylons controller for overriding some core CKAN behaviour
* A custom Package edit form
+
+* A custom Group edit form
* A plugin that allows for custom forms to be used for datasets based on
their "type".
--- a/ckanext/example/forms.py
+++ b/ckanext/example/forms.py
@@ -30,15 +30,17 @@
log = logging.getLogger(__name__)
class ExampleGroupForm(SingletonPlugin):
- """This plugin demonstrates how a theme packaged as a CKAN
- extension might extend CKAN behaviour.
-
- In this case, we implement twos extension interfaces to provide custom
+ """This plugin demonstrates how a class packaged as a CKAN
+ extension might extend CKAN behaviour by providing custom forms
+ based on the type of a Group.
+
+ In this case, we implement two extension interfaces to provide custom
forms for specific types of group.
- ``IConfigurer`` allows us to override configuration normally
found in the ``ini``-file. Here we use it to specify where the
form templates can be found.
+
- ``IGroupForm`` allows us to provide a custom form for a dataset
based on the 'type' that may be set for a group. Where the
'type' matches one of the values in group_types then this
@@ -89,7 +91,6 @@
"""
return False
- #
def form_to_db_schema(self):
"""
Returns the schema for mapping group data from a form to a format
--- a/ckanext/example/theme/templates/layout.html
+++ b/ckanext/example/theme/templates/layout.html
@@ -12,6 +12,7 @@
${h.nav_link(c, _('Home'), controller='home', action='index', id=None)}
${h.nav_link(c, _('Data'), controller='package', action='index', id=None)}
${h.nav_link(c, _('New dataset'), controller='package', action='new', id=None)}
+ ${h.nav_link(c, _('New group'), controller='group', action='new', id=None)}
</div>
</py:match>