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..d9794c6d99 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,18 +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.insert(ignore_permissions=True) + 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 - return + try: + view.insert(ignore_permissions=True) + except Exception: + if frappe.message_log: + frappe.message_log.pop() @frappe.whitelist() def get_page_view_count(path):