Merge branch 'better-analytics'

This commit is contained in:
DerTyp187
2021-11-23 18:59:45 +01:00
16 changed files with 32 additions and 134 deletions

View File

@@ -41,8 +41,6 @@ INSTALLED_APPS = [
'django.contrib.messages',
'django.contrib.staticfiles',
'main.apps.MainConfig',
'analytics.apps.AnalyticsConfig',
'ipware',
]
MIDDLEWARE = [

View File

@@ -19,7 +19,6 @@ from django.views.generic.base import TemplateView
urlpatterns = [
path('', include('main.urls')),
path('analytics/', include('analytics.urls')),
path("robots.txt", TemplateView.as_view(template_name="robots.txt", content_type="text/plain")),
path('AD/SDGFOLKJASDNVASDFASDFSLAKDF/', admin.site.urls),
]

View File

@@ -1,5 +0,0 @@
from django.contrib import admin
from analytics.models import View
admin.site.register(View)

View File

@@ -1,6 +0,0 @@
from django.apps import AppConfig
class AnalyticsConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'analytics'

View File

@@ -1,29 +0,0 @@
# Generated by Django 3.2.9 on 2021-11-22 18:23
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
class Migration(migrations.Migration):
initial = True
dependencies = [
('main', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='View',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('ip', models.CharField(max_length=200)),
('date', models.DateTimeField(default=django.utils.timezone.now)),
('admin', models.BooleanField(default=False)),
('home', models.BooleanField(default=False)),
('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.category')),
('topic', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.topic')),
],
),
]

View File

@@ -1,17 +0,0 @@
from django.db import models
from django.utils import timezone
from main.models import Topic, Category
class View(models.Model):
ip = models.CharField(max_length=200)
date = models.DateTimeField(default=timezone.now)
topic = models.ForeignKey(Topic, on_delete=models.CASCADE, blank=True, null=True)
category = models.ForeignKey(Category, on_delete=models.CASCADE, blank=True, null=True)
admin = models.BooleanField(default=False)
home = models.BooleanField(default=False)
def __str__(self):
return self.ip

View File

@@ -1,20 +0,0 @@
{% extends "base.html" %}
{% block content %}
<h2>Analytics</h2>
<div class="main-content-block">
<h5>Clicks Last 30 Days</h5>
</div>
<div class="main-content-block">
<h5>Clicks In Total</h5>
</div>
<div class="main-content-block">
<h5>Clicks From Coutries Last 30 Days</h5>
</div>
<div class="main-content-block">
<h5>Clicks From Coutries In Total</h5>
</div>
{% endblock content %}

View File

@@ -1,3 +0,0 @@
from django.test import TestCase
# Create your tests here.

View File

@@ -1,6 +0,0 @@
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name="analytics-index"),
]

View File

@@ -1,6 +0,0 @@
from django.shortcuts import render
from django.contrib.auth.decorators import login_required
@login_required
def index(req):
return render(req, 'analytics/index.html')

View File

@@ -1,4 +1,4 @@
# Generated by Django 3.2.9 on 2021-11-22 18:23
# Generated by Django 3.2.9 on 2021-11-23 17:55
from django.db import migrations, models
import django.db.models.deletion

View File

@@ -0,0 +1,22 @@
function accept_cookies(){
document.cookie = "cookies_allowed=1;path=/";
window.location.reload();
}
document.write('<div style="background-color: rgba(255, 255, 255, 0.219);" id="cookie_banner" class="text-center"><p>We only use non-technical cookies for analysis purposes.<br> Do you want to accept those cookies? (please)</p><button class="btn btn-success mb-3" onclick="accept_cookies()">Accept</button></div>');
cookies_allowed = document.cookie.split("cookies_allowed=")[1][0]
if(cookies_allowed == null){
document.cookie = "cookies_allowed=0;path=/";
cookies_allowed = document.cookie.split("cookies_allowed=")[1]
}
if(cookies_allowed == "1"){
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-PGM5LTFSMG');
document.getElementById("cookie_banner").style.display = "none";
}else if(cookies_allowed == "0"){
console.log("DO NOT LOAD ANALYTILCS");
}

View File

@@ -2,6 +2,13 @@
<!DOCTYPE html>
<html>
<head>
<!-- Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-PGM5LTFSMG"></script>
<script>window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;ga('create', 'UA-213552250-1', {'storage': 'none',});ga('send', 'pageview');</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>
<script src="{% static 'js/cookies.js' %}"></script>
<!-- End Google Analytics -->
<!-- Required META Tags-->
<meta charset="utf-8"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
@@ -26,31 +33,7 @@
{% endif %}
</head>
<body class="bg-dark">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-9M4H60DMBG"></script>
<div style="background-color: rgba(255, 255, 255, 0.219);" id="cookie_banner" class="text-center">
<p>We only use non-technical cookies for analysis purposes.<br> Do you want to accept those cookies? (please)</p>
<button class="btn btn-success mb-3" onclick='document.cookie = "cookies_allowed=1;path=/";window.location.reload();'>Accept</button>
</div>
<script>
cookies_allowed = document.cookie.split("cookies_allowed=")[1][0]
console.log(cookies_allowed)
if(cookies_allowed == null){
document.cookie = "cookies_allowed=0;path=/";
cookies_allowed = document.cookie.split("cookies_allowed=")[1]
}
if(cookies_allowed == "1"){
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-9M4H60DMBG');
document.getElementById("cookie_banner").style.display = "none";
}else if(cookies_allowed == "0"){
console.log("DO NOT LOAD ANALYTILCS");
}
</script>
<header class="p-3 bg-dark text-white shadow">

View File

@@ -1,11 +1,8 @@
from django.http.response import HttpResponse, HttpResponseForbidden
from django.http.response import HttpResponse
from django.shortcuts import render, redirect
from .models import Category, Topic, Rating
from analytics.models import View
def index(req):
view = View(ip=get_ip(req), home=True)
view.save()
categorys_obj = Category.objects.all()
return render(req, "main/index.html", {'categorys': categorys_obj})
@@ -40,10 +37,6 @@ def topic(req, category, topic):
'notHelpful_count': notHelpful_count,
'read_more': topic_obj.read_more,
}
view = View(ip=get_ip(req), topic=topic_obj)
view.save()
return render(req, "main/topic.html", context)
return redirect("main-index")
@@ -57,9 +50,6 @@ def category(req, category):
if category_obj:
topics_obj = Topic.objects.filter(category=category_obj)
view = View(ip=get_ip(req), category=category_obj)
view.save()
context = {
'category_obj': category_obj,
'topics': topics_obj,
@@ -83,8 +73,6 @@ def search(req, value): # https://django-taggit.readthedocs.io/en/latest/getting
def sitemap(req):
topics = Topic.objects.all()
categories = Category.objects.all()
#REPLACE ALL BLANKS WITH %20
context = {
'topics': topics,