id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc,branch,changelog,apichanges,internalchanges 12140,Replace uses of ticket.values with Ticket item accessors,Ryan J Ollos,Ryan J Ollos,"The ticket class implements `__getitem__` and `__setitem__` to set and get from the `values` attribute, but many places in the code still work with the `values` attribute directly. For example, `ticket.values['reporter']` has been used since [1831] but it appears it can be replaced with `ticket['reporter']`. Directly setting to `values` could even be problematic due to the logic in `__setitem__`: [browser:/tags/trac-1.1.6/trac/ticket/model.py#L186]. I considered trying to make `values` a protected attribute, but it is used to serialize the ticket properties: * [browser:/tags/trac-1.1.6/trac/ticket/notification.py@:636#L633]. * [browser:/tags/trac-1.1.6/trac/ticket/notification.py@:678#L658].",enhancement,closed,normal,1.2,ticket system,,normal,fixed,refactoring,,,Refactored modules in `ticket` package to use item accessors rather than manipulating `ticket.values` directly.,The `Ticket` class implements `__contains__`.,