Changeset 3915 for iniadminplugin
- Timestamp:
- 06/29/08 07:36:55 (5 months ago)
- Files:
-
- iniadminplugin/0.11/iniadmin/iniadmin.py (modified) (4 diffs)
- iniadminplugin/0.11/iniadmin/templates/iniadmin.html (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
iniadminplugin/0.11/iniadmin/iniadmin.py
r3024 r3915 13 13 14 14 class IniAdminPlugin(Component): 15 15 16 implements(ITemplateProvider, IAdminPanelProvider) 17 18 excludes = ListOption('iniadmin', 'excludes', 19 'iniadmin:excludes,iniadmin:passwords', 20 doc="""Excludes this options. 21 Comma separated list as `section:name`. 22 """) 23 24 passwords = ListOption('iniadmin', 'passwords', 25 'trac:database,notification:smtp_password', 26 doc="""Show input-type as password instead of text. 27 Comma separated list as `section:name`. 28 """) 16 29 17 30 # IAdminPageProvider methods … … 26 39 raise TracError("Invalid section %s" % page) 27 40 41 _exc = [name for section, name in 42 [opt.split(':') for opt in self.excludes] 43 if section == page] 44 _pwd = [name for section, name in 45 [opt.split(':') for opt in self.passwords] 46 if section == page] 47 28 48 # Apply changes 29 49 if req.method == 'POST': 30 50 options = [option.name for (section, _), option in 31 Option.registry.iteritems() if section == page] 51 Option.registry.iteritems() if section == page and 52 option.name not in _exc] 32 53 modified = False 33 54 for option, value in req.args.iteritems(): … … 45 66 46 67 options = sorted([option for (section, _), option in 47 Option.registry.iteritems() if section == page], 68 Option.registry.iteritems() if section == page and 69 option.name not in _exc], 48 70 key=lambda a: a.name) 49 71 … … 62 84 options.sort() 63 85 option_data['options'] = options 86 elif type == 'text' and option.name in _pwd: 87 option_data['type'] = 'password' 64 88 options_data.append(option_data) 65 89 iniadminplugin/0.11/iniadmin/templates/iniadmin.html
r2259 r3915 33 33 <label><input type="radio" name="${option.name}" value="false" checked="${option.value == 'false' or None}" /> false</label> 34 34 </div> 35 <div class="text" py:when="option.type == 'password'"> 36 <input type="password" name="${option.name}" value="${option.value}" /> 37 </div> 35 38 <div class="text" py:otherwise=""> 36 39 <input type="text" name="${option.name}" value="${option.value}" />
