From 6c58b63f51cb58fcf9bf532a49870ae6ad16c3ea Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Sat, 16 May 2020 12:31:05 +0530 Subject: [PATCH 1/2] fix: referrer length too long --- .../doctype/web_page_view/web_page_view.py | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/frappe/website/doctype/web_page_view/web_page_view.py b/frappe/website/doctype/web_page_view/web_page_view.py index 93cf1d7bb8..e95f0fede2 100644 --- a/frappe/website/doctype/web_page_view/web_page_view.py +++ b/frappe/website/doctype/web_page_view/web_page_view.py @@ -12,9 +12,15 @@ class WebPageView(Document): @frappe.whitelist(allow_guest=True) def make_view_log(path, referrer=None, browser=None, version=None, url=None, user_tz=None): + if not is_tracking_enabled(): + return + request_dict = frappe.request.__dict__ user_agent = request_dict.get('environ', {}).get('HTTP_USER_AGENT') + if referrer: + referrer = referrer.split('?')[0] + is_unique = True if referrer.startswith(url): is_unique = False @@ -22,16 +28,20 @@ def make_view_log(path, referrer=None, browser=None, version=None, url=None, use if path != "/" and path.startswith('/'): path = path[1:] - if is_tracking_enabled(): - view = frappe.new_doc("Web Page View") - view.path = path - view.referrer = referrer - view.browser = browser - view.browser_version = version - view.time_zone = user_tz - view.user_agent = user_agent - view.is_unique = is_unique + view = frappe.new_doc("Web Page View") + view.path = path + view.referrer = referrer + view.browser = browser + view.browser_version = version + view.time_zone = user_tz + view.user_agent = user_agent + view.is_unique = is_unique + + try: view.insert(ignore_permissions=True) + except: + if frappe.message_log: + frappe.message_log.pop() return From ff525deaf97dc3106223f0faecb5f26a0035192f Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Sat, 16 May 2020 12:43:10 +0530 Subject: [PATCH 2/2] style: sider fixes --- frappe/website/doctype/web_page_view/web_page_view.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/frappe/website/doctype/web_page_view/web_page_view.py b/frappe/website/doctype/web_page_view/web_page_view.py index e95f0fede2..d9794c6d99 100644 --- a/frappe/website/doctype/web_page_view/web_page_view.py +++ b/frappe/website/doctype/web_page_view/web_page_view.py @@ -39,12 +39,10 @@ def make_view_log(path, referrer=None, browser=None, version=None, url=None, use try: view.insert(ignore_permissions=True) - except: + except Exception: if frappe.message_log: frappe.message_log.pop() - return - @frappe.whitelist() def get_page_view_count(path): return frappe.db.count("Web Page View", filters={'path': path})