Edgewall Software

Changeset 7383

Show
Ignore:
Timestamp:
07/23/2008 08:47:19 PM (5 weeks ago)
Author:
cboos
Message:

The milestone drop-down menu in ticket changes is now organized in 3 sections:

  • Open (by due date)
  • Open (no due date)
  • Closed

Only the first two are shown to non-admins.

Patch contributed by Remy Blank. Closes #4021.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/0.11-stable/trac/ticket/web_ui.py

    r7368 r7383  
    10711071                milestones = [(opt, m) for opt, m in milestones 
    10721072                              if 'MILESTONE_VIEW' in req.perm(m.resource)] 
    1073                 open_milestones, closed_milestones = \ 
    1074                         partition([(opt, m.is_completed) 
    1075                                    for opt, m in milestones], 
    1076                                   (False, True)) 
     1073                def category(m): 
     1074                    return m.is_completed and 1 or m.due and 2 or 3 
     1075                open_due_milestones, open_not_due_milestones, \ 
     1076                    closed_milestones = partition([(opt, category(m)) 
     1077                        for opt, m in milestones], (2, 3, 1)) 
     1078                field['options'] = [] 
     1079                field['optgroups'] = [ 
     1080                    {'label': _('Open (by due date)'),  
     1081                        'options': open_due_milestones}, 
     1082                    {'label': _('Open (no due date)'),  
     1083                        'options': open_not_due_milestones}, 
     1084                ] 
    10771085                if ticket.exists and \ 
    10781086                       'TICKET_ADMIN' in req.perm(ticket.resource): 
    1079                     field['options'] = [] 
    1080                     field['optgroups'] = [ 
    1081                         {'label': _('Open'), 'options': open_milestones}, 
    1082                         {'label': _('Closed'), 'options': closed_milestones}, 
    1083                     ] 
    1084                 else: 
    1085                     field['options'] = open_milestones 
     1087                    field['optgroups'].append( 
     1088                        {'label': _('Closed'), 'options': closed_milestones}) 
    10861089                milestone = Resource('milestone', ticket[name]) 
    10871090                field['rendered'] = render_resource_link(self.env, context,