From b671b92234154683aad71b255813475e752ad301 Mon Sep 17 00:00:00 2001 From: Alexandre Boeglin <alex@nexedi.com> Date: Mon, 11 Jul 2005 15:20:32 +0000 Subject: [PATCH] It is now possible to activate filtering on a portal by setting its 'require_referer' property to 1. By default, referer is not checked. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@3444 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5Type/ZopePatch.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/product/ERP5Type/ZopePatch.py b/product/ERP5Type/ZopePatch.py index f5bd5a5c37..5c73a8dd21 100755 --- a/product/ERP5Type/ZopePatch.py +++ b/product/ERP5Type/ZopePatch.py @@ -1879,14 +1879,17 @@ def erp5_new_traverse(request, path, response=None, validated_hook=None): context = getattr(object, 'im_self', None) if context is not None: try: - portal_url = context.getPortalObject().absolute_url() - except: - portal_url = object.getPortalObject().absolute_url() + portal_object = context.getPortalObject() + except AttributeError: + portal_object = object.getPortalObject() else : - portal_url = object.getPortalObject().absolute_url() - except: + portal_object = object.getPortalObject() + except AttributeError: pass else: + if not getattr(portal_object, 'require_referer', 0): + return object + portal_url = portal_object.absolute_url() if http_referer != '': # if HTTP_REFERER is set, user can acces the object if referer is ok if http_referer.startswith(portal_url): -- 2.30.9