| 1 | = FlexibleAssignTo = |
| 2 | |
| 3 | == Description == |
| 4 | |
| 5 | == What is it? == |
| 6 | FlexibleAssignTo finally gives long-suffering Trac admins a way to |
| 7 | easily customize the 'assign to' field on tickets. It provides several |
| 8 | base classes for you to override and implement your own methods for |
| 9 | providing lists of valid users -- you can even customize valid users for |
| 10 | each state in your workflow. |
| 11 | |
| 12 | Key features: |
| 13 | * adds new Extension point, IValidOwnerProvider, for plugging in your own components |
| 14 | |
| 15 | * provides !SimpleUser base class and helper methods (getlist, getbool) to streamline implementation of your IValidOwnerProvider component(s) |
| 16 | |
| 17 | * 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. |
| 18 | |
| 19 | * 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. |
| 20 | |
| 21 | * 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). |
| 22 | |
| 23 | * FlexibleAssignTo processing can be selectively disabled for individual workflow states |
| 24 | |
| 25 | * Example plugin implementation included (!SampleValidOwnerProvider.py) |
| 26 | |
| 27 | == Bugs/Feature Requests == |
| 28 | |
| 29 | Existing bugs and feature requests for FlexibleAssignToPlugin are |
| 30 | [report:9?COMPONENT=FlexibleAssignToPlugin here]. |
| 31 | |
| 32 | If you have any issues, create a |
| 33 | [http://trac-hacks.org/newticket?component=FlexibleAssignToPlugin&owner=gt4329b new ticket]. |
| 34 | |
| 35 | == Download == |
| 36 | |
| 37 | Download the zipped source from [download:flexibleassigntoplugin here]. |
| 38 | |
| 39 | == Source == |
| 40 | |
| 41 | You can check out FlexibleAssignToPlugin from [http://trac-hacks.org/svn/flexibleassigntoplugin here] using Subversion, or [source:flexibleassigntoplugin browse the source] with Trac. |
| 42 | |
| 43 | == Example == |
| 44 | |
| 45 | See the 'How to install section' above for details. For an example of how to implement IValidOwnerProvider, see the included sample plugin !SampleValidOwnerProvider.py. |
| 46 | |
| 47 | == Recent Changes == |
| 48 | |
| 49 | [[ChangeLog(flexibleassigntoplugin, 3)]] |
| 50 | |
| 51 | == Author/Contributors == |
| 52 | |
| 53 | '''Author:''' [wiki:gt4329b] [[BR]] |
| 54 | '''Contributors:''' |