Edgewall Software

Opened 15 years ago

Last modified 7 years ago

#5856 new enhancement

Enterprise workflow enhancements for request info

Reported by: kirean@… Owned by:
Priority: normal Milestone: next-major-releases
Component: general Version: devel
Severity: minor Keywords: workflow
Cc: gt4329b@… Branch:
Release Notes:
API Changes:
Internal Changes:


I'm trying to use the enterprise workflow and I stumbled upon some obstacles.

For example: A new ticket is created and assigned to a user. The user finds he needs more information so he presses request info. The ticket gets state infoneeded_new and the only actions available is provide_info and leave.


  1. Make it possible to assign a user when requesting more information. If in the infoneeded_new state I would like it to be automatically assigned to the reporter
  2. It should alse be able to reassign a ticket in infoneeded_new state.
  1. Can be fixed by adding the following to the workflow:
    reassign_infoneeded_new = infoneeded_new -> infoneeded_new
    reassign_infoneeded_new.name = reassign
    reassign_infoneeded_new.operations = set_owner
    reassign_infoneeded_new.permissions = TICKET_MODIFY
  1. Looked easy but I found something unwanted in default_workflow.py. Apparently set_owner adds a "to" between the name and the assignee.

If I modify requestinfo_new to:

requestinfo_new = new -> infoneeded_new
requestinfo_new.name = request info from
requestinfo_new.operations = set_owner
requestinfo_new.permissions = TICKET_MODIFY

Then the output will be: request info from to

Isn't it better to remove the "to" from default_workflow.py and let the user configure the whole string in trac.ini instead?

Cheers / Erik

Attachments (0)

Change History (6)

comment:1 by kirean@…, 15 years ago

I did some changes locally:

Index: default_workflow.py
--- default_workflow.py (revision 5898)
+++ default_workflow.py (working copy)
@@ -214,18 +214,20 @@

             if owners == None:
                 owner = req.args.get(id, req.authname)
-                control.append(tag(['to ', tag.input(type='text', id=id,
+                control.append(tag([' ', tag.input(type='text', id=id,
                                                      name=id, value=owner)]))
                 hints.append(_("The owner will change"))
             elif len(owners) == 1:
-                control.append(tag('to %s' % owners[0]))
+                control.append(tag(' %s' % owners[0]))
                 hints.append(_("The owner will change to %s") % owners[0])
-                control.append(tag([_("to "), tag.select(
+                control.append(tag([_(" "), tag.select(
                     [tag.option(x, selected=(x == selected_owner or None))
                      for x in owners],
                     id=id, name=id)]))
                 hints.append(_("The owner will change"))
+        if 'set_owner_to_reporter' in operations:
+            hints.append(_("The owner will change to %s") % ticket['reporter'])
         if 'set_owner_to_self' in operations:
             hints.append(_("The owner will change to %s") % req.authname)
         if 'set_resolution' in operations:

And then I did change the workflow entries in trac.ini: *.name = reassign → *.name = reassign to

Cheers / Erik

comment:2 by Eli Carter, 15 years ago

Owner: changed from Jonas Borgström to Eli Carter

comment:3 by Morris, 15 years ago

Cc: gt4329b@… added

+1 to removing "to" from the source and putting it in the workflow .ini — I ran into this exact thing today.

comment:4 by Christian Boos, 15 years ago

Keywords: workflow added
Milestone: 0.12
Severity: normalminor

comment:5 by Eli Carter, 14 years ago

Relevant to this ticket: wiki:AdvancedTicketWorkflowPlugin now provides set_owner_to_reporter and set_owner_to_previous operations.

comment:6 by Ryan J Ollos, 7 years ago

Owner: Eli Carter removed

Modify Ticket

Change Properties
Set your email in Preferences
as new The ticket will remain with no owner.
The ticket will be disowned.
as The resolution will be set. Next status will be 'closed'.
The owner will be changed from (none) to anonymous. Next status will be 'assigned'.

Add Comment

E-mail address and name can be saved in the Preferences .
Note: See TracTickets for help on using tickets.