Changeset 2209
- Timestamp:
- 04/28/07 15:02:56 (2 years ago)
- Files:
-
- wikirenameplugin/0.11/setup.py (modified) (3 diffs)
- wikirenameplugin/0.11/wikirename/ctxtnav.py (added)
- wikirenameplugin/0.11/wikirename/templates/admin_wikirename.html (moved) (moved from wikirenameplugin/0.11/wikirename/templates/wikirename_admin.cs) (1 diff)
- wikirenameplugin/0.11/wikirename/web_ui.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
wikirenameplugin/0.11/setup.py
r1543 r2209 6 6 setup( 7 7 name = 'TracWikiRename', 8 version = ' 1.2',8 version = '2.0', 9 9 packages = ['wikirename'], 10 10 package_data={ 'wikirename' : [ 'templates/*.cs' ] }, … … 25 25 'trac.plugins': [ 26 26 'wikirename.web_ui = wikirename.web_ui', 27 'wikirename.ctxtnav = wikirename.ctxtnav [ctxtnav]', 27 28 ], 28 29 'console_scripts': [ … … 31 32 }, 32 33 33 install_requires = [ 'TracWebAdmin', 'TracCtxtnavAdd'],34 #install_requires = [], 34 35 # Waiting on the extras support patch for this 35 #extras_require = {36 # 'ctxtnav' : [ 'CtxtnavAdd' ],37 #}36 extras_require = { 37 'ctxtnav' : [ 'TracCtxtnavAdd' ], 38 }, 38 39 ) wikirenameplugin/0.11/wikirename/templates/admin_wikirename.html
r938 r2209 1 <h2>Wiki Rename</h2> 1 <!DOCTYPE html 2 PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 4 <html xmlns="http://www.w3.org/1999/xhtml" 5 xmlns:xi="http://www.w3.org/2001/XInclude" 6 xmlns:py="http://genshi.edgewall.org/"> 7 <xi:include href="admin.html" /> 8 <head> 9 <title>Wiki Rename</title> 10 </head> 2 11 3 <form action="" method="post"> 4 <fieldset> 12 <body> 13 <h2>Wiki Rename</h2> 14 15 <form class="mod" id="modwikirename" action="" method="post"> 16 <fieldset> 5 17 <legend>Rename Page</legend> 6 18 <div class="field"> 7 <label>Original name:<br />8 <input type="text" name="src_page" value="<?cs var:wikirename.src ?>" />9 </label>19 <label>Original name:<br /> 20 <input type="text" name="src_page" value="${src}" /> 21 </label> 10 22 </div> 11 23 <div class="field"> 12 <label>New name:<br />13 <input type="text" name="dest_page" value="<?cs var:wikirename.dest ?>" />14 </label>24 <label>New name:<br /> 25 <input type="text" name="dest_page" value="${dest}" /> 26 </label> 15 27 </div> 16 </fieldset>17 <div class="buttons">18 <input type="hidden" name="redirect" value=" <?cs var:wikirename.redir ?>" />28 </fieldset> 29 <div class="buttons"> 30 <input type="hidden" name="redirect" value="${redir}" /> 19 31 <input type="submit" name="submit" value="Apply" /> 20 </div> 21 </form> 22 32 </div> 33 </form> 34 </body> 35 </html> wikirenameplugin/0.11/wikirename/web_ui.py
r1543 r2209 1 1 from trac.core import * 2 from trac.util import Markup3 2 from trac.perm import IPermissionRequestor 4 3 from trac.web.chrome import ITemplateProvider 5 from webadmin.web_ui import IAdminPageProvider 4 from trac.admin.web_ui import IAdminPanelProvider 5 from genshi.core import Markup 6 6 7 7 from wikirename.util import rename_page … … 9 9 import urllib 10 10 11 _implements = [IPermissionRequestor, IAdminPageProvider, ITemplateProvider]12 13 try:14 from ctxtnavadd.api import ICtxtnavAdder15 _implements.append(ICtxtnavAdder)16 except ImportError:17 pass18 19 11 class WikiRenameModule(Component): 20 12 """An evil module that adds a rename button to the wiki UI.""" 21 13 22 implements( *_implements)14 implements(IPermissionRequestor, IAdminPanelProvider, ITemplateProvider) 23 15 24 # ICtxtnavAdder methods25 def match_ctxtnav_add(self, req):26 perm = req.perm.has_permission('WIKI_RENAME') or req.perm.has_permission('WIKI_ADMIN')27 return req.path_info.startswith('/wiki') and perm28 29 def get_ctxtnav_adds(self, req):30 page = req.path_info[6:] or 'WikiStart'31 yield (req.href.admin('general','wikirename')+'?redirect=1&src_page='+page,'Rename page')32 33 16 # IPermissionRequestor methods 34 17 def get_permission_actions(self): 35 18 return ['WIKI_RENAME'] 36 19 37 # IAdminPa geProvider methods38 def get_admin_pa ges(self, req):20 # IAdminPanelProvider methods 21 def get_admin_panels(self, req): 39 22 if req.perm.has_permission('WIKI_RENAME') or req.perm.has_permission('WIKI_ADMIN'): 40 23 yield ('general', 'General', 'wikirename', 'Wiki Rename') 41 24 42 def process_admin_request(self, req, cat, page, path_info): 43 src = req.args.get('src_page','') 44 dest = req.args.get('dest_page','') 45 redir = req.args.get('redirect','') == '1' 46 47 # Handle escaped chars (#TH672) 48 src = urllib.unquote_plus(src) 49 dest = urllib.unquote_plus(dest) 25 def render_admin_panel(self, req, cat, page, path_info): 26 data = { 27 'src': urllib.unquote_plus(req.args.get('src_page','')), 28 'dest': urllib.unquote_plus(req.args.get('dest_page','')), 29 'redir': req.args.get('redirect','') == '1', 30 } 50 31 51 32 if 'submit' in req.args.keys(): 52 33 if not src or not dest: 53 34 raise TracError, "Please provide both the old and new names" 54 rename_page(self.env, src, dest, req.authname, req.remote_addr, debug=self.log.debug)55 if redir:35 rename_page(self.env, data['src'], data['dest'], req.authname, req.remote_addr, debug=self.log.debug) 36 if data['redir']: 56 37 req.redirect(req.href.wiki(dest)) 57 38 # Reset for the next display 58 src= ''59 d est= ''39 data['src'] = '' 40 data['dest'] = '' 60 41 61 req.hdf['wikirename.src'] = src 62 req.hdf['wikirename.dest'] = dest 63 req.hdf['wikirename.redir'] = redir 64 return 'wikirename_admin.cs', None 42 return 'admin_wikirename.html', data 65 43 66 44
