Edgewall Software

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)

Added version of 0.12 patch that applies cleanly on 0.11

  • trac/trac/timeline/web_ui.py

     
    118118        daysback = max(0, daysback) 
    119119        if self.max_daysback >= 0: 
    120120            daysback = min(self.max_daysback, daysback) 
     121        author = req.args.get('author', 
     122                              req.session.get('timeline.author', '')) 
     123        author = author.strip() 
    121124 
    122125        data = {'fromdate': fromdate, 'daysback': daysback, 
     126                'author': author, 
    123127                'today': format_date(today), 
    124128                'yesterday': format_date(today - timedelta(days=1)), 
    125129                'precisedate': precisedate, 'precision': precision, 
     
    158162            try: 
    159163                for event in provider.get_timeline_events(req, start, stop, 
    160164                                                          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)) 
    162168            except Exception, e: # cope with a failure of that provider 
    163169                self._provider_failure(e, req, provider, filters, 
    164170                                       [f[0] for f in available_filters]) 
     
    185191            return 'timeline.rss', data, 'application/rss+xml' 
    186192        else: 
    187193            req.session['timeline.daysback'] = daysback 
     194            req.session['timeline.author'] = author 
    188195            html_context = Context.from_request(req) 
    189196            html_context.set_hints(wiki_flavor='oneliner',  
    190197                                   shorten_lines=self.abbreviated_messages) 
     
    192199 
    193200        add_stylesheet(req, 'common/css/timeline.css') 
    194201        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') 
    196204        add_link(req, 'alternate', rss_href, _('RSS Feed'), 
    197205                 'application/rss+xml', 'rss') 
    198206 
  • trac/trac/timeline/templates/timeline.html

     
    1818      <form id="prefs" method="get" action=""> 
    1919       <div> 
    2020        <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> 
    2223       </div> 
    2324       <fieldset> 
    2425        <label py:for="filter in filters">