Commit ff15467e authored by Yusei Tahara's avatar Yusei Tahara

sorry, my previous changes has a problem. I revert my changes.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@15545 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 110e3024
......@@ -107,6 +107,19 @@ except FormValidationError, validation_errors:\n
value(request)\n
return form(request)\n
\n
def editListBox(listbox_field, listbox):\n
""" Function called to edit a listbox\n
"""\n
if listbox is not None:\n
gv = {}\n
if listbox_field.has_value(\'global_attributes\'):\n
hidden_attributes = map(lambda x:x[0], listbox_field.get_value(\'global_attributes\'))\n
for k in hidden_attributes:\n
gv[k] = getattr(request, k, None)\n
for url, v in listbox.items():\n
v.update(gv)\n
context.restrictedTraverse(url).edit(**v)\n
\n
def editMatrixBox(matrixbox_field, matrixbox):\n
""" Function called to edit a Matrix box\n
"""\n
......@@ -212,7 +225,9 @@ try:\n
# then we edit them\n
for field in form.get_fields():\n
parseField(field)\n
if(field.meta_type == \'MatrixBox\'):\n
if(field.meta_type == \'ListBox\'):\n
editListBox(field, request.get(field.id))\n
elif(field.meta_type == \'MatrixBox\'):\n
editMatrixBox(field, request.get(field.id))\n
\n
# Maybe we should build a list of objects we need\n
......@@ -315,6 +330,7 @@ return request[\'RESPONSE\'].redirect(redirect_url)\n
<string>field_id</string>
<string>value</string>
<string>callable</string>
<string>editListBox</string>
<string>editMatrixBox</string>
<string>MARKER</string>
<string>kw</string>
......
......@@ -2997,42 +2997,10 @@ class ListBoxValidator(Validator.Validator):
LOG("ListBox FormValidationError",0,str(error_result))
LOG("ListBox FormValidationError",0,str(errors))
raise FormValidationError(errors, error_result)
return ListBoxEditor(field, result)
return result
ListBoxValidatorInstance = ListBoxValidator()
class ListBoxEditor:
"""
A class holding all values required to update objects
"""
def __init__(self, field, update_dict):
self.field = field
self.update_dict = update_dict
def view(self):
return self.__dict__
def __call__(self, REQUEST):
pass
def edit(self, context):
if self.update_dict is not None:
gv = {}
if self.field.has_value('global_attributes'):
hidden_attributes = map(lambda x:x[0], self.field.get_value('global_attributes'))
for k in hidden_attributes:
gv[k] = getattr(request, k, None)
for url, v in self.update_dict.items():
v.update(gv)
## XXX security check is needed.
## XXX we need to make restricted version of edit method.
self.field.restrictedTraverse(url).edit(**v)
allow_class(ListBoxEditor)
class ListBox(ZMIField):
meta_type = "ListBox"
......
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