Version 1 (modified by Morris, 11 years ago) (diff)

New hack FlexibleAssignToPlugin, created by gt4329b



What is it?

FlexibleAssignTo finally gives long-suffering Trac admins a way to easily customize the 'assign to' field on tickets. It provides several base classes for you to override and implement your own methods for providing lists of valid users -- you can even customize valid users for each state in your workflow.

Key features:

  • adds new Extension point, IValidOwnerProvider, for plugging in your own components
  • provides SimpleUser base class and helper methods (getlist, getbool) to streamline implementation of your IValidOwnerProvider component(s)
  • data-source agnostic -- FlexibleAssignTo abstracts the nastiness of building a customized 'assign to' select box. All your custom code has to do is decide what users are valid for a particular state and then return them.
  • optional 'ensure_user_data' capability so that users who appear as valid 'assign to' targets get their key data (username, fullname, email) stored in the Trac session_attribute table. The motivation for this was so notification emails could be sent to these users even if they've never logged in and set their preferences.
  • optional get_known_users() replacement that changes Trac's 'known users' concept such that users' name & email data is retrieved from the session_attribute table (designed to work in concert with the 'ensure_user_data' capability).
  • FlexibleAssignTo processing can be selectively disabled for individual workflow states
  • Example plugin implementation included (

Bugs/Feature Requests

Existing bugs and feature requests for FlexibleAssignToPlugin are here.

If you have any issues, create a new ticket.


Download the zipped source from [download:flexibleassigntoplugin here].


You can check out FlexibleAssignToPlugin from here using Subversion, or browse the source with Trac.


See the 'How to install section' above for details. For an example of how to implement IValidOwnerProvider, see the included sample plugin

Recent Changes

16706 by rjollos on 2017-07-12 15:53:02
FlexibleAssignTo 0.8.13: Fix export of interface and cleanup

Refs #13233.

16704 by rjollos on 2017-07-11 11:17:06
FlexibleAssignTo 0.8.13: Conform to PEP8

Refs #13233.

16703 by rjollos on 2017-07-11 11:06:16
FlexibleAssignTo 0.8.13: Default to leaving ticket owner unchanged

Patch by ash.

Fixes #13234.



Author: gt4329b