Ticket #1269: quickjump+missing-r3431.diff
| File quickjump+missing-r3431.diff, 5.7 KB (added by cboos, 2 years ago) |
|---|
-
htdocs/css/search.css
9 9 #results dd { font-size: 80%; margin: 0; padding: 0 } 10 10 #results .author, #results .date, #results .keywords { color: #090 } 11 11 12 #quickjump { font-style: italic; font-weight: bold; } 13 12 14 #paging { margin: 0 0 2em; text-align: center } -
trac/ticket/report.py
490 490 if intertrac: 491 491 return intertrac 492 492 report, args, fragment = formatter.split_link(target) 493 db = self.env.get_db_cnx() 494 cursor = db.cursor() 495 cursor.execute('SELECT id FROM report WHERE id=%s', (report,)) 496 exists = bool(cursor.fetchone()) 497 class_ = 'report' 498 if not exists: 499 class_ += ' missing' 500 label += '?' 493 501 return html.A(href=formatter.href.report(report) + args, 494 class_= 'report')[label]502 class_=class_)[label] -
trac/ticket/roadmap.py
518 518 yield ('milestone', self._format_link) 519 519 520 520 def _format_link(self, formatter, ns, name, label): 521 class_ = 'milestone' 522 try: 523 Milestone(self.env, name) 524 except TracError: 525 class_ += ' missing' 526 label += '?' 521 527 return html.A(href=formatter.href.milestone(name), 522 class_= 'milestone')[label]528 class_=class_)[label] -
trac/Search.py
167 167 query = req.args.get('q') 168 168 if query: 169 169 page = int(req.args.get('page', '1')) 170 redir = self.quickjump(req, query) 171 if redir: 172 req.redirect(redir) 170 do_quickjump = int(req.args.get('quickjump', '0')) 171 quickjump_elt = self.quickjump(req, query) 172 if quickjump_elt is not None: 173 quickjump_href = quickjump_elt.attr['href'] 174 if do_quickjump: 175 req.redirect(quickjump_href) 176 else: 177 req.hdf['search.quickjump'] = { 178 'href': quickjump_href, 179 'name': html.EM(quickjump_elt.children), 180 'description': quickjump_elt.attr.get('title', '') 181 } 173 182 elif query.startswith('!'): 174 183 query = query[1:] 175 184 terms = search_terms(query) … … 215 224 return 'search.cs', None 216 225 217 226 def quickjump(self, req, kwd): 218 if len(kwd.split()) != 1:219 return None220 227 # Source quickjump 221 228 if kwd[0] == '/': 222 229 return req.href.browser(kwd) 223 230 link = wiki_to_link(kwd, self.env, req) 224 231 if isinstance(link, Element): 225 return link .attr['href']232 return link 226 233 227 234 # IWikiSyntaxProvider methods 228 235 -
templates/header.cs
45 45 <input type="hidden" name="wiki" value="on" /> 46 46 <input type="hidden" name="changeset" value="on" /> 47 47 <input type="hidden" name="ticket" value="on" /> 48 <input type="hidden" name="quickjump" value="1" /> 48 49 </div><?cs /if ?> 49 50 </form> 50 51 -
templates/search.cs
37 37 <label for="<?cs var:filter.name ?>"><?cs var:filter.label?></label><?cs 38 38 /each ?> 39 39 </p> 40 </form> 41 <?cs if:len(search.result) ?> 42 <hr /> 40 </form><?cs 41 42 if:len(search.result) || len(search.quickjump) ?> 43 <hr /><?cs 44 if:len(search.result) ?> 43 45 <h2>Search results <?cs 44 46 if:search.n_pages > 1 ?>(<?cs 45 47 var:(search.page-1) * search.page_size + 1 ?> - <?cs 46 48 var:(search.page-1) * search.page_size + len(search.result) ?> 47 49 of <?cs var:search.n_hits?>)<?cs 48 /if ?></h2> 50 /if ?></h2><?cs 51 /if ?> 49 52 <div id="searchable"> 50 53 <dl id="results"><?cs 54 if:len(search.quickjump) ?> 55 <dt id=quickjump><a href="<?cs var:search.quickjump.href ?>">Quickjump to <?cs var:search.quickjump.name ?></a></dt> 56 <dd><?cs var:search.quickjump.description ?></dd><?cs 57 /if ?><?cs 51 58 each item=search.result ?> 52 <dt><a href="<?cs var:item.href ?>"><?cs var:item.title ?></a></dt>53 <dd><?cs var:item.excerpt ?></dd>54 <dd>55 <span class="author">By <?cs var:item.author ?></span> —56 <span class="date"><?cs var:item.date ?></span><?cs57 if:item.keywords ?> &mdash58 <span class="keywords">Keywords: <em><?cs var:item.keywords ?></em></span><?cs59 /if ?>60 </dd><?cs59 <dt><a href="<?cs var:item.href ?>"><?cs var:item.title ?></a></dt> 60 <dd><?cs var:item.excerpt ?></dd> 61 <dd> 62 <span class="author">By <?cs var:item.author ?></span> — 63 <span class="date"><?cs var:item.date ?></span><?cs 64 if:item.keywords ?> &mdash 65 <span class="keywords">Keywords: <em><?cs var:item.keywords ?></em></span><?cs 66 /if ?> 67 </dd><?cs 61 68 /each ?> 62 69 </dl> 63 70 <hr /> … … 81 88 </div><?cs 82 89 /if ?><?cs 83 90 84 elif:search.q ?>91 elif:search.q && !search.quickjump ?> 85 92 <div id="notfound">No matches found.</div><?cs 86 93 /if ?> 87 94
