Edgewall Software

Ticket #8758: timeline_filter_repositories.diff

File timeline_filter_repositories.diff, 1.3 KB (added by Mikhail Terekhov <termim@…>, 3 years ago)

Add filtering by repositories to the timeline.

  • trac/versioncontrol/web_ui/changeset.py

     
    840840 
    841841    def get_timeline_filters(self, req): 
    842842        if 'CHANGESET_VIEW' in req.perm: 
    843             yield ('changeset', _('Repository checkins')) 
     843            filters = [('changeset', _('Repository checkins'))] 
     844            rm = RepositoryManager(self.env) 
     845            for reponame in rm.get_all_repositories().keys(): 
     846                filters.append(((reponame, reponame))) 
     847            return filters 
    844848 
    845849    def get_timeline_events(self, req, start, stop, filters): 
    846850        if 'changeset' in filters: 
     
    885889                                show_location, show_files)) 
    886890 
    887891            for reponame, repos in self.env.get_all_repositories(req.authname): 
    888                 for event in generate_changesets(reponame, repos): 
    889                     yield event 
    890                  
     892                if reponame in filters: 
     893                    for event in generate_changesets(reponame, repos): 
     894                        yield event 
     895 
    891896    def render_timeline_event(self, context, field, event): 
    892897        changesets, show_location, show_files = event[3] 
    893898        cset, cset_resource, repos_for_uid = changesets[0]