Opened 11 months ago

set_owner not working, when combined with triage since Trac 1.0.18, 1.2.6 and 1.4.1

Reported by: Owned by: mw@… Ryan J Ollos normal AdvancedTicketWorkflowPlugin normal 1.4

Description

When using latest stable Trac 1.4.3 with AdvancedTicketWorkflowPlugin, some combined workflow operations (i.e. set_owner,triage will not work).

The desired action is missing the set_owner content:

This is the expected action:

Setup to reproduce is basically the follwing:

• run Trac 1.4.3 with source:/advancedticketworkflowplugin@18458
• add multiple users with TICKET_MODIFY permissions (or higher)
• use the following configuration options in trac.ini:
[ticket]
restrict_owner = enabled
workflow = ConfigurableTicketWorkflow,TicketWorkflowOpTriage

• add the following action to the default Trac workflow in trac.ini:
[ticket-workflow]
split = new -> *
split.operations = set_owner,triage
split.label = queue and reassign
split.triage_field = type


I'm running Trac 1.0.5 with AdvancedTicketWorkflowPlugin (and other plugins) and I want to update several installations to any current stable Trac release. But after checking the code, it seems, that all current Trac releases (since 1.0.18/19, 1.2.6, 1.4.1) are running into this issue, as two specific Trac improvements (Trac r16954 and Trac r17141) have been integrated in all stable Trac branches. By debugging the issue, I can describe the problem the following way:

1. Both workflow controllers (ConfigurableTicketWorkflow and TicketWorkflowOpTriage) are used as expectd.
2. set_owner action will deactivate action display, as next_status is '*' (due to triage usage) in render_ticket_action_control().
3. Diplaying label, widget, hint will be skipped in _get_action_controls().
4. triage action works as expected.

I'm not a Python programmer (but I can read the code) and don't know much on the Trac/Plugins architecture. From my point of view, the problem could be solved in Trac itself, or maybe in this plugin, when the target status placeholder * could be replaced by something else, when using the triage operation.

If anybody could give a hint on a possible solution or workaround, would be great. If it is helpful to better create the ticket in the Trac system (because maybe the problem can not e solved in the plugin), I can provide this, too.

Changed 11 months ago by Manuel Weinzierl <mw@…>

The desired action is missing the set_owner content

Changed 11 months ago by Manuel Weinzierl <mw@…>

This is the expected action

comment:1 Changed 8 months ago by Ryan J Ollos

Owner: set to Ryan J Ollos new → accepted