Edgewall Software

Ticket #843: patch-changesbyuser-r1011.diff

File patch-changesbyuser-r1011.diff, 2.7 KB (added by pkou@…, 8 years ago)

Patch for the changes

  • trac/Timeline.py

     
    3535    template_rss_name = 'timeline_rss.cs' 
    3636 
    3737    def get_info (self, start, stop, maxrows, tickets, 
    38                   changeset, wiki, milestone): 
     38                  changeset, wiki, milestone, foruser=''): 
    3939        cursor = self.db.cursor () 
    4040 
    4141        tickets = tickets and self.perm.has_permission(perm.TICKET_VIEW) 
     
    4646        if tickets == changeset == wiki == milestone == 0: 
    4747            return [] 
    4848 
     49        filter_by_user = 0 
     50        if foruser: 
     51            filter_by_user = 1 
     52            if foruser == '(empty)': foruser = '' 
     53 
    4954        CHANGESET = 1 
    5055        NEW_TICKET = 2 
    5156        CLOSED_TICKET = 3 
     
    104109            row = cursor.fetchone() 
    105110            if not row: 
    106111                break 
     112            if filter_by_user and row['author'] != foruser: 
     113                continue 
    107114            t = time.localtime(int(row['time'])) 
    108115            gmt = time.gmtime(int(row['time'])) 
    109116            item = {'time': time.strftime('%X', t), 
     
    192199 
    193200        _from = self.args.get('from', '') 
    194201        _daysback = self.args.get('daysback', '') 
     202        foruser = self.args.get('user', '') 
    195203 
    196204        # Parse the from date and adjust the timestamp to the last second of the day 
    197205        try: 
     
    207215        self.req.hdf.setValue('timeline.from', 
    208216                              time.strftime('%x', time.localtime(_from))) 
    209217        self.req.hdf.setValue('timeline.daysback', str(daysback)) 
     218        self.req.hdf.setValue('timeline.user', foruser) 
    210219 
    211220        stop  = _from 
    212221        start = stop - daysback * 86400 
     
    229238            self.req.hdf.setValue('timeline.milestone', 'checked') 
    230239 
    231240        info = self.get_info (start, stop, maxrows, ticket, 
    232                               changeset, wiki, milestone) 
     241                              changeset, wiki, milestone, foruser) 
    233242        util.add_dictlist_to_hdf(info, self.req.hdf, 'timeline.items') 
    234243        self.req.hdf.setValue('title', 'Timeline') 
    235244 
  • templates/timeline.cs

     
    4040      if:timeline.milestone ?>checked="checked"<?cs /if ?> /> 
    4141    <label for="milestone">Milestones</label> 
    4242   </div><?cs /if ?> 
     43   <div> 
     44   <label for="user">View changes by</label> 
     45   <input type="text" size="10" id="user" name="user" 
     46       value="<?cs var:timeline.user ?>" /> (empty for all users) 
     47   </div> 
    4348  </fieldset> 
    4449  <div class="buttons"> 
    4550   <input type="submit" value="Update" />