From fb7dfd87f77e65496036aef945cb86258989f698 Mon Sep 17 00:00:00 2001
From: Romain Courteaud <romain@nexedi.com>
Date: Mon, 10 Feb 2014 14:50:35 +0100
Subject: [PATCH] Support document creation inside module.

---
 .../ERP5Document_getHateoas.xml               | 36 ++++---------------
 master/bt5/slapos_jio/bt/revision             |  2 +-
 2 files changed, 7 insertions(+), 31 deletions(-)

diff --git a/master/bt5/slapos_jio/SkinTemplateItem/portal_skins/erp5_hal_json_style/ERP5Document_getHateoas.xml b/master/bt5/slapos_jio/SkinTemplateItem/portal_skins/erp5_hal_json_style/ERP5Document_getHateoas.xml
index f5be8fcf2..a9a0f5edb 100644
--- a/master/bt5/slapos_jio/SkinTemplateItem/portal_skins/erp5_hal_json_style/ERP5Document_getHateoas.xml
+++ b/master/bt5/slapos_jio/SkinTemplateItem/portal_skins/erp5_hal_json_style/ERP5Document_getHateoas.xml
@@ -727,36 +727,12 @@ elif mode == \'newContent\':\n
   if REQUEST.other[\'method\'] != "POST":\n
     response.setStatus(405)\n
     return ""\n
-#   # XXX SlapOS custom API\n
-#   portal_type = REQUEST.form["portal_type"]\n
-#   if portal_type == "Computer":\n
-#     person = portal.ERP5Site_getAuthenticatedMemberPersonValue()\n
-#     request_kw = dict(computer_title=REQUEST.form["title"])\n
-#     person.requestComputer(**request_kw)\n
-#     computer = context.restrictedTraverse(context.REQUEST.get(\'computer\'))\n
-#     return computer.Base_redirect(form_id=script.id)\n
-# \n
-#   elif portal_type == "Computer Network":\n
-#     # XXX Copy/Paste from WebSection_registerNewNetwork\n
-#     reference = "NET-%s" % portal.portal_ids.generateNewId(\n
-#       id_group=\'slap_network_reference\',\n
-#       id_generator=\'uid\')\n
-#     module = portal.getDefaultModule(portal_type=portal_type)\n
-#     network = module.newContent(\n
-#       portal_type=portal_type,\n
-#       title=REQUEST.form["title"],\n
-#       reference=reference,\n
-#       source_administration=context.ERP5Site_getAuthenticatedMemberPersonValue().getRelativeUrl()\n
-#     )\n
-#     network.validate()\n
-#     return network.Base_redirect(form_id=script.id)\n
-# \n
-#   else:\n
-#     raise NotImplementedError, "Can not add %s" % portal_type\n
-#   return ""\n
-\n
-  raise NotImplementedError, "Can not add %s" % portal_type\n
-\n
+  portal_type = REQUEST.form["portal_type"]\n
+  module = portal.getDefaultModule(portal_type=portal_type)\n
+  document = module.newContent(\n
+    portal_type=portal_type\n
+  )\n
+  return document.Base_redirect(form_id=script.id)\n
 \n
 elif mode == \'form\':\n
   #################################################\n
diff --git a/master/bt5/slapos_jio/bt/revision b/master/bt5/slapos_jio/bt/revision
index e440e5c84..bf0d87ab1 100644
--- a/master/bt5/slapos_jio/bt/revision
+++ b/master/bt5/slapos_jio/bt/revision
@@ -1 +1 @@
-3
\ No newline at end of file
+4
\ No newline at end of file
-- 
2.30.9