diff --git a/bt5/erp5_free_subscription/SkinTemplateItem/portal_skins/erp5_free_subscription/FreeSubscriptionRequest_accept.xml b/bt5/erp5_free_subscription/SkinTemplateItem/portal_skins/erp5_free_subscription/FreeSubscriptionRequest_accept.xml index 44946a17c08f635bb49892895cfa9b8204cd3169..9e8e4fc2c78adb28ebeec518af13413f846c6db3 100644 --- a/bt5/erp5_free_subscription/SkinTemplateItem/portal_skins/erp5_free_subscription/FreeSubscriptionRequest_accept.xml +++ b/bt5/erp5_free_subscription/SkinTemplateItem/portal_skins/erp5_free_subscription/FreeSubscriptionRequest_accept.xml @@ -61,18 +61,26 @@ if context.getDestination():\n elif context.getDefaultEmailCoordinateText():\n email = context.getDefaultEmailCoordinateText()\n portal = context.getPortalObject()\n - person_list = portal.portal_catalog.getResultValue(\n + person = portal.portal_catalog.getResultValue(\n portal_type="Person",\n reference=email,\n )\n - if person_list:\n + if person:\n context.reject(comment="Person already in the user data base")\n else:\n - person = portal.person_module.newContent(\n + person = portal.portal_catalog.getResultValue(\n portal_type="Person",\n default_email_text=email,\n - title=email,\n - )\n + )\n + if not person:\n + person = portal.person_module.newContent(\n + portal_type="Person",\n + default_email_text=email,\n + title=email,\n + )\n + elif person.getReference():\n + context.reject(comment="Person already in the user data base")\n + return\n context.setDestination(person.getRelativeUrl())\n context.accept()\n </string> </value>