Commit fb579158 authored by Sebastien Robin's avatar Sebastien Robin

disabled my last change, we check if selection has changed directly on base_view_dialog


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@760 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent d594086e
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
##bind namespace= ##bind namespace=
##bind script=script ##bind script=script
##bind subpath=traverse_subpath ##bind subpath=traverse_subpath
##parameters=form_id,dialog_id,selection_name,md5_object_uid_list=None ##parameters=form_id,dialog_id,selection_name
##title= ##title=
## ##
from Products.Formulator.Errors import ValidationError, FormValidationError from Products.Formulator.Errors import ValidationError, FormValidationError
...@@ -24,39 +24,33 @@ try: ...@@ -24,39 +24,33 @@ try:
if v is not None: if v is not None:
kw[k] = v kw[k] = v
selection_list = context.portal_selections.callSelectionFor(selection_name, context=context) selection_list = context.portal_selections.callSelectionFor(selection_name, context=context)
# Check if the selection did not changed for selection_item in selection_list:
if md5_object_uid_list is not None: o = selection_item.getObject()
object_uid_list = map(lambda x:x.getObject().getUid(),selection_list) workflow_action = kw['workflow_action']
error = context.portal_selections.selectionHasChanged(md5_object_uid_list,object_uid_list) action_list = o.portal_workflow.getActionsFor(o)
if error: action_list = filter(lambda x:x.has_key('id'), action_list )
error_message = 'Sorry+your+selection+has+changed' action_id_list = map(lambda x:x['id'], action_list)
if error_message == '': # If the user is not allowed to do this transition, it will not be in action_list
for selection_item in selection_list: if workflow_action in action_id_list:
o = selection_item.getObject() o.portal_workflow.doActionFor(
workflow_action = kw['workflow_action'] o,
action_list = o.portal_workflow.getActionsFor(o) workflow_action,
action_list = filter(lambda x:x.has_key('id'), action_list ) wf_id=kw['workflow_id'],
action_id_list = map(lambda x:x['id'], action_list) **kw)
# If the user is not allowed to do this transition, it will not be in action_list
if workflow_action in action_id_list: # We will check if there's an error_message
o.portal_workflow.doActionFor( history_data = None
o, try:
workflow_action, history_data = o.portal_workflow.getInfoFor(ob=o, name='history')
wf_id=kw['workflow_id'], except:
**kw) pass
redirect_url = None
if history_data is not None:
last_history_data = history_data[len(history_data)-1]
this_error = last_history_data.get('error_message')
if this_error != None and this_error != '':
error_message += this_error + "-"
# We will check if there's an error_message
history_data = None
try:
history_data = o.portal_workflow.getInfoFor(ob=o, name='history')
except:
pass
redirect_url = None
if history_data is not None:
last_history_data = history_data[len(history_data)-1]
this_error = last_history_data.get('error_message')
if this_error != None and this_error != '':
error_message += this_error + "-"
except FormValidationError, validation_errors: except FormValidationError, validation_errors:
# Pack errors into the request # Pack errors into the request
field_errors = form.ErrorFields(validation_errors) field_errors = form.ErrorFields(validation_errors)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment