Edgewall Software

Opened 17 years ago

Closed 17 years ago

#2373 closed defect (fixed)

Milestone progress graph

Reported by: Barclay Owned by: Christopher Lenz
Priority: normal Milestone: 0.9.1
Component: roadmap Version: 0.9
Severity: normal Keywords:
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:


When symbol "&" is used in name of milestone, progress graph is not shown for it in list of milestones. To get that list, click on Roadmap menu item.

Attachments (0)

Change History (3)

comment:1 by markus, 17 years ago

Milestone: 0.9.1

The problem is that in RoadmapModule.process_request() milestone['name'] gets escaped by milestone_to_hdf() and so passed to get_tickets_for_milestone() as e.g. Mile&stone. Consequently, the database queries in get_tickets_for_milestone() and get_query_links() fail in finding Mile&stone.

  • trac/ticket/roadmap.py

    2020from trac import __version__
    2121from trac.core import *
    2222from trac.perm import IPermissionRequestor
    23 from trac.util import escape, format_date, format_datetime, parse_date, \
    24                       pretty_timedelta, shorten_line, CRLF
     23from trac.util import escape, unescape, format_date, format_datetime, \
     24                      parse_date, pretty_timedelta, shorten_line, CRLF
    2525from trac.ticket import Milestone, Ticket, TicketSystem
    2626from trac.Timeline import ITimelineEventProvider
    2727from trac.web import IRequestHandler
    2929from trac.wiki import wiki_to_html, wiki_to_oneliner, IWikiSyntaxProvider
    3131def get_tickets_for_milestone(env, db, milestone, field='component'):
     32    milestone = unescape(milestone)
    3233    cursor = db.cursor()
    3334    fields = TicketSystem(env).get_ticket_fields()
    3435    if field in [f['name'] for f in fields if not f.get('custom')]:
    4647def get_query_links(env, milestone, grouped_by='component', group=None):
    4748    q = {}
     49    milestone = unescape(milestone)
    4850    if not group:
    4951        q['all_tickets'] = env.href.query(milestone=milestone)
    5052        q['active_tickets'] = env.href.query(milestone=milestone,

comment:2 by Christopher Lenz, 17 years ago

Status: newassigned

comment:3 by Christopher Lenz, 17 years ago

Resolution: fixed
Status: assignedclosed

Fixed in [2582] and [2583].

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain Christopher Lenz.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from Christopher Lenz to the specified user.

Add Comment

E-mail address and name can be saved in the Preferences .
Note: See TracTickets for help on using tickets.