[setup] tidy up
--- 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
@@ -77,7 +79,7 @@
attempts to register more than one plugin instance to a given group
type will raise an exception at startup.
"""
- return ["example_dataset_group"]
+ return ["testgroup"]
def is_fallback(self):
"""
@@ -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
@@ -174,7 +175,7 @@
attempts to register more than one plugin instance to a given package
type will raise an exception at startup.
"""
- return ["example"]
+ return ["example_dataset_form"]
def setup_template_variables(self, context, data_dict=None):
"""
--- a/ckanext/example/plugin.py
+++ b/ckanext/example/plugin.py
@@ -21,9 +21,11 @@
found in the ``ini``-file. Here we use it to specify the site
title, and to tell CKAN to look in this package for templates
and resources that customise the core look and feel.
+
- ``IGenshiStreamFilter`` allows us to filter and transform the
HTML stream just before it is rendered. In this case we use
it to rename "frob" to "foobar"
+
- ``IRoutes`` allows us to add new URLs, or override existing
URLs. In this example we use it to override the default
``/register`` behaviour with a custom controller
--- a/ckanext/example/theme/templates/home/index.html
+++ b/ckanext/example/theme/templates/home/index.html
@@ -22,6 +22,7 @@
<p id="examplething">
Here is the frob
</p>
+ ${select("*")}
</div>
<xi:include href="layout.html" />
--- a/ckanext/example/theme/templates/layout.html
+++ b/ckanext/example/theme/templates/layout.html
@@ -9,9 +9,10 @@
<!-- ! a custom primary nav -->
<py:match path="//div[@class='menu']">
<div class="menu">
- ${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, _('Home'), controller='home', action='index')}
+ ${h.nav_link(c, _('Data'), controller='package', action='index')}
+ ${h.nav_link(c, _('New dataset'), controller='package', action='new')}
+ ${h.nav_link(c, _('New group'), controller='group', action='new')}
</div>
</py:match>
--- a/setup.py
+++ b/setup.py
@@ -1,14 +1,12 @@
from setuptools import setup, find_packages
-import sys, os
version = '0.2'
setup(
name='ckanext-example',
version=version,
- description="Example extension for customising CKAN",
- long_description="""\
- """,
+ description='Example extension for customising CKAN',
+ long_description='',
classifiers=[], # Get strings from http://pypi.python.org/pypi?%3Aaction=list_classifiers
keywords='',
author='Seb Bacon',