Modify

Opened 2 years ago

Closed 2 years ago

#10493 closed defect (fixed)

actions without operations cause errors in text mode

Reported by: gary.martin@… Owned by: jun66j5
Priority: normal Component: TracWorkflowAdminPlugin
Severity: normal Keywords:
Cc: Trac Release: 0.12

Description

I was testing with the text mode and the opensource workflow from trac's contrib workflows and I noticed errors of the form

2012-10-17 17:38:35,718 Trac[main] ERROR: Internal Server Error: 
Traceback (most recent call last):
  File "/path/to/trac/web/main.py", line 497, in _dispatch_request
    dispatcher.dispatch(req)
  File "/path/to/trac/web/main.py", line 214, in dispatch
    resp = chosen_handler.process_request(req)
  File "/path/to/trac/admin/web_ui.py", line 125, in process_request
    path_info)
  File "/path/to/tracworkflowadmin/web_ui.py", line 106, in render_admin_panel
    self._parse_request(req)
  File "/path/to/tracworkflowadmin/web_ui.py", line 657, in _parse_request
    self._update_diagram(req, params) # not return
  File "/path/to/tracworkflowadmin/web_ui.py", line 404, in _update_diagram
    _, errors = self._validate_workflow(req, params)
  File "/path/to/tracworkflowadmin/web_ui.py", line 514, in _validate_workflow
    if 'leave_status' in act['operations'] and act['next'] == '*':
KeyError: 'operations'

It would appear that trac is happy for some actions to lack an operation and so I suggest something equivalent to the following:

  • tracworkflowadmin/web_ui.py

     
    511511        if len(errors) == 0:
    512512            leave_status_exists = False
    513513            for act in params['actions']:
    514                 if 'leave_status' in act['operations'] and act['next'] == '*':
     514                if 'leave_status' in act.get('operations',[]) \
     515                        and act['next'] == '*':
    515516                    leave_status_exists = True
    516517                    break
    517518            if not leave_status_exists:

Attachments (0)

Change History (1)

comment:1 Changed 2 years ago by jun66j5

  • Resolution set to fixed
  • Status changed from new to closed

(In [12193]) tracworkflowadmin: fixed errors caused by actions without .operations in text mode (fixed #10493)

Report and initial patch by Gary Martin. Thanks.

Add Comment

Modify Ticket

Action
as closed The owner will remain jun66j5.
The resolution will be deleted. Next status will be 'reopened'.
Author


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

 
Note: See TracTickets for help on using tickets.