From 8f6e105aac61d2218bf739bda4d771808ca79a4c Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Thu, 12 Feb 2026 16:19:20 +0000 Subject: [PATCH] session summery --- .../context_processors.cpython-311.pyc | Bin 1574 -> 2064 bytes core/__pycache__/views.cpython-311.pyc | Bin 130024 -> 133681 bytes core/context_processors.py | 14 +- core/templates/base.html | 30 +---- core/templates/registration/login.html | 28 +++- core/views.py | 121 ++++++++++++++++-- 6 files changed, 144 insertions(+), 49 deletions(-) diff --git a/core/__pycache__/context_processors.cpython-311.pyc b/core/__pycache__/context_processors.cpython-311.pyc index bbf87e572cdc24348de41b81b9b71486ec60f1c7..43aa9a8f1e3668f868f411e03f9ed59537912b23 100644 GIT binary patch delta 906 zcmZ`$O=uHA7@gV4Y_=gAxAsrnmJU?3d$9hrSX-=i+fckHm0oNQmTh+kkz@n2TcRN~ zJ$Mj7EbgHPE$G3D)QdOqWO^4;iC7kL^x!Q}gy_kc#29FGe%|+HcHZ}PzS)YdYq8g= z8Ueg*|9qUhfZxSFNIjS@5uf{O5P%I}gH_lDJmAm5PJdrA@U6eAVboo);ah2oAKd1% z(N>{zaR7Kqa}B^rz>HPNs~a_TU&yVmEoP&<^bBks$Or4cFfUNLFF8shW?>fGMe_xa zh0e$!yVD2k!Yz{)vqS&3`;QfO%GWy!=i!|{*DCW0G$|03h^ue-z z?yElfSsyLU%$M}hU45afFRUx;O0Ck-TLqFzT2RrtH=<9YrM~HpkOLpPTD+{qOImzS z?-!zGuklvJTr5cKhYX@!JPlSGa7oaL5_=MR6f5;izQ4(Vk6pzqD`rVC_mt?vP@@Yu zPlQzwBfcLxH9g7i^?;ZY;1w}tP{feaq8u^DP*LkQM^N!B7CR$Y?2IA7Cn8frXeZn^ zWuP4cPYwB>LaFntpC<}X((#za858xYSMLpAoq~&U{!%WdGxkb~USVhaG~Vp(f^roc HhPvW6nO@ukGl9RtMX)wx7 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 delta 18445 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 diff --git a/core/context_processors.py b/core/context_processors.py index ff25dd6..a7be27d 100644 --- a/core/context_processors.py +++ b/core/context_processors.py @@ -19,12 +19,18 @@ def project_context(request): def global_settings(request): settings = None try: + # Use a quick query to avoid hangs if DB is locked settings = SystemSetting.objects.first() if not settings: - settings = SystemSetting.objects.create() - except Exception: - # If DB is broken (OperationalError, etc.), just return None. - # Do not try to fix it here to avoid infinite loops or crashes during template rendering. + # Only attempt creation if we are absolutely sure it's missing + # and wrap it in a try-except to avoid crashes on read-only DBs + try: + settings = SystemSetting.objects.create(business_name="Meezan Accounting") + except Exception as e: + logger.error(f"Failed to create SystemSetting: {e}") + settings = None + except Exception as e: + logger.warning(f"Database error in global_settings: {e}") pass return { diff --git a/core/templates/base.html b/core/templates/base.html index c60e529..d8d8ead 100644 --- a/core/templates/base.html +++ b/core/templates/base.html @@ -27,6 +27,8 @@ {% endif %} + + {% block head %}{% endblock %} @@ -494,7 +496,9 @@ + + {% block scripts %}{% endblock %} diff --git a/core/templates/registration/login.html b/core/templates/registration/login.html index 52b45f2..64eee17 100644 --- a/core/templates/registration/login.html +++ b/core/templates/registration/login.html @@ -4,8 +4,8 @@ {% block title %}{% trans "Login" %} - {{ site_settings.business_name }}{% endblock %} {% block content %} -
-
+