Commit 19688c50 authored by Cédric Le Ninivin's avatar Cédric Le Ninivin Committed by Cédric Le Ninivin

erp5_api_style: asJIOStyle can handle get and put without the id property

parent be9a7d57
...@@ -73,16 +73,21 @@ if not isinstance(data, dict): ...@@ -73,16 +73,21 @@ if not isinstance(data, dict):
# If get or put, valid Id is expected # If get or put, valid Id is expected
if mode in ("get", "put"): if mode in ("get", "put"):
if not document_id: if not document_id:
try: if "id" in data:
document_id = data["id"] try:
except KeyError: document_id = data["id"]
return logError("Cannot find id property", error_name="API-JSON-NO-ID-PROPERTY") except KeyError:
except TypeError: return logError("Cannot find id property", error_name="API-JSON-NO-ID-PROPERTY")
return logError("Did not received a JSON Object", error_name="API-JSON-NOT-JSON-OBJECT") except TypeError:
try: return logError("Did not received a JSON Object", error_name="API-JSON-NOT-JSON-OBJECT")
document = portal.restrictedTraverse(str(document_id)) try:
except KeyError: document = portal.restrictedTraverse(str(document_id))
return logError("Document has not been found", error_name="API-DOCUMENT-NOT-FOUND", error_code=404) except KeyError:
return logError("Document has not been found", error_name="API-DOCUMENT-NOT-FOUND", error_code=404)
else:
document = context.jIOWebSection_getObjectFromData(data)
if document is None:
return logError("The data you provided did not allow to find the corresponding document", error_name="API-JSON-DOCUMENT-NOT-FOUND")
else: else:
document = context document = context
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>data_dict</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>jIOWebSection_getObjectFromData</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
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