Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
erp5_workflow
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wenjie.zheng
erp5_workflow
Commits
bfa70657
Commit
bfa70657
authored
Oct 12, 2015
by
wenjie.zheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
WorkflowTool.py: speedup conversion by replacing accessors with variables.
parent
02ec7e00
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
16 deletions
+23
-16
product/ERP5/Tool/WorkflowTool.py
product/ERP5/Tool/WorkflowTool.py
+23
-16
No files found.
product/ERP5/Tool/WorkflowTool.py
View file @
bfa70657
...
...
@@ -286,8 +286,10 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool):
for
def_var
in
workflow
.
objectValues
(
portal_type
=
'Variable'
):
workflow
.
_delObject
(
def_var
.
getId
())
workflow
.
_delObject
(
'state_draft'
)
for
tid
in
dc_workflow
.
transitions
:
tdef
=
dc_workflow
.
transitions
.
get
(
tid
)
dc_workflow_transition_value_list
=
dc_workflow
.
transitions
dc_workflow_transition_id_list
=
dc_workflow_transition_value_list
.
objectIds
()
for
tid
in
dc_workflow_transition_value_list
:
tdef
=
dc_workflow_transition_value_list
.
get
(
tid
)
transition
=
workflow
.
newContent
(
portal_type
=
'Transition'
,
temp_object
=
temp
)
if
tdef
.
title
==
''
or
tdef
.
title
is
None
:
tdef
.
title
=
UpperCase
(
tdef
.
id
)
...
...
@@ -301,7 +303,7 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool):
transition
.
setDescription
(
tdef
.
description
)
if
tdef
.
after_script_name
is
not
None
:
# check after script is a Transion or a Script:
if
tdef
.
after_script_name
in
dc_workflow
.
transitions
.
objectIds
()
:
if
tdef
.
after_script_name
in
dc_workflow
_transition_id_list
:
transition
.
setAfterScriptId
(
'transition_'
+
tdef
.
after_script_name
)
elif
tdef
.
after_script_name
in
dc_workflow
.
scripts
.
objectIds
():
# add a prefix if there is a script & method conflict
...
...
@@ -311,7 +313,7 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool):
transition
.
setAfterScriptId
(
tdef
.
after_script_name
)
if
tdef
.
script_name
is
not
None
:
# check before script is a Transion or a Script:
if
tdef
.
script_name
in
dc_workflow
.
transitions
.
objectIds
()
:
if
tdef
.
script_name
in
dc_workflow
_transition_id_list
:
transition
.
setBeforeScriptId
(
'transition_'
+
tdef
.
script_name
)
elif
tdef
.
script_name
in
dc_workflow
.
scripts
.
objectIds
():
if
hasattr
(
workflow
,
tdef
.
script_name
):
...
...
@@ -362,9 +364,9 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool):
for
transition_id
in
dc_workflow
.
states
.
get
(
sid
).
transitions
:
sdef
.
addPossibleTransition
(
transition_id
)
# set transition's destination state:
for
tid
in
dc_workflow
.
transitions
:
for
tid
in
dc_workflow
_transition_value_list
:
tdef
=
workflow
.
_getOb
(
'transition_'
+
tid
)
state
=
getattr
(
workflow
,
'state_'
+
dc_workflow
.
transitions
.
get
(
tid
).
new_state_id
,
None
)
state
=
getattr
(
workflow
,
'state_'
+
dc_workflow
_transition_value_list
.
get
(
tid
).
new_state_id
,
None
)
if
state
is
None
:
# it's a remain in state transition.
continue
...
...
@@ -417,9 +419,10 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool):
if
qdef
.
guard
.
expr
is
not
None
:
worklist
.
setExpression
(
qdef
.
guard
.
expr
.
text
)
elif
workflow_type_id
==
'InteractionWorkflowDefinition'
:
for
tid
in
dc_workflow
.
interactions
:
dc_workflow_interaction_value_list
=
dc_workflow
.
interactions
for
tid
in
dc_workflow_interaction_value_list
:
interaction
=
workflow
.
newContent
(
portal_type
=
'Interaction'
,
temp_object
=
temp
)
tdef
=
dc_workflow
.
interactions
.
get
(
tid
)
tdef
=
dc_workflow
_interaction_value_list
.
get
(
tid
)
if
tdef
.
title
==
''
or
tdef
.
title
is
None
:
tdef
.
title
=
UpperCase
(
tdef
.
id
)
interaction
.
setTitle
(
tdef
.
title
)
...
...
@@ -470,8 +473,9 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool):
interaction
.
setTriggerType
(
tdef
.
trigger_type
)
interaction
.
setDescription
(
tdef
.
description
)
# create scripts (portal_type = Workflow Script)
for
script_id
in
dc_workflow
.
scripts
:
script
=
dc_workflow
.
scripts
.
get
(
script_id
)
dc_workflow_script_list
=
dc_workflow
.
scripts
for
script_id
in
dc_workflow_script_list
:
script
=
dc_workflow_script_list
.
get
(
script_id
)
# add a prefix if there is a script & method conflict
if
hasattr
(
workflow
,
script_id
):
workflow_script
=
workflow
.
newContent
(
id
=
'ScriptPrefix_'
+
script_id
,
portal_type
=
'Workflow Script'
,
temp_object
=
temp
)
...
...
@@ -484,8 +488,9 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool):
workflow_script
.
setBody
(
script
.
_body
)
workflow_script
.
setProxyRole
(
script
.
_proxy_roles
)
# create variables (portal_type = Variable)
for
vid
in
dc_workflow
.
variables
:
vdef
=
dc_workflow
.
variables
.
get
(
vid
)
dc_workflow_variable_list
=
dc_workflow
.
variables
for
vid
in
dc_workflow_variable_list
:
vdef
=
dc_workflow_variable_list
.
get
(
vid
)
variable
=
workflow
.
newContent
(
portal_type
=
'Variable'
,
temp_object
=
temp
)
variable
.
setTitle
(
vdef
.
title
)
variable
.
setReference
(
vdef
.
id
)
...
...
@@ -503,8 +508,9 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool):
variable
.
setDescription
(
vdef
.
description
)
# configure transition variable
if
getattr
(
dc_workflow
,
'transitions'
,
None
)
is
not
None
:
for
tid
in
dc_workflow
.
transitions
:
origin_tdef
=
dc_workflow
.
transitions
[
tid
]
dc_workflow_transition_value_list
=
dc_workflow
.
transitions
for
tid
in
dc_workflow_transition_value_list
:
origin_tdef
=
dc_workflow_transition_value_list
[
tid
]
transition
=
workflow
.
_getOb
(
'transition_'
+
tid
)
new_category
=
[]
if
origin_tdef
.
var_exprs
is
None
:
...
...
@@ -518,8 +524,9 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool):
new_category
.
append
(
tr_var_path
)
tr_var
.
setCausalityList
(
new_category
)
if
getattr
(
dc_workflow
,
'interactions'
,
None
)
is
not
None
:
for
tid
in
dc_workflow
.
interactions
:
origin_tdef
=
dc_workflow
.
interactions
[
tid
]
dc_workflow_interaction_value_list
=
dc_workflow
.
interactions
for
tid
in
dc_workflow_interaction_value_list
:
origin_tdef
=
dc_workflow_interaction_value_list
[
tid
]
interaction
=
workflow
.
_getOb
(
'interaction_'
+
tid
)
new_category
=
[]
if
origin_tdef
.
var_exprs
is
None
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment