From f2de61b273fb1546bee1b3b94fe06d375edb5624 Mon Sep 17 00:00:00 2001 From: Klaas van Schelven Date: Mon, 13 May 2024 15:09:35 +0200 Subject: [PATCH] Use app_settings for Bugsink-specific stuff something about consistency --- alerts/tasks.py | 10 +++++----- alerts/views.py | 10 +++++----- bugsink/app_settings.py | 3 +++ bugsink/context_processors.py | 4 ++-- bugsink/settings.py | 6 +++--- bugsink/urls.py | 5 +++-- projects/models.py | 4 +++- 7 files changed, 24 insertions(+), 18 deletions(-) diff --git a/alerts/tasks.py b/alerts/tasks.py index b4838c2..2b8a0d9 100644 --- a/alerts/tasks.py +++ b/alerts/tasks.py @@ -1,9 +1,9 @@ from snappea.decorators import shared_task -from django.conf import settings from django.template.defaultfilters import truncatechars from projects.models import ProjectMembership +from bugsink.app_settings import get_settings from .utils import send_rendered_email @@ -38,15 +38,15 @@ def _send_alert(issue_id, state_description, alert_article, alert_reason, **kwar base_template_name="alerts/issue_alert", recipient_list=[membership.user.email], context={ - "site_title": settings.SITE_TITLE, - "base_url": settings.BASE_URL + "/", + "site_title": get_settings().SITE_TITLE, + "base_url": get_settings().BASE_URL + "/", "issue_title": issue.title(), "project_name": issue.project.name, - "issue_url": settings.BASE_URL + issue.get_absolute_url(), + "issue_url": get_settings().BASE_URL + issue.get_absolute_url(), "state_description": state_description, "alert_article": alert_article, "alert_reason": alert_reason, - "settings_url": settings.BASE_URL + "/", # TODO + "settings_url": get_settings().BASE_URL + "/", # TODO **kwargs, }, ) diff --git a/alerts/views.py b/alerts/views.py index 9b0fa10..02aa04d 100644 --- a/alerts/views.py +++ b/alerts/views.py @@ -1,16 +1,16 @@ from django.shortcuts import render -from django.conf import settings +from bugsink.app_settings import get_settings DEBUG_CONTEXTS = { "issue_alert": { - "site_title": settings.SITE_TITLE, - "base_url": settings.BASE_URL + "/", + "site_title": get_settings().SITE_TITLE, + "base_url": get_settings().BASE_URL + "/", "issue_title": "AttributeError: 'NoneType' object has no attribute 'data'", "project_name": "My first project", "alert_article": "a", "alert_reason": "NEW", - "issue_url": settings.BASE_URL + "/issues/issue/00000000-0000-0000-0000-000000000000/", - "settings_url": settings.BASE_URL + "/", # TODO + "issue_url": get_settings().BASE_URL + "/issues/issue/00000000-0000-0000-0000-000000000000/", + "settings_url": get_settings().BASE_URL + "/", # TODO }, } diff --git a/bugsink/app_settings.py b/bugsink/app_settings.py index ba2eaa1..967ea86 100644 --- a/bugsink/app_settings.py +++ b/bugsink/app_settings.py @@ -11,6 +11,9 @@ _MEBIBYTE = 1024 * _KIBIBYTE DEFAULTS = { + "BASE_URL": "http://bugsink:9000", # no trailing slash + "SITE_TITLE": "Bugsink", # you can customize this as e.g. "My Bugsink" or "Bugsink for My Company" + "DIGEST_IMMEDIATELY": True, # MAX* below mirror the (current) values for the Sentry Relax diff --git a/bugsink/context_processors.py b/bugsink/context_processors.py index 06c5bd7..fcbf1cd 100644 --- a/bugsink/context_processors.py +++ b/bugsink/context_processors.py @@ -1,9 +1,9 @@ -from django.conf import settings +from bugsink.app_settings import get_settings def useful_settings_processor(request): return { - 'site_title': settings.SITE_TITLE, + 'site_title': get_settings().SITE_TITLE, } diff --git a/bugsink/settings.py b/bugsink/settings.py index b7a1155..67a7723 100644 --- a/bugsink/settings.py +++ b/bugsink/settings.py @@ -243,9 +243,6 @@ if SENTRY_DSN is not None: send_default_pii=True, ) -BASE_URL = "http://bugsink:9000" # no trailing slash -SITE_TITLE = "Bugsink" # you can customize this as e.g. "My Bugsink" or "Bugsink for My Company" - SNAPPEA = { "TASK_ALWAYS_EAGER": True, "NUM_WORKERS": 1, @@ -268,4 +265,7 @@ BUGSINK = { # "MAX_EVENT_COMPRESSED_SIZE": 200 * _KIBIBYTE, # "MAX_ENVELOPE_SIZE": 100 * _MEBIBYTE, # "MAX_ENVELOPE_COMPRESSED_SIZE": 20 * _MEBIBYTE, + + "BASE_URL": "http://bugsink:9000", # no trailing slash + "SITE_TITLE": "Bugsink", # you can customize this as e.g. "My Bugsink" or "Bugsink for My Company" } diff --git a/bugsink/urls.py b/bugsink/urls.py index 6f677e2..923ae79 100644 --- a/bugsink/urls.py +++ b/bugsink/urls.py @@ -6,10 +6,11 @@ from django.contrib.auth import views as auth_views from .views import home, trigger_error, favicon from alerts.views import debug_email +from bugsink.app_settings import get_settings -admin.site.site_header = settings.SITE_TITLE -admin.site.site_title = settings.SITE_TITLE +admin.site.site_header = get_settings().SITE_TITLE +admin.site.site_title = get_settings().SITE_TITLE admin.site.index_title = "Admin" # everyone calls this the "admin" anyway. Let's set the title accordingly. diff --git a/projects/models.py b/projects/models.py index 73b99fe..a44cd55 100644 --- a/projects/models.py +++ b/projects/models.py @@ -4,6 +4,8 @@ from django.db import models from django.conf import settings from django.utils.text import slugify +from bugsink.app_settings import get_settings + from compat.dsn import build_dsn @@ -39,7 +41,7 @@ class Project(models.Model): @property def dsn(self): - return build_dsn(settings.BASE_URL, self.id, self.sentry_key) + return build_dsn(get_settings().BASE_URL, self.id, self.sentry_key) """ # TODO is this even more efficient?