Edgewall Software

Ticket #5856 (new enhancement)

Opened 13 months ago

Last modified 4 months ago

Enterprise workflow enhancements for request info

Reported by: kirean@… Owned by: ecarter
Priority: normal Milestone: 0.13
Component: general Version: devel
Severity: minor Keywords: workflow
Cc: gt4329b@…

Description

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.

Suggestion:

  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.

2. 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

Change History

Changed 13 months ago by kirean@…

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])
             else:
-                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

Changed 13 months ago by ecarter

  • owner changed from jonas to ecarter

Changed 13 months ago by Morris

  • cc gt4329b@… added

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

Changed 9 months ago by cboos

  • keywords workflow added
  • severity changed from normal to minor
  • milestone set to 0.12

Changed 4 months ago by ecarter

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

Add/Change #5856 (Enterprise workflow enhancements for request info)

Author



Change Properties
<Author field>
Action
as new
as The resolution will be set. Next status will be 'closed'
to The owner will change. Next status will be 'new'
The owner will change to anonymous. Next status will be 'assigned'
 
Note: See TracTickets for help on using tickets.