Ticket #8453: hide_wiki.diff
| File hide_wiki.diff, 7.0 KB (added by shookie@…, 3 years ago) |
|---|
-
trac/env.py
174 174 175 175 (since 0.10.5)""") 176 176 177 wiki_prefix = Option('wiki', 'uri_prefix', 'wiki', 178 """Defines the uri prefix that gets the wiki handler""") 179 wiki_start = Option('wiki', 'wiki_start', 'WikiStart', 180 """Defines the wiki start page name""") 181 177 182 def __init__(self, path, create=False, options=[]): 178 183 """Initialize the Trac environment. 179 184 -
trac/templates/theme.html
33 33 ${navigation('mainnav')} 34 34 35 35 <div id="main"> 36 <div id="ctxtnav" class="nav">36 <div py:if="(not ctxtnav.hide_ctxtnav_from_anonymous) or authname != 'anonymous'" id="ctxtnav" class="nav"> 37 37 <h2>Context Navigation</h2> 38 38 <ul py:if="chrome.ctxtnav"> 39 39 <li py:for="i, elm in enumerate(chrome.ctxtnav)" -
trac/wiki/admin.py
198 198 db = self.env.get_db_cnx() 199 199 self.load_pages(pkg_resources.resource_filename('trac.wiki', 200 200 'default-pages'), 201 db, ignore=[ 'WikiStart', 'checkwiki.py'],201 db, ignore=[self.env.wiki_start, 'checkwiki.py'], 202 202 create_only=['InterMapTxt']) 203 203 db.commit() -
trac/wiki/api.py
265 265 pagename, version = pagename.split('@', 1) 266 266 if version and query: 267 267 query = '&' + query[1:] 268 pagename = pagename.rstrip('/') or 'WikiStart'268 pagename = pagename.rstrip('/') or self.env.wiki_start 269 269 if formatter.resource and formatter.resource.realm == 'wiki' \ 270 270 and not pagename.startswith('/'): 271 271 prefix = formatter.resource.id -
trac/wiki/web_ui.py
65 65 PAGE_TEMPLATES_PREFIX = 'PageTemplates/' 66 66 DEFAULT_PAGE_TEMPLATE = 'DefaultPage' 67 67 68 def __init__(self): 69 """Init instance variables""" 70 self.match_request_regex = re.compile(r'/' + self.env.wiki_prefix + r'(?:/(.+))?$') 71 72 68 73 # IContentConverter methods 69 74 def get_supported_conversions(self): 70 75 yield ('txt', _('Plain Text'), 'txt', 'text/x-trac-wiki', 'text/plain', … … 99 104 100 105 # IRequestHandler methods 101 106 107 108 102 109 def match_request(self, req): 103 match = re.match(r'/wiki(?:/(.+))?$',req.path_info)110 match = self.match_request_regex.match(req.path_info) 104 111 if match: 105 112 if match.group(1): 106 113 req.args['page'] = match.group(1) … … 108 115 109 116 def process_request(self, req): 110 117 action = req.args.get('action', 'view') 111 pagename = req.args.get('page', 'WikiStart')118 pagename = req.args.get('page', self.env.wiki_start) 112 119 version = req.args.get('version') 113 120 old_version = req.args.get('old_version') 114 121 … … 492 499 conversion[3]) 493 500 494 501 data = self._page_data(req, page) 495 if page.name == 'WikiStart':502 if page.name == self.env.wiki_start: 496 503 data['title'] = '' 497 504 498 505 if not page.exists: … … 568 575 569 576 def _wiki_ctxtnav(self, req, page): 570 577 """Add the normal wiki ctxtnav entries.""" 571 add_ctxtnav(req, _('Start Page'), req.href.wiki( 'WikiStart'))578 add_ctxtnav(req, _('Start Page'), req.href.wiki(self.env.wiki_start)) 572 579 add_ctxtnav(req, _('Index'), req.href.wiki('TitleIndex')) 573 580 if page.exists: 574 581 add_ctxtnav(req, _('History'), req.href.wiki(page.name, -
trac/web/api.py
160 160 This class provides a convenience API over WSGI. 161 161 """ 162 162 163 def __init__(self, environ, start_response ):163 def __init__(self, environ, start_response, wiki_prefix='wiki'): 164 164 """Create the request wrapper. 165 165 166 166 @param environ: The WSGI environment dict … … 189 189 self.base_url = self.environ.get('trac.base_url') 190 190 if not self.base_url: 191 191 self.base_url = self._reconstruct_url() 192 self.href = Href(self.base_path )193 self.abs_href = Href(self.base_url )192 self.href = Href(self.base_path, wiki_prefix) 193 self.abs_href = Href(self.base_url, wiki_prefix) 194 194 195 195 def __getattr__(self, name): 196 196 """Performs lazy attribute lookup by delegating to the functions in the -
trac/web/chrome.py
322 322 """Show IP addresses for resource edits (e.g. wiki). 323 323 (''since 0.11.3'').""") 324 324 325 hide_ctxtnav_from_anonymous = BoolOption('ctxtnav', 'hide_ctxtnav_from_anonymous', 'false', 326 """Hide the context navigation bar from anonymous visitors.""") 327 325 328 templates = None 326 329 327 330 # A dictionary of default context data for templates … … 654 657 d['chrome'] = { 655 658 'footer': Markup(self.env.project_footer) 656 659 } 660 d['ctxtnav'] = { 'hide_ctxtnav_from_anonymous': self.hide_ctxtnav_from_anonymous } 661 657 662 if req: 658 663 d['chrome'].update(req.chrome) 659 664 else: -
trac/web/href.py
115 115 '/trac/browser/trunk/README.txt?format=txt' 116 116 """ 117 117 118 def __init__(self, base): 118 def __init__(self, base, wiki_prefix='wiki'): 119 self.wiki_prefix = wiki_prefix 119 120 self.base = base 120 121 self._derived = {} 121 122 … … 133 134 params.append((name, value)) 134 135 135 136 if args: 137 if args[0] == 'wiki': 138 args = (self.wiki_prefix,) + (args[1:]) 136 139 lastp = args[-1] 137 140 if lastp and type(lastp) is dict: 138 141 for k,v in lastp.items(): -
trac/web/main.py
431 431 except Exception, e: 432 432 env_error = e 433 433 434 req = Request(environ, start_response )434 req = Request(environ, start_response, env.wiki_prefix) 435 435 try: 436 436 return _dispatch_request(req, env, env_error) 437 437 finally:
