| CODENOTIFIER | HelpYou are not signed inSign in |
Project: Trac-trunk
Revision: 7504
Author: rblank
Date: 01 Sep 2008 17:50:00
Diff at Trac: http://trac.edgewall.org/changeset/7504
Changes:trunk: Added a user filter to the timeline.
Closes #1198.
Files:| ... | ...@@ -117,8 +117,12 @@ | |
| 117 | 117 | daysback = max(0, daysback) |
| 118 | 118 | if self.max_daysback >= 0: |
| 119 | 119 | daysback = min(self.max_daysback, daysback) |
| 120 | author = req.args.get('author', | |
| 121 | req.session.get('timeline.author', '')) | |
| 122 | author = author.strip() | |
| 120 | 123 | |
| 121 | 124 | data = {'fromdate': fromdate, 'daysback': daysback, |
| 125 | 'author': author, | |
| 122 | 126 | 'today': format_date(today), |
| 123 | 127 | 'yesterday': format_date(today - timedelta(days=1)), |
| 124 | 128 | 'precisedate': precisedate, 'precision': precision, |
| ... | ...@@ -157,7 +161,9 @@ | |
| 157 | 161 | try: |
| 158 | 162 | for event in provider.get_timeline_events(req, start, stop, |
| 159 | 163 | filters): |
| 160 | events.append(self._event_data(provider, event)) | |
| 164 | author_index = len(event) < 6 and 2 or 4 # 0.10 events | |
| 165 | if not author or event[author_index] == author: | |
| 166 | events.append(self._event_data(provider, event)) | |
| 161 | 167 | except Exception, e: # cope with a failure of that provider |
| 162 | 168 | self._provider_failure(e, req, provider, filters, |
| 163 | 169 | [f[0] for f in available_filters]) |
| ... | ...@@ -182,10 +188,12 @@ | |
| 182 | 188 | return 'timeline.rss', data, 'application/rss+xml' |
| 183 | 189 | else: |
| 184 | 190 | req.session['timeline.daysback'] = daysback |
| 191 | req.session['timeline.author'] = author | |
| 185 | 192 | |
| 186 | 193 | add_stylesheet(req, 'common/css/timeline.css') |
| 187 | 194 | rss_href = req.href.timeline([(f, 'on') for f in filters], |
| 188 | daysback=90, max=50, format='rss') | |
| 195 | daysback=90, max=50, author=author, | |
| 196 | format='rss') | |
| 189 | 197 | add_link(req, 'alternate', rss_href, _('RSS Feed'), |
| 190 | 198 | 'application/rss+xml', 'rss') |
| 191 | 199 |
| ... | ...@@ -18,7 +18,8 @@ | |
| 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"> |