--- a/ckanext/example/plugin.py
+++ b/ckanext/example/plugin.py
@@ -1,6 +1,8 @@
import os
from logging import getLogger
+from pylons import request
+from genshi.input import HTML
from genshi.filters.transform import Transformer
from ckan.plugins import implements, SingletonPlugin
@@ -49,8 +51,7 @@
our_public_dir = os.path.join(rootdir, 'ckanext',
'example', 'theme', 'public')
template_dir = os.path.join(rootdir, 'ckanext',
- 'example', 'theme',
- 'templates')
+ 'example', 'theme', 'templates')
# set our local template and resource overrides
config['extra_public_paths'] = ','.join([our_public_dir,
config.get('extra_public_paths', '')])
@@ -70,9 +71,26 @@
This example filter renames 'frob' to 'foobar' (this string is
found in the custom ``home/index.html`` template provided as
part of the package).
+
+ It also adds the chosen JQuery plugin to the page if viewing the
+ dataset edit page (provides a better UX for working with tags with vocabularies)
"""
stream = stream | Transformer('//p[@id="examplething"]/text()')\
.substitute(r'frob', r'foobar')
+
+ routes = request.environ.get('pylons.routes_dict')
+ if routes.get('controller') == 'package' \
+ and routes.get('action') == 'edit':
+ stream = stream | Transformer('head').append(HTML(
+ ''
+ ))
+ stream = stream | Transformer('body').append(HTML(
+ '''
+ '
+
+ '''
+ ))
+
return stream
def before_map(self, map):