Modify

Opened 8 years ago

Closed 7 years ago

#1280 closed defect (duplicate)

Bug in master tickets plugin when invalid ticket num is entered.

Reported by: dpeterson@… Owned by: coderanger
Priority: normal Component: MasterTicketsPlugin
Severity: normal Keywords:
Cc: Trac Release: 0.10

Description

I've run a query generating a list of tickets (so they all exist) and then click on one of the ticket links and get the following traceback:

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 387, in dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 239, in dispatch
    template, content_type = self._post_process_request(req,
  File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 269, in _post_process_request
    content_type)
  File "build/bdist.linux-x86_64/egg/mastertickets/web_ui.py", line 59, in post_process_request
  File "build/bdist.linux-x86_64/egg/mastertickets/util.py", line 19, in linkify_ids
  File "/usr/lib/python2.4/site-packages/trac/ticket/model.py", line 40, in __init__
    self._fetch_ticket(tkt_id, db)
  File "/usr/lib/python2.4/site-packages/trac/ticket/model.py", line 86, in _fetch_ticket
    raise TracError('Ticket %d does not exist.' % tkt_id,
TypeError: int argument required

Looks like a bug with the master ticket plugin.

Attachments (0)

Change History (2)

comment:1 Changed 8 years ago by dpeterson@…

Changing util.py's linkify_ids method to the following allows the tickets to display even if the blocking or blocked ticket id's aren't valid. Probably not ideal code, but it works. :-)

def linkify_ids(env, req, ids):
    l = []
    for i in ids:
        try:
            href = req.href.ticket(i)
            t = Ticket(env, i)
            status = t['status']
            l.append(unicode(html.A('#%s'%i, href=href, class_='%s ticket'%status)))
        except:
            l.append(unicode('#%s' % i))
    #l = [unicode(html.A('#%s'%i, href=req.href.ticket(i), class_='%s ticket'%Ticket(env, i)['status'])) for i in ids]

    return Markup(', '.join(l))

comment:2 Changed 7 years ago by coderanger

  • Resolution set to duplicate
  • Status changed from new to closed

Same problem and fix as #1326.

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.