mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2026-02-05 14:46:20 +01:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f49ca2bccb | ||
|
|
9c71a8d9a3 | ||
|
|
0032f91525 | ||
|
|
7f3492f978 | ||
|
|
2b9110e417 | ||
|
|
98619a0eb8 | ||
|
|
7a4aa05c39 | ||
|
|
ba597cd2ad | ||
|
|
5992ddd48e | ||
|
|
8486b95917 | ||
|
|
bb15de6d1a |
@@ -1,7 +1,7 @@
|
||||
# This will make sure the app is always imported when
|
||||
# Django starts so that shared_task will use this app.
|
||||
|
||||
__version__ = '2.9.0b1'
|
||||
__version__ = '2.9.0'
|
||||
__title__ = 'Alliance Auth'
|
||||
__url__ = 'https://gitlab.com/allianceauth/allianceauth'
|
||||
NAME = '%s v%s' % (__title__, __version__)
|
||||
|
||||
@@ -4,6 +4,8 @@ from django.utils.deprecation import MiddlewareMixin
|
||||
from .models import AnalyticsTokens, AnalyticsIdentifier
|
||||
from .tasks import send_ga_tracking_web_view
|
||||
|
||||
import re
|
||||
|
||||
|
||||
class AnalyticsMiddleware(MiddlewareMixin):
|
||||
def process_response(self, request, response):
|
||||
@@ -20,7 +22,13 @@ class AnalyticsMiddleware(MiddlewareMixin):
|
||||
if token.send_page_views is False:
|
||||
continue
|
||||
# Check Exclusions
|
||||
if request.path in token.ignore_paths.all():
|
||||
ignore = False
|
||||
for ignore_path in token.ignore_paths.values():
|
||||
ignore_path_regex = re.compile(ignore_path["ignore_path"])
|
||||
if re.search(ignore_path_regex, request.path) is not None:
|
||||
ignore = True
|
||||
|
||||
if ignore is True:
|
||||
continue
|
||||
|
||||
tracking_id = token.token
|
||||
|
||||
31
allianceauth/analytics/migrations/0004_auto_20211015_0502.py
Normal file
31
allianceauth/analytics/migrations/0004_auto_20211015_0502.py
Normal file
@@ -0,0 +1,31 @@
|
||||
# Generated by Django 3.1.13 on 2021-10-15 05:02
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
def modify_aa_team_token_add_page_ignore_paths(apps, schema_editor):
|
||||
# We can't import the Person model directly as it may be a newer
|
||||
# version than this migration expects. We use the historical version.
|
||||
|
||||
AnalyticsPath = apps.get_model('analytics', 'AnalyticsPath')
|
||||
admin = AnalyticsPath.objects.create(ignore_path=r"^\/admin\/.*")
|
||||
user_notifications_count = AnalyticsPath.objects.create(ignore_path=r"^\/user_notifications_count\/.*")
|
||||
|
||||
Tokens = apps.get_model('analytics', 'AnalyticsTokens')
|
||||
token = Tokens.objects.get(token="UA-186249766-2")
|
||||
token.ignore_paths.add(admin, user_notifications_count)
|
||||
|
||||
|
||||
def undo_modify_aa_team_token_add_page_ignore_paths(apps, schema_editor):
|
||||
# nothing should need to migrate away here?
|
||||
return True
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('analytics', '0003_Generate_Identifier'),
|
||||
]
|
||||
|
||||
operations = [migrations.RunPython(modify_aa_team_token_add_page_ignore_paths, undo_modify_aa_team_token_add_page_ignore_paths)
|
||||
]
|
||||
@@ -20,7 +20,7 @@ class AnalyticsIdentifier(models.Model):
|
||||
|
||||
|
||||
class AnalyticsPath(models.Model):
|
||||
ignore_path = models.CharField(max_length=254, default="/example/")
|
||||
ignore_path = models.CharField(max_length=254, default="/example/", help_text="Regex Expression, If matched no Analytics Page View is sent")
|
||||
|
||||
|
||||
class AnalyticsTokens(models.Model):
|
||||
|
||||
@@ -20,7 +20,7 @@ def process_failure_signal(
|
||||
|
||||
action = sender.__name__
|
||||
|
||||
label = f"{exception.__class__.__name__}: {str(exception)}"
|
||||
label = f"{exception.__class__.__name__}"
|
||||
|
||||
analytics_event(category=category,
|
||||
action=action,
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
allianceauth/locale/it_IT/LC_MESSAGES/django.mo
Normal file
BIN
allianceauth/locale/it_IT/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
2136
allianceauth/locale/it_IT/LC_MESSAGES/django.po
Normal file
2136
allianceauth/locale/it_IT/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -93,6 +93,7 @@ LANGUAGES = (
|
||||
('ko', ugettext('Korean')),
|
||||
('fr', ugettext('French')),
|
||||
('ja', ugettext('Japanese')),
|
||||
('it', ugettext('Italian')),
|
||||
)
|
||||
|
||||
TEMPLATES = [
|
||||
|
||||
@@ -30,5 +30,9 @@ class DiscordUserAdmin(ServicesUserAdmin):
|
||||
else:
|
||||
return ''
|
||||
|
||||
def delete_queryset(self, request, queryset):
|
||||
for user in queryset:
|
||||
user.delete_user()
|
||||
|
||||
_username.short_description = 'Discord Username'
|
||||
_username.admin_order_field = 'username'
|
||||
|
||||
@@ -58,6 +58,6 @@ class SRPManager:
|
||||
"""returns the number of open SRP requests for given user
|
||||
or None if user has no permission"""
|
||||
if user.has_perm("auth.srp_management"):
|
||||
return SrpUserRequest.objects.filter(srp_status="pending").count()
|
||||
return SrpUserRequest.objects.filter(srp_status="Pending").count()
|
||||
else:
|
||||
return None
|
||||
|
||||
Reference in New Issue
Block a user