Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
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
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Laurent S
erp5
Commits
724155ba
Commit
724155ba
authored
May 05, 2015
by
wenjie.zheng
Committed by
Sebastien Robin
Jul 16, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Interaction.py: remove unused functions.
parent
35bc8338
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1 addition
and
123 deletions
+1
-123
product/ERP5Workflow/Document/Interaction.py
product/ERP5Workflow/Document/Interaction.py
+1
-123
No files found.
product/ERP5Workflow/Document/Interaction.py
View file @
724155ba
...
...
@@ -41,6 +41,7 @@ from Products.DCWorkflow.Expression import StateChangeInfo
from
Products.ERP5Type.id_as_reference
import
IdAsReferenceMixin
class
Interaction
(
IdAsReferenceMixin
(
'interaction_'
,
"prefix"
),
XMLObject
):
"""
An ERP5 Interaction.
"""
...
...
@@ -84,12 +85,6 @@ class Interaction(IdAsReferenceMixin('interaction_', "prefix"), XMLObject):
PropertySheet
.
Interaction
,
)
def
_getObjectByRef
(
self
,
ref
):
for
ob
in
self
:
if
wf
.
getRef
()
==
ref
:
return
ob
return
None
def
getGuardSummary
(
self
):
res
=
None
if
self
.
guard
is
not
None
:
...
...
@@ -128,123 +123,6 @@ class Interaction(IdAsReferenceMixin('interaction_', "prefix"), XMLObject):
elif
self
.
guard
.
expr
!=
self
.
getExpression
():
self
.
guard
.
expr
=
self
.
getExpression
()
def
execute
(
self
,
ob
,
form_kw
=
None
):
LOG
(
' Calling interaction %s'
%
self
.
getId
(),
WARNING
,
' in Interaction.py'
)
### getRef
### zwj: What will be done this part
### this part shoud be called in Base.py as transition be called.
# 1: execute before script;
# 2: execute after script;
# 3: Queue before commit script;
# 4: execute activity script.
# Initialize variables
former_status
=
{}
econtext
=
None
sci
=
None
# Figure out the old and new states.
if
form_kw
is
None
:
form_kw
=
{}
workflow
=
self
.
getParent
()
assert
self
.
trigger_type
==
TRIGGER_WORKFLOW_METHOD
#status = workflow.getCurrentStatusDict(ob)
sci
=
StateChangeInfo
(
ob
,
workflow
,
former_status
,
self
,
None
,
None
,
kwargs
=
form_kw
)
# Execute before script
before_script_list
=
[]
before_script_list
.
append
(
self
.
getBeforeScriptName
())
if
before_script_list
!=
[]
and
self
.
getBeforeScriptName
()
is
not
None
:
for
script_name
in
before_script_list
:
script
=
workflow
.
_getOb
(
script_name
)
### _getObjectByRef
# Pass lots of info to the script in a single parameter.
script
.
execute
(
sci
)
# Update variables.
tdef_exprs
=
self
.
var_exprs
if
tdef_exprs
is
None
:
tdef_exprs
=
{}
for
vdef
in
workflow
.
objectValues
(
portal_type
=
'Variable'
):
id
=
vdef
.
getId
()
### getRef
if
not
vdef
.
for_status
:
continue
expr
=
None
if
id
in
tdef_exprs
:
expr
=
tdef_exprs
[
id
]
elif
not
vdef
.
update_always
and
id
in
former_status
:
# Preserve former value
value
=
former_status
[
id
]
else
:
if
vdef
.
default_expr
is
not
None
:
expr
=
vdef
.
default_expr
else
:
value
=
vdef
.
default_value
if
expr
is
not
None
:
# Evaluate an expression.
if
econtext
is
None
:
# Lazily create the expression context.
if
sci
is
None
:
sci
=
StateChangeInfo
(
ob
,
workflow
,
former_status
,
self
,
None
,
None
,
None
)
econtext
=
Expression_createExprContext
(
sci
)
value
=
expr
(
econtext
)
#status[id] = value
# Execute the "after" script.
after_script_list
=
[]
after_script_list
.
append
(
self
.
getAfterScriptName
())
if
after_script_list
!=
[]
and
self
.
getAfterScriptName
()
is
not
None
:
for
script_name
in
after_script_list
:
script
=
workflow
.
_getOb
(
script_name
)
### getObjectByRef
LOG
(
'Accessing afterscript: %s'
%
script_name
,
WARNING
,
'in Interaction.py'
)
# Pass lots of info to the script in a single parameter.
script
.
execute
(
sci
)
# May throw an exception
# Queue the "Before Commit" scripts
sm
=
getSecurityManager
()
before_commit_script_list
=
[]
before_commit_script_list
.
append
(
self
.
getBeforeCommitScriptName
())
if
before_commit_script_list
!=
[]
and
self
.
getBeforeCommitScriptName
()
is
not
None
:
for
script_name
in
before_commit_script_list
:
transaction
.
get
().
addBeforeCommitHook
(
self
.
_before_commit
,
(
sci
,
script_name
,
sm
))
# Execute "activity" scripts
activity_script_list
=
[]
activity_script_list
.
append
(
self
.
getActivateScriptName
())
if
activity_script_list
!=
[]
and
self
.
getActivateScriptName
()
is
not
None
:
for
script_name
in
activity_script_list
:
workflow
.
activate
(
activity
=
'SQLQueue'
)
\
.
activeScript
(
script_name
,
ob
.
getRelativeUrl
(),
former_status
,
self
.
getId
())
### getRef
def
_before_commit
(
self
,
sci
,
script_name
,
security_manager
):
# check the object still exists before calling the script
ob
=
sci
.
object
workflow
=
self
.
getParent
()
while
ob
.
isTempObject
():
ob
=
ob
.
getParentValue
()
if
aq_base
(
self
.
unrestrictedTraverse
(
ob
.
getPhysicalPath
(),
None
))
is
\
aq_base
(
ob
):
current_security_manager
=
getSecurityManager
()
try
:
# Who knows what happened to the authentication context
# between here and when the interaction was executed... So we
# need to switch to the security manager as it was back then
setSecurityManager
(
security_manager
)
workflow
.
_getOb
(
script_name
)(
sci
)
### _getObjectByRef
finally
:
setSecurityManager
(
current_security_manager
)
def
activeScript
(
self
,
script_name
,
ob_url
,
former_status
):
workflow
=
self
.
getParent
()
script
=
workflow
.
_getOb
(
script_name
)
### _getObjectByRef
ob
=
self
.
unrestrictedTraverse
(
ob_url
)
sci
=
StateChangeInfo
(
ob
,
worfklow
,
former_status
,
self
,
None
,
None
,
kwargs
=
kw
)
script
.
execute
(
sci
)
def
getMethodId
(
self
):
if
type
(
self
.
method_id
)
is
type
(
''
):
self
.
method_id
=
self
.
method_id
.
split
()
...
...
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