Changeset 4407
- Timestamp:
- 10/06/08 17:05:08 (3 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
autocompleteusersplugin/0.11/autocompleteusers/autocompleteusers.py
r4276 r4407 4 4 """ 5 5 6 import fnmatch 7 6 8 from pkg_resources import resource_filename 7 9 8 10 from trac.core import * 9 11 12 from trac.config import ListOption 10 13 from trac.web.api import IRequestFilter 11 14 from trac.web.api import IRequestHandler … … 14 17 from trac.web.chrome import Chrome 15 18 from trac.web.chrome import ITemplateProvider 19 from trac.web.chrome import ITemplateStreamFilter 16 20 17 21 class AutocompleteUsers(Component): 18 22 19 implements(IRequestHandler, IRequestFilter, ITemplateProvider) 20 prefix = "common" # prefix for htdocs -- /chrome/prefix/... 23 implements(IRequestHandler, IRequestFilter, ITemplateProvider, ITemplateStreamFilter) 24 selectfields = ListOption('autocomplete', 'fields', default='', 25 doc='select fields to transform to autocomplete text boxes') 26 prefix = "common" # prefix for htdocs -- /chrome/prefix/... 21 27 22 28 ### methods for IRequestHandler … … 96 102 ### methods for IRequestFilter 97 103 98 99 104 def post_process_request(self, req, template, data, content_type): 100 105 """Do any post-processing the request might need; typically adding … … 135 140 """ 136 141 return handler 142 143 ### methods for ITemplateStreamFilter 144 145 def filter_stream(self, req, method, filename, stream, data): 146 """Return a filtered Genshi event stream, or the original unfiltered 147 stream if no match. 148 149 `req` is the current request object, `method` is the Genshi render 150 method (xml, xhtml or text), `filename` is the filename of the template 151 to be rendered, `stream` is the event stream and `data` is the data for 152 the current template. 153 154 See the Genshi documentation for more information. 155 """ 156 if filename == 'ticket.html': 157 fields = [ field['name'] for field in data['ticket'].fields 158 if field['type'] == 'select' ] 159 fields = set(sum([ fnmatch.filter(fields, pattern) 160 for pattern in self.selectfields ], [])) 161 162 return stream autocompleteusersplugin/0.11/autocompleteusers/htdocs/js/autocomplete.js
r4276 r4407 11 11 * 12 12 */ 13 14 /* see: 15 * http://www.dyve.net/jquery/autocomplete.txt 16 * http://www.dyve.net/jquery/?autocomplete */ 13 17 14 18 ;(function($) { autocompleteusersplugin/0.11/setup.py
r4390 r4407 1 1 from setuptools import find_packages, setup 2 2 3 version='0. 3'3 version='0.4' 4 4 5 5 setup(name='AutocompleteUsers',
