Changeset 4407

Show
Ignore:
Timestamp:
10/06/08 17:05:08 (3 months ago)
Author:
k0s
Message:

added preliminary stuff for (refs #3719), not at all working yet

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • autocompleteusersplugin/0.11/autocompleteusers/autocompleteusers.py

    r4276 r4407  
    44""" 
    55 
     6import fnmatch 
     7 
    68from pkg_resources import resource_filename 
    79 
    810from trac.core import * 
    911 
     12from trac.config import ListOption 
    1013from trac.web.api import IRequestFilter 
    1114from trac.web.api import IRequestHandler 
     
    1417from trac.web.chrome import Chrome 
    1518from trac.web.chrome import ITemplateProvider  
     19from trac.web.chrome import ITemplateStreamFilter 
    1620 
    1721class AutocompleteUsers(Component): 
    1822 
    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/...     
    2127 
    2228    ### methods for IRequestHandler 
     
    96102    ### methods for IRequestFilter 
    97103 
    98  
    99104    def post_process_request(self, req, template, data, content_type): 
    100105        """Do any post-processing the request might need; typically adding 
     
    135140        """ 
    136141        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  
    1111 * 
    1212 */ 
     13 
     14/* see:  
     15 * http://www.dyve.net/jquery/autocomplete.txt 
     16 * http://www.dyve.net/jquery/?autocomplete */ 
    1317 
    1418;(function($) { 
  • autocompleteusersplugin/0.11/setup.py

    r4390 r4407  
    11from setuptools import find_packages, setup 
    22 
    3 version='0.3
     3version='0.4
    44 
    55setup(name='AutocompleteUsers',