Modify

Opened 2 years ago

Last modified 2 years ago

#14104 accepted defect

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

Reported by: mw@… Owned by: Ryan J Ollos
Priority: normal Component: AdvancedTicketWorkflowPlugin
Severity: normal Keywords:
Cc: Trac Release: 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:
The desired action is missing the set_owner content
This is the expected action:
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
    split.triage_split = defect -> new_defect, enhancement -> new_enhancement, task -> new_task
    

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.

Attachments (2)

missing_action.png (6.2 KB) - added by Manuel Weinzierl <mw@…> 2 years ago.
The desired action is missing the set_owner content
expected_action.png (14.3 KB) - added by Manuel Weinzierl <mw@…> 2 years ago.
This is the expected action

Download all attachments as: .zip

Change History (4)

Changed 2 years ago by Manuel Weinzierl <mw@…>

Attachment: missing_action.png added

The desired action is missing the set_owner content

Changed 2 years ago by Manuel Weinzierl <mw@…>

Attachment: expected_action.png added

This is the expected action

comment:1 Changed 2 years ago by Ryan J Ollos

Owner: set to Ryan J Ollos
Status: newaccepted

comment:2 Changed 2 years ago by Ryan J Ollos

I haven't forgotten about this one ;)

Modify Ticket

Change Properties
Set your email in Preferences
Action
as accepted The owner will remain Ryan J Ollos.

Add Comment


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

 
Note: See TracTickets for help on using tickets.