From 7834171c2a63c41c5a7a55abe954c938d76fbb5f Mon Sep 17 00:00:00 2001
From: Matthias
Date: Sat, 23 Apr 2022 23:38:49 +0200
Subject: [PATCH 01/19] [FR] White labeling Fixes #2301
---
InvenTree/InvenTree/settings.py | 7 +++++++
InvenTree/config_template.yaml | 3 +++
InvenTree/part/templatetags/inventree_extras.py | 7 +++++++
InvenTree/templates/account/login.html | 14 ++++++--------
4 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py
index e1c584362f..b96705d6dc 100644
--- a/InvenTree/InvenTree/settings.py
+++ b/InvenTree/InvenTree/settings.py
@@ -67,6 +67,13 @@ DEMO_MODE = _is_true(get_setting(
CONFIG.get('demo', False)
))
+# user interface customization values
+CUSTOMIZE = get_setting(
+ 'INVENTREE_CUSTOMIZE',
+ CONFIG.get('customize', {}),
+ {}
+)
+
DOCKER = _is_true(get_setting(
'INVENTREE_DOCKER',
False
diff --git a/InvenTree/config_template.yaml b/InvenTree/config_template.yaml
index 65dd20d3e8..862d062787 100644
--- a/InvenTree/config_template.yaml
+++ b/InvenTree/config_template.yaml
@@ -186,3 +186,6 @@ static_root: '/home/inventree/data/static'
# KEYCLOAK_URL: 'https://keycloak.custom/auth'
# KEYCLOAK_REALM: 'master'
+# customize:
+# login_message: |
+# InvenTree demo instance - Click here for login details
diff --git a/InvenTree/part/templatetags/inventree_extras.py b/InvenTree/part/templatetags/inventree_extras.py
index dc93e00efa..2d0b0660d6 100644
--- a/InvenTree/part/templatetags/inventree_extras.py
+++ b/InvenTree/part/templatetags/inventree_extras.py
@@ -509,6 +509,13 @@ def mail_configured():
return bool(settings.EMAIL_HOST)
+@register.simple_tag()
+def inventree_customize(reference, *args, **kwargs):
+ """ Return customization values for the user interface """
+
+ return djangosettings.CUSTOMIZE.get(reference, '')
+
+
class I18nStaticNode(StaticNode):
"""
custom StaticNode
diff --git a/InvenTree/templates/account/login.html b/InvenTree/templates/account/login.html
index 6e62560bfa..1a4df286bb 100644
--- a/InvenTree/templates/account/login.html
+++ b/InvenTree/templates/account/login.html
@@ -1,7 +1,7 @@
{% extends "account/base.html" %}
{% load inventree_extras %}
-{% load i18n account socialaccount crispy_forms_tags inventree_extras %}
+{% load i18n account socialaccount crispy_forms_tags inventree_extras markdownify %}
{% block head_title %}{% trans "Sign In" %}{% endblock %}
@@ -10,6 +10,7 @@
{% settings_value 'LOGIN_ENABLE_REG' as enable_reg %}
{% settings_value 'LOGIN_ENABLE_PWD_FORGOT' as enable_pwd_forgot %}
{% settings_value 'LOGIN_ENABLE_SSO' as enable_sso %}
+{% inventree_customize 'login_message' as login_message %}
{% mail_configured as mail_conf %}
{% inventree_demo_mode as demo %}
@@ -35,19 +36,16 @@ for a account and sign in below:{% endblocktrans %}
{% endif %}
+ {% if login_message %}
+ {{ login_message|markdownify }}
+
+ {% endif %}
{% trans "Sign In" %}
{% if mail_conf and enable_pwd_forgot and not demo %}
{% trans "Forgot Password?" %}
{% endif %}
- {% if demo %}
-
-
-
- {% endif %}
{% if enable_sso %}
From 54d8a4e8026eeb01f3a9b5df1c576e9dd4e838e2 Mon Sep 17 00:00:00 2001
From: Matthias
Date: Sun, 24 Apr 2022 00:21:33 +0200
Subject: [PATCH 02/19] use server title instead of InvenTree
---
InvenTree/company/templates/company/manufacturer_part.html | 3 ++-
InvenTree/templates/403.html | 3 ++-
InvenTree/templates/404.html | 3 ++-
InvenTree/templates/500.html | 5 +++--
4 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/InvenTree/company/templates/company/manufacturer_part.html b/InvenTree/company/templates/company/manufacturer_part.html
index 84e8016a59..fb33128a77 100644
--- a/InvenTree/company/templates/company/manufacturer_part.html
+++ b/InvenTree/company/templates/company/manufacturer_part.html
@@ -1,9 +1,10 @@
{% extends "page_base.html" %}
{% load static %}
{% load i18n %}
+{% load inventree_extras %}
{% block page_title %}
-InvenTree | {% trans "Manufacturer Part" %}
+{% inventree_title %} | {% trans "Manufacturer Part" %}
{% endblock %}
{% block sidebar %}
diff --git a/InvenTree/templates/403.html b/InvenTree/templates/403.html
index 372bd9fe27..4ee8367d9c 100644
--- a/InvenTree/templates/403.html
+++ b/InvenTree/templates/403.html
@@ -1,8 +1,9 @@
{% extends "base.html" %}
{% load i18n %}
+{% load inventree_extras %}
{% block page_title %}
-InvenTree | {% trans "Permission Denied" %}
+{% inventree_title %} | {% trans "Permission Denied" %}
{% endblock %}
{% block content %}
diff --git a/InvenTree/templates/404.html b/InvenTree/templates/404.html
index 3cb6464d99..aae55031f3 100644
--- a/InvenTree/templates/404.html
+++ b/InvenTree/templates/404.html
@@ -1,8 +1,9 @@
{% extends "base.html" %}
{% load i18n %}
+{% load inventree_extras %}
{% block page_title %}
-InvenTree | {% trans "Page Not Found" %}
+{% inventree_title %} | {% trans "Page Not Found" %}
{% endblock %}
{% block content %}
diff --git a/InvenTree/templates/500.html b/InvenTree/templates/500.html
index 3fab6c0a17..f50a5ea6fe 100644
--- a/InvenTree/templates/500.html
+++ b/InvenTree/templates/500.html
@@ -1,8 +1,9 @@
{% extends "base.html" %}
{% load i18n %}
+{% load inventree_extras %}
{% block page_title %}
-InvenTree | {% trans "Internal Server Error" %}
+{% inventree_title %} | {% trans "Internal Server Error" %}
{% endblock %}
{% block content %}
@@ -11,7 +12,7 @@ InvenTree | {% trans "Internal Server Error" %}
{% trans "Internal Server Error" %}
- {% trans "The InvenTree server raised an internal error" %}
+ {% blocktrans %}The {{ inventree_title }} server raised an internal error{% endblocktrans %}
{% trans "Refer to the error log in the admin interface for further details" %}
From 9673d810145a44031ebb7efcab2c1f0f0cd8397f Mon Sep 17 00:00:00 2001
From: Matthias
Date: Sun, 24 Apr 2022 00:23:26 +0200
Subject: [PATCH 03/19] remove InvenTree name where not needed
---
InvenTree/templates/InvenTree/settings/plugin.html | 2 +-
InvenTree/templates/InvenTree/settings/plugin_settings.html | 2 +-
InvenTree/templates/InvenTree/settings/user_display.html | 2 +-
InvenTree/templates/account/base.html | 2 +-
InvenTree/templates/base.html | 2 +-
InvenTree/templates/skeleton.html | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/InvenTree/templates/InvenTree/settings/plugin.html b/InvenTree/templates/InvenTree/settings/plugin.html
index 2366096b87..94a166c84a 100644
--- a/InvenTree/templates/InvenTree/settings/plugin.html
+++ b/InvenTree/templates/InvenTree/settings/plugin.html
@@ -13,7 +13,7 @@
{% block content %}
- {% trans "Changing the settings below require you to immediatly restart InvenTree. Do not change this while under active usage." %}
+ {% trans "Changing the settings below require you to immediatly restart the server. Do not change this while under active usage." %}
diff --git a/InvenTree/templates/InvenTree/settings/plugin_settings.html b/InvenTree/templates/InvenTree/settings/plugin_settings.html
index 9c5fa2d7c0..79150ec879 100644
--- a/InvenTree/templates/InvenTree/settings/plugin_settings.html
+++ b/InvenTree/templates/InvenTree/settings/plugin_settings.html
@@ -85,7 +85,7 @@
{% if plugin.is_package %}
{% trans "This plugin was installed as a package" %}
{% else %}
- {% trans "This plugin was found in a local InvenTree path" %}
+ {% trans "This plugin was found in a local server path" %}
{% endif %}
diff --git a/InvenTree/templates/InvenTree/settings/user_display.html b/InvenTree/templates/InvenTree/settings/user_display.html
index f5e74b04c1..1f52c095ac 100644
--- a/InvenTree/templates/InvenTree/settings/user_display.html
+++ b/InvenTree/templates/InvenTree/settings/user_display.html
@@ -101,7 +101,7 @@
{% trans "Help the translation efforts!" %}
-
{% blocktrans with link="https://crowdin.com/project/inventree" %}Native language translation of the InvenTree web application is community contributed via crowdin . Contributions are welcomed and encouraged.{% endblocktrans %}
+
{% blocktrans with link="https://crowdin.com/project/inventree" %}Native language translation of the web application is community contributed via crowdin . Contributions are welcomed and encouraged.{% endblocktrans %}
diff --git a/InvenTree/templates/account/base.html b/InvenTree/templates/account/base.html
index 6c54faac67..06c9485fb5 100644
--- a/InvenTree/templates/account/base.html
+++ b/InvenTree/templates/account/base.html
@@ -89,7 +89,7 @@
-
+
diff --git a/InvenTree/templates/base.html b/InvenTree/templates/base.html
index 0739b42b6e..0bca5cc0f1 100644
--- a/InvenTree/templates/base.html
+++ b/InvenTree/templates/base.html
@@ -166,7 +166,7 @@
-
+
diff --git a/InvenTree/templates/skeleton.html b/InvenTree/templates/skeleton.html
index 9b78a9a329..1c4775372e 100644
--- a/InvenTree/templates/skeleton.html
+++ b/InvenTree/templates/skeleton.html
@@ -75,7 +75,7 @@
-
+
{% block body_scripts_inventree %}
From ff9d8e7b6ba458d0499d2c4b8a0d0bb7823e6cb8 Mon Sep 17 00:00:00 2001
From: Matthias
Date: Sun, 24 Apr 2022 00:28:27 +0200
Subject: [PATCH 04/19] use instance title in version string
---
InvenTree/part/templatetags/inventree_extras.py | 7 ++++++-
InvenTree/report/templates/report/inventree_po_report.html | 2 +-
InvenTree/report/templates/report/inventree_so_report.html | 2 +-
.../templates/report/inventree_test_report_base.html | 2 +-
InvenTree/templates/email/email.html | 2 +-
5 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/InvenTree/part/templatetags/inventree_extras.py b/InvenTree/part/templatetags/inventree_extras.py
index 2d0b0660d6..0400b54ebd 100644
--- a/InvenTree/part/templatetags/inventree_extras.py
+++ b/InvenTree/part/templatetags/inventree_extras.py
@@ -220,8 +220,13 @@ def python_version(*args, **kwargs):
@register.simple_tag()
-def inventree_version(*args, **kwargs):
+def inventree_version(shortstring=False, *args, **kwargs):
""" Return InvenTree version string """
+ if shortstring:
+ return _("{title} v{version}".format(
+ title=version.inventreeInstanceTitle(),
+ version=version.inventreeVersion()
+ ))
return version.inventreeVersion()
diff --git a/InvenTree/report/templates/report/inventree_po_report.html b/InvenTree/report/templates/report/inventree_po_report.html
index f999644c2e..d1cae75c3b 100644
--- a/InvenTree/report/templates/report/inventree_po_report.html
+++ b/InvenTree/report/templates/report/inventree_po_report.html
@@ -15,7 +15,7 @@ content: "v{{report_revision}} - {{ date.isoformat }}";
{% endblock %}
{% block bottom_center %}
-content: "InvenTree v{% inventree_version %}";
+content: "{% inventree_version shortstring=True %}";
{% endblock %}
{% block style %}
diff --git a/InvenTree/report/templates/report/inventree_so_report.html b/InvenTree/report/templates/report/inventree_so_report.html
index 255f0c6a50..5cb4900719 100644
--- a/InvenTree/report/templates/report/inventree_so_report.html
+++ b/InvenTree/report/templates/report/inventree_so_report.html
@@ -16,7 +16,7 @@ content: "v{{report_revision}} - {{ date.isoformat }}";
{% endblock %}
{% block bottom_center %}
-content: "InvenTree v{% inventree_version %}";
+content: "{% inventree_version shortstring=True %}";
{% endblock %}
{% block style %}
diff --git a/InvenTree/report/templates/report/inventree_test_report_base.html b/InvenTree/report/templates/report/inventree_test_report_base.html
index d702973c30..73ee55c680 100644
--- a/InvenTree/report/templates/report/inventree_test_report_base.html
+++ b/InvenTree/report/templates/report/inventree_test_report_base.html
@@ -14,7 +14,7 @@ content: "{{ date.isoformat }}";
{% endblock %}
{% block bottom_center %}
-content: "InvenTree v{% inventree_version %}";
+content: "{% inventree_version shortstring=True %}";
{% endblock %}
{% block top_center %}
diff --git a/InvenTree/templates/email/email.html b/InvenTree/templates/email/email.html
index 97e9a40f37..0b3c944da4 100644
--- a/InvenTree/templates/email/email.html
+++ b/InvenTree/templates/email/email.html
@@ -32,7 +32,7 @@
{% block footer_prefix %}
{% endblock %}
- {% trans "InvenTree version" %}: {% inventree_version %} - inventree.readthedocs.io
+ {% inventree_version shortstring=True %} - readthedocs.io
{% block footer_suffix %}
{% endblock %}
From 1127bf2497f95c9ad3937438d84cd1a621be7f67 Mon Sep 17 00:00:00 2001
From: Matthias
Date: Sun, 24 Apr 2022 01:02:41 +0200
Subject: [PATCH 05/19] make it possible to resitrict the about modal
---
InvenTree/common/models.py | 7 +++++++
InvenTree/part/templatetags/inventree_extras.py | 8 ++++++++
InvenTree/templates/InvenTree/settings/global.html | 1 +
InvenTree/templates/base.html | 3 ++-
InvenTree/templates/navbar.html | 3 +++
5 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py
index bb7de56e99..d0ca4636a0 100644
--- a/InvenTree/common/models.py
+++ b/InvenTree/common/models.py
@@ -696,6 +696,13 @@ class InvenTreeSetting(BaseInvenTreeSetting):
'default': False,
},
+ 'INVENTREE_RESTRICT_ABOUT': {
+ 'name': _('Restrict showing `about`'),
+ 'description': _('Show the `about` modal only to superusers'),
+ 'validator': bool,
+ 'default': False,
+ },
+
'INVENTREE_COMPANY_NAME': {
'name': _('Company name'),
'description': _('Internal company name'),
diff --git a/InvenTree/part/templatetags/inventree_extras.py b/InvenTree/part/templatetags/inventree_extras.py
index 0400b54ebd..ad23487a83 100644
--- a/InvenTree/part/templatetags/inventree_extras.py
+++ b/InvenTree/part/templatetags/inventree_extras.py
@@ -166,6 +166,14 @@ def inventree_demo_mode(*args, **kwargs):
return djangosettings.DEMO_MODE
+@register.simple_tag()
+def inventree_show_about(user, *args, **kwargs):
+ """ Return True if the about modal should be shown """
+ if InvenTreeSetting.get_setting('INVENTREE_RESTRICT_ABOUT') and not user.is_superuser:
+ return False
+ return True
+
+
@register.simple_tag()
def inventree_docker_mode(*args, **kwargs):
""" Return True if the server is running as a Docker image """
diff --git a/InvenTree/templates/InvenTree/settings/global.html b/InvenTree/templates/InvenTree/settings/global.html
index 60ae84f001..4d36d59369 100644
--- a/InvenTree/templates/InvenTree/settings/global.html
+++ b/InvenTree/templates/InvenTree/settings/global.html
@@ -15,6 +15,7 @@
{% include "InvenTree/settings/setting.html" with key="INVENTREE_INSTANCE" icon="fa-info-circle" %}
{% include "InvenTree/settings/setting.html" with key="INVENTREE_INSTANCE_TITLE" icon="fa-info-circle" %}
+ {% include "InvenTree/settings/setting.html" with key="INVENTREE_RESTRICT_ABOUT" icon="fa-info-circle" %}
{% include "InvenTree/settings/setting.html" with key="INVENTREE_BASE_URL" icon="fa-globe" %}
{% include "InvenTree/settings/setting.html" with key="INVENTREE_COMPANY_NAME" icon="fa-building" %}
{% include "InvenTree/settings/setting.html" with key="INVENTREE_DOWNLOAD_FROM_URL" icon="fa-cloud-download-alt" %}
diff --git a/InvenTree/templates/base.html b/InvenTree/templates/base.html
index 0bca5cc0f1..0188ecefa5 100644
--- a/InvenTree/templates/base.html
+++ b/InvenTree/templates/base.html
@@ -7,6 +7,7 @@
{% settings_value "REPORT_ENABLE" as report_enabled %}
{% settings_value "SERVER_RESTART_REQUIRED" as server_restart_required %}
{% settings_value "LABEL_ENABLE" with user=user as labels_enabled %}
+{% inventree_show_about user as show_about %}
{% inventree_demo_mode as demo_mode %}
@@ -130,7 +131,7 @@
{% include 'modals.html' %}
- {% include 'about.html' %}
+ {% if show_about %}{% include 'about.html' %}{% endif %}
{% include "notifications.html" %}
{% include "search.html" %}
diff --git a/InvenTree/templates/navbar.html b/InvenTree/templates/navbar.html
index d687300eb4..3af7fe481f 100644
--- a/InvenTree/templates/navbar.html
+++ b/InvenTree/templates/navbar.html
@@ -7,6 +7,7 @@
{% settings_value 'STICKY_HEADER' user=request.user as sticky %}
{% navigation_enabled as plugin_nav %}
{% inventree_demo_mode as demo %}
+{% inventree_show_about user as show_about %}
@@ -144,6 +145,7 @@
{% trans "System Information" %}
+ {% if show_about %}
{% if up_to_date %}
@@ -154,6 +156,7 @@
{% trans "About InvenTree" %}
+ {% endif %}
From f2d053719885f8a6bc3ea0220aedb3e4013f067f Mon Sep 17 00:00:00 2001
From: Matthias
Date: Sun, 24 Apr 2022 15:12:03 +0200
Subject: [PATCH 06/19] set navbar message via config file
---
InvenTree/config_template.yaml | 2 ++
InvenTree/templates/navbar.html | 9 +++++++--
InvenTree/templates/navbar_demo.html | 12 ------------
3 files changed, 9 insertions(+), 14 deletions(-)
delete mode 100644 InvenTree/templates/navbar_demo.html
diff --git a/InvenTree/config_template.yaml b/InvenTree/config_template.yaml
index 862d062787..1067910629 100644
--- a/InvenTree/config_template.yaml
+++ b/InvenTree/config_template.yaml
@@ -189,3 +189,5 @@ static_root: '/home/inventree/data/static'
# customize:
# login_message: |
# InvenTree demo instance - Click here for login details
+# navbar_message: |
+# InvenTree demo mode
diff --git a/InvenTree/templates/navbar.html b/InvenTree/templates/navbar.html
index 3af7fe481f..f873d6f84c 100644
--- a/InvenTree/templates/navbar.html
+++ b/InvenTree/templates/navbar.html
@@ -8,6 +8,7 @@
{% navigation_enabled as plugin_nav %}
{% inventree_demo_mode as demo %}
{% inventree_show_about user as show_about %}
+{% inventree_customize 'navbar_message' as navbar_message %}
@@ -85,8 +86,12 @@
- {% if demo %}
- {% include "navbar_demo.html" %}
+ {% if navbar_message %}
+ {% include "spacer.html" %}
+
+ {{ navbar_message|markdownify }}
+
+ {% include "spacer.html" %}
{% endif %}
diff --git a/InvenTree/templates/navbar_demo.html b/InvenTree/templates/navbar_demo.html
deleted file mode 100644
index 18a900c747..0000000000
--- a/InvenTree/templates/navbar_demo.html
+++ /dev/null
@@ -1,12 +0,0 @@
-{% load i18n %}
-{% include "spacer.html" %}
-
-
- {% trans "InvenTree demo mode" %}
-
-
-
-
-
-{% include "spacer.html" %}
-{% include "spacer.html" %}
From 2847eef71c702782141be92d5c9d4f57b556ccdf Mon Sep 17 00:00:00 2001
From: Matthias
Date: Sun, 24 Apr 2022 15:13:31 +0200
Subject: [PATCH 07/19] load missing tag
---
InvenTree/templates/navbar.html | 1 +
1 file changed, 1 insertion(+)
diff --git a/InvenTree/templates/navbar.html b/InvenTree/templates/navbar.html
index f873d6f84c..9a0d87fb4d 100644
--- a/InvenTree/templates/navbar.html
+++ b/InvenTree/templates/navbar.html
@@ -2,6 +2,7 @@
{% load inventree_extras %}
{% load plugin_extras %}
{% load i18n %}
+{% load markdownify %}
{% settings_value 'BARCODE_ENABLE' as barcodes %}
{% settings_value 'STICKY_HEADER' user=request.user as sticky %}
From f1f6c9ff66f4a557e9020905394330085194dfb5 Mon Sep 17 00:00:00 2001
From: Matthias
Date: Sun, 24 Apr 2022 15:25:34 +0200
Subject: [PATCH 08/19] remove InvenTree from settings texts
---
InvenTree/common/models.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py
index d0ca4636a0..5bc96cf5c0 100644
--- a/InvenTree/common/models.py
+++ b/InvenTree/common/models.py
@@ -684,7 +684,7 @@ class InvenTreeSetting(BaseInvenTreeSetting):
},
'INVENTREE_INSTANCE': {
- 'name': _('InvenTree Instance Name'),
+ 'name': _('Server Instance Name'),
'default': 'InvenTree server',
'description': _('String descriptor for the server instance'),
},
@@ -1354,7 +1354,7 @@ class InvenTreeUserSetting(BaseInvenTreeSetting):
'STICKY_HEADER': {
'name': _('Fixed Navbar'),
- 'description': _('InvenTree navbar position is fixed to the top of the screen'),
+ 'description': _('The navbar position is fixed to the top of the screen'),
'default': False,
'validator': bool,
},
From 002f5ec288a66c1f9744989f0657ec920b92da53 Mon Sep 17 00:00:00 2001
From: Matthias
Date: Sun, 24 Apr 2022 16:12:01 +0200
Subject: [PATCH 09/19] move setting lower
---
InvenTree/InvenTree/settings.py | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py
index b96705d6dc..1414be7fd9 100644
--- a/InvenTree/InvenTree/settings.py
+++ b/InvenTree/InvenTree/settings.py
@@ -67,13 +67,6 @@ DEMO_MODE = _is_true(get_setting(
CONFIG.get('demo', False)
))
-# user interface customization values
-CUSTOMIZE = get_setting(
- 'INVENTREE_CUSTOMIZE',
- CONFIG.get('customize', {}),
- {}
-)
-
DOCKER = _is_true(get_setting(
'INVENTREE_DOCKER',
False
@@ -919,3 +912,11 @@ PLUGIN_TESTING = get_setting('PLUGIN_TESTING', TESTING) # are plugins beeing te
PLUGIN_TESTING_SETUP = get_setting('PLUGIN_TESTING_SETUP', False) # load plugins from setup hooks in testing?
PLUGIN_RETRY = get_setting('PLUGIN_RETRY', 5) # how often should plugin loading be tried?
PLUGIN_FILE_CHECKED = False # Was the plugin file checked?
+
+# user interface customization values
+CUSTOMIZE = get_setting(
+ 'INVENTREE_CUSTOMIZE',
+ CONFIG.get('customize', {}),
+ {}
+)
+
From 1bce7b745e91c41d92c88bf11b8fcce60358401f Mon Sep 17 00:00:00 2001
From: Matthias
Date: Sun, 24 Apr 2022 16:13:44 +0200
Subject: [PATCH 10/19] add custom logo option
---
InvenTree/InvenTree/settings.py | 11 +++++++++++
InvenTree/part/templatetags/inventree_extras.py | 12 +++++++++++-
InvenTree/templates/503.html | 2 +-
InvenTree/templates/account/base.html | 2 +-
InvenTree/templates/navbar.html | 2 +-
5 files changed, 25 insertions(+), 4 deletions(-)
diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py
index 1414be7fd9..ec2cc3f8ea 100644
--- a/InvenTree/InvenTree/settings.py
+++ b/InvenTree/InvenTree/settings.py
@@ -25,6 +25,7 @@ import moneyed
import yaml
from django.utils.translation import gettext_lazy as _
from django.contrib.messages import constants as messages
+from django.core.files.storage import default_storage
import django.conf.locale
from .config import get_base_dir, get_config_file, get_plugin_file, get_setting
@@ -920,3 +921,13 @@ CUSTOMIZE = get_setting(
{}
)
+CUSTOM_LOGO = get_setting(
+ 'INVENTREE_LOGO',
+ CONFIG.get('logo', False),
+ False
+)
+
+# check that the logo-file exsists in media
+if CUSTOM_LOGO and not default_storage.exists(CUSTOM_LOGO):
+ CUSTOM_LOGO = False
+ logger.warning("The custom logo file could not be found in the default media storage")
diff --git a/InvenTree/part/templatetags/inventree_extras.py b/InvenTree/part/templatetags/inventree_extras.py
index ad23487a83..aa8de13082 100644
--- a/InvenTree/part/templatetags/inventree_extras.py
+++ b/InvenTree/part/templatetags/inventree_extras.py
@@ -18,7 +18,8 @@ from django.conf import settings as djangosettings
from django import template
from django.urls import reverse
from django.utils.safestring import mark_safe
-from django.templatetags.static import StaticNode
+from django.templatetags.static import StaticNode, static
+from django.core.files.storage import default_storage
from InvenTree import version, settings
@@ -529,6 +530,15 @@ def inventree_customize(reference, *args, **kwargs):
return djangosettings.CUSTOMIZE.get(reference, '')
+@register.simple_tag()
+def inventree_logo(*args, **kwargs):
+ """ Return the path to the logo-file """
+
+ if settings.CUSTOM_LOGO:
+ return default_storage.url(settings.CUSTOM_LOGO)
+ return static('img/inventree.png')
+
+
class I18nStaticNode(StaticNode):
"""
custom StaticNode
diff --git a/InvenTree/templates/503.html b/InvenTree/templates/503.html
index fbee60c694..7b5b25d611 100644
--- a/InvenTree/templates/503.html
+++ b/InvenTree/templates/503.html
@@ -30,7 +30,7 @@
diff --git a/InvenTree/templates/account/base.html b/InvenTree/templates/account/base.html
index 06c9485fb5..9a68f7ba31 100644
--- a/InvenTree/templates/account/base.html
+++ b/InvenTree/templates/account/base.html
@@ -67,7 +67,7 @@
diff --git a/InvenTree/templates/navbar.html b/InvenTree/templates/navbar.html
index 9a0d87fb4d..6c7498c3a3 100644
--- a/InvenTree/templates/navbar.html
+++ b/InvenTree/templates/navbar.html
@@ -14,7 +14,7 @@
From a4af573812755fd7ed287df4e2cd68c360c8839b Mon Sep 17 00:00:00 2001
From: Matthias
Date: Sun, 24 Apr 2022 16:14:55 +0200
Subject: [PATCH 11/19] add logo option to config template
---
InvenTree/config_template.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/InvenTree/config_template.yaml b/InvenTree/config_template.yaml
index 1067910629..d817d15d9a 100644
--- a/InvenTree/config_template.yaml
+++ b/InvenTree/config_template.yaml
@@ -191,3 +191,4 @@ static_root: '/home/inventree/data/static'
# InvenTree demo instance - Click here for login details
# navbar_message: |
# InvenTree demo mode
+# logo: logo.png
From cd931af74f3e432b881910ef16931e2728ca1880 Mon Sep 17 00:00:00 2001
From: Matthias
Date: Sun, 24 Apr 2022 16:15:22 +0200
Subject: [PATCH 12/19] description for config values
---
InvenTree/config_template.yaml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/InvenTree/config_template.yaml b/InvenTree/config_template.yaml
index d817d15d9a..69944cf894 100644
--- a/InvenTree/config_template.yaml
+++ b/InvenTree/config_template.yaml
@@ -186,6 +186,9 @@ static_root: '/home/inventree/data/static'
# KEYCLOAK_URL: 'https://keycloak.custom/auth'
# KEYCLOAK_REALM: 'master'
+# Customization options
+# Add custom messages to the login page or main interface navbar or exchange the logo
+# Use environment variable INVENTREE_CUSTOMIZE or INVENTREE_LOGO
# customize:
# login_message: |
# InvenTree demo instance - Click here for login details
From f06a11e206e29df7539f2dd9722fe228ec101799 Mon Sep 17 00:00:00 2001
From: Matthias
Date: Sun, 24 Apr 2022 16:17:47 +0200
Subject: [PATCH 13/19] fix test
---
InvenTree/common/tests.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/InvenTree/common/tests.py b/InvenTree/common/tests.py
index 77a4f1a12d..c3ce4f9e51 100644
--- a/InvenTree/common/tests.py
+++ b/InvenTree/common/tests.py
@@ -63,8 +63,8 @@ class SettingsTest(TestCase):
report_test_obj = InvenTreeSetting.get_setting_object('REPORT_ENABLE_TEST_REPORT')
# check settings base fields
- self.assertEqual(instance_obj.name, 'InvenTree Instance Name')
- self.assertEqual(instance_obj.get_setting_name(instance_ref), 'InvenTree Instance Name')
+ self.assertEqual(instance_obj.name, 'Server Instance Name')
+ self.assertEqual(instance_obj.get_setting_name(instance_ref), 'Server Instance Name')
self.assertEqual(instance_obj.description, 'String descriptor for the server instance')
self.assertEqual(instance_obj.get_setting_description(instance_ref), 'String descriptor for the server instance')
From 2c653504ec2986e0ceed007ddf87af47174bbf1b Mon Sep 17 00:00:00 2001
From: Matthias
Date: Wed, 27 Apr 2022 13:00:03 +0200
Subject: [PATCH 14/19] Update logo settings references
---
InvenTree/InvenTree/settings.py | 5 ++---
InvenTree/config_template.yaml | 4 ++--
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py
index ec2cc3f8ea..3a562745f9 100644
--- a/InvenTree/InvenTree/settings.py
+++ b/InvenTree/InvenTree/settings.py
@@ -922,9 +922,8 @@ CUSTOMIZE = get_setting(
)
CUSTOM_LOGO = get_setting(
- 'INVENTREE_LOGO',
- CONFIG.get('logo', False),
- False
+ 'INVENTREE_CUSTOM_LOGO',
+ CUSTOMIZE.get('logo', False)
)
# check that the logo-file exsists in media
diff --git a/InvenTree/config_template.yaml b/InvenTree/config_template.yaml
index 69944cf894..8bb685f734 100644
--- a/InvenTree/config_template.yaml
+++ b/InvenTree/config_template.yaml
@@ -188,10 +188,10 @@ static_root: '/home/inventree/data/static'
# Customization options
# Add custom messages to the login page or main interface navbar or exchange the logo
-# Use environment variable INVENTREE_CUSTOMIZE or INVENTREE_LOGO
+# Use environment variable INVENTREE_CUSTOMIZE or INVENTREE_CUSTOM_LOGO
# customize:
# login_message: |
# InvenTree demo instance - Click here for login details
# navbar_message: |
# InvenTree demo mode
-# logo: logo.png
+# logo: logo.png
From f8b974186a7aec7f725ea028725a1ba5e51be362 Mon Sep 17 00:00:00 2001
From: Matthias
Date: Wed, 27 Apr 2022 13:00:45 +0200
Subject: [PATCH 15/19] shorten template code
---
InvenTree/config_template.yaml | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/InvenTree/config_template.yaml b/InvenTree/config_template.yaml
index 8bb685f734..50b6c3f4a0 100644
--- a/InvenTree/config_template.yaml
+++ b/InvenTree/config_template.yaml
@@ -190,8 +190,6 @@ static_root: '/home/inventree/data/static'
# Add custom messages to the login page or main interface navbar or exchange the logo
# Use environment variable INVENTREE_CUSTOMIZE or INVENTREE_CUSTOM_LOGO
# customize:
-# login_message: |
-# InvenTree demo instance - Click here for login details
-# navbar_message: |
-# InvenTree demo mode
+# login_message: InvenTree demo instance - Click here for login details
+# navbar_message: InvenTree demo mode
# logo: logo.png
From a02edca2d57337e0c4506be88896fd10f2b5b426 Mon Sep 17 00:00:00 2001
From: Matthias
Date: Wed, 27 Apr 2022 13:12:22 +0200
Subject: [PATCH 16/19] add another spacer
---
InvenTree/templates/navbar.html | 1 +
1 file changed, 1 insertion(+)
diff --git a/InvenTree/templates/navbar.html b/InvenTree/templates/navbar.html
index 6c7498c3a3..fa541f0cf0 100644
--- a/InvenTree/templates/navbar.html
+++ b/InvenTree/templates/navbar.html
@@ -93,6 +93,7 @@
{{ navbar_message|markdownify }}
{% include "spacer.html" %}
+ {% include "spacer.html" %}
{% endif %}
From bec2b1d9327dc7ba1f580ee360ba053a7a9f31cc Mon Sep 17 00:00:00 2001
From: Matthias
Date: Wed, 27 Apr 2022 13:12:48 +0200
Subject: [PATCH 17/19] make text bigger
---
InvenTree/config_template.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/InvenTree/config_template.yaml b/InvenTree/config_template.yaml
index 50b6c3f4a0..b9d14c4d4b 100644
--- a/InvenTree/config_template.yaml
+++ b/InvenTree/config_template.yaml
@@ -191,5 +191,5 @@ static_root: '/home/inventree/data/static'
# Use environment variable INVENTREE_CUSTOMIZE or INVENTREE_CUSTOM_LOGO
# customize:
# login_message: InvenTree demo instance - Click here for login details
-# navbar_message: InvenTree demo mode
+# navbar_message: InvenTree demo mode
# logo: logo.png
From 9c06d3b0820229257ccf11515e09e740851dd013 Mon Sep 17 00:00:00 2001
From: Matthias
Date: Wed, 27 Apr 2022 13:21:10 +0200
Subject: [PATCH 18/19] throw out markdown calculatinf
---
InvenTree/templates/account/login.html | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/InvenTree/templates/account/login.html b/InvenTree/templates/account/login.html
index 1a4df286bb..fcdd08a23c 100644
--- a/InvenTree/templates/account/login.html
+++ b/InvenTree/templates/account/login.html
@@ -1,7 +1,7 @@
{% extends "account/base.html" %}
{% load inventree_extras %}
-{% load i18n account socialaccount crispy_forms_tags inventree_extras markdownify %}
+{% load i18n account socialaccount crispy_forms_tags inventree_extras %}
{% block head_title %}{% trans "Sign In" %}{% endblock %}
@@ -37,8 +37,7 @@ for a account and sign in below:{% endblocktrans %}
{% if login_message %}
- {{ login_message|markdownify }}
-
+ {{ login_message }}
{% endif %}
{% trans "Sign In" %}
From 37ea6e119ed5a2a37d62213979ffedfd925a2825 Mon Sep 17 00:00:00 2001
From: Matthias
Date: Wed, 27 Apr 2022 13:21:23 +0200
Subject: [PATCH 19/19] just center content
---
InvenTree/templates/navbar.html | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/InvenTree/templates/navbar.html b/InvenTree/templates/navbar.html
index fa541f0cf0..d7d70db59f 100644
--- a/InvenTree/templates/navbar.html
+++ b/InvenTree/templates/navbar.html
@@ -2,7 +2,6 @@
{% load inventree_extras %}
{% load plugin_extras %}
{% load i18n %}
-{% load markdownify %}
{% settings_value 'BARCODE_ENABLE' as barcodes %}
{% settings_value 'STICKY_HEADER' user=request.user as sticky %}
@@ -89,8 +88,8 @@
{% if navbar_message %}
{% include "spacer.html" %}
-
- {{ navbar_message|markdownify }}
+
+ {{ navbar_message }}
{% include "spacer.html" %}
{% include "spacer.html" %}