Ticket #1198: 1198-timeline-author-filter-r7499-0.11.patch
| File 1198-timeline-author-filter-r7499-0.11.patch, 3.1 KB (added by dfraser, 3 years ago) |
|---|
-
trac/trac/timeline/web_ui.py
118 118 daysback = max(0, daysback) 119 119 if self.max_daysback >= 0: 120 120 daysback = min(self.max_daysback, daysback) 121 author = req.args.get('author', 122 req.session.get('timeline.author', '')) 123 author = author.strip() 121 124 122 125 data = {'fromdate': fromdate, 'daysback': daysback, 126 'author': author, 123 127 'today': format_date(today), 124 128 'yesterday': format_date(today - timedelta(days=1)), 125 129 'precisedate': precisedate, 'precision': precision, … … 158 162 try: 159 163 for event in provider.get_timeline_events(req, start, stop, 160 164 filters): 161 events.append(self._event_data(provider, event)) 165 author_index = len(event) < 6 and 2 or 4 # 0.10 events 166 if not author or event[author_index] == author: 167 events.append(self._event_data(provider, event)) 162 168 except Exception, e: # cope with a failure of that provider 163 169 self._provider_failure(e, req, provider, filters, 164 170 [f[0] for f in available_filters]) … … 185 191 return 'timeline.rss', data, 'application/rss+xml' 186 192 else: 187 193 req.session['timeline.daysback'] = daysback 194 req.session['timeline.author'] = author 188 195 html_context = Context.from_request(req) 189 196 html_context.set_hints(wiki_flavor='oneliner', 190 197 shorten_lines=self.abbreviated_messages) … … 192 199 193 200 add_stylesheet(req, 'common/css/timeline.css') 194 201 rss_href = req.href.timeline([(f, 'on') for f in filters], 195 daysback=90, max=50, format='rss') 202 daysback=90, max=50, author=author, 203 format='rss') 196 204 add_link(req, 'alternate', rss_href, _('RSS Feed'), 197 205 'application/rss+xml', 'rss') 198 206 -
trac/trac/timeline/templates/timeline.html
18 18 <form id="prefs" method="get" action=""> 19 19 <div> 20 20 <label>View changes from <input type="text" size="10" name="from" value="${format_date(fromdate)}" /></label> <br /> 21 and <label><input type="text" size="3" name="daysback" value="$daysback" /> days back</label>. 21 and <label><input type="text" size="3" name="daysback" value="$daysback" /> days back</label><br /> 22 <label>done by <input type="text" size="16" name="author" value="$author" /></label> 22 23 </div> 23 24 <fieldset> 24 25 <label py:for="filter in filters">
