feat: added Page View doctype

This commit is contained in:
Shivam Mishra 2020-04-16 00:01:27 +05:30
parent 80f27f6081
commit bc042b37b7
6 changed files with 137 additions and 0 deletions

View file

@ -0,0 +1,8 @@
// Copyright (c) 2020, Frappe Technologies and contributors
// For license information, please see license.txt
frappe.ui.form.on('Page View', {
// refresh: function(frm) {
// }
});

View file

@ -0,0 +1,75 @@
{
"actions": [],
"creation": "2020-04-15 22:54:46.009703",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"path",
"referrer",
"browser",
"browser_version",
"date"
],
"fields": [
{
"fieldname": "path",
"fieldtype": "Data",
"label": "Path",
"set_only_once": 1
},
{
"fieldname": "referrer",
"fieldtype": "Data",
"label": "Referrer",
"search_index": 1,
"set_only_once": 1
},
{
"fieldname": "browser",
"fieldtype": "Data",
"label": "Browser",
"search_index": 1,
"set_only_once": 1
},
{
"fieldname": "browser_version",
"fieldtype": "Data",
"label": "Browser Version",
"set_only_once": 1
},
{
"fieldname": "date",
"fieldtype": "Datetime",
"label": "Date",
"set_only_once": 1
}
],
"in_create": 1,
"links": [],
"modified": "2020-04-15 23:31:27.517793",
"modified_by": "Administrator",
"module": "Website",
"name": "Page View",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
}
],
"quick_entry": 1,
"read_only": 1,
"sort_field": "modified",
"sort_order": "DESC",
"title_field": "path",
"track_changes": 1
}

View file

@ -0,0 +1,34 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2020, Frappe Technologies and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import frappe
from frappe.model.document import Document
class PageView(Document):
pass
@frappe.whitelist(allow_guest=True)
def make_view_log(path, referrer=None, browser=None, version=None):
if path.startswith('/'):
path = path[1:]
if is_tracking_enabled():
view = frappe.new_doc("Page View")
view.path = path
view.referrer = referrer
view.browser = browser
view.browser_version = version
view.date = frappe.utils.now_datetime()
view.insert(ignore_permissions=True)
return
@frappe.whitelist()
def get_page_view_count(path):
return frappe.db.count("Page View", filters={'path': path})
def is_tracking_enabled():
return frappe.db.get_value("Website Settings", "Website Settings", "enable_view_tracking")

View file

@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2020, Frappe Technologies and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
class TestPageView(unittest.TestCase):
pass

View file

@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2020, Frappe Technologies and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
class TestWebsiteSettings(unittest.TestCase):
pass