From de89c3997d700171b7a6d51674b385e27d7e4753 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 27 Jul 2021 00:20:31 +1000 Subject: [PATCH] Refactoring a lot of existing settings views --- InvenTree/InvenTree/urls.py | 14 +-- InvenTree/InvenTree/views.py | 2 +- .../InvenTree/settings/appearance.html | 19 ++-- .../templates/InvenTree/settings/build.html | 10 +-- .../templates/InvenTree/settings/global.html | 11 ++- .../templates/InvenTree/settings/navbar.html | 89 ++++++++++++++++++ .../templates/InvenTree/settings/part.html | 10 +-- .../templates/InvenTree/settings/po.html | 10 +-- .../templates/InvenTree/settings/report.html | 10 +-- .../InvenTree/settings/settings.html | 64 +++++++++---- .../templates/InvenTree/settings/so.html | 10 +-- .../templates/InvenTree/settings/stock.html | 11 +-- .../templates/InvenTree/settings/tabs.html | 18 ++-- .../templates/InvenTree/settings/user.html | 90 +++++++------------ .../InvenTree/settings/user_settings.html | 12 +-- InvenTree/templates/panel.html | 13 +++ 16 files changed, 232 insertions(+), 161 deletions(-) create mode 100644 InvenTree/templates/InvenTree/settings/navbar.html create mode 100644 InvenTree/templates/panel.html diff --git a/InvenTree/InvenTree/urls.py b/InvenTree/InvenTree/urls.py index 3cc50bc889..f7581982a7 100644 --- a/InvenTree/InvenTree/urls.py +++ b/InvenTree/InvenTree/urls.py @@ -79,19 +79,11 @@ apipatterns = [ settings_urls = [ - url(r'^usersettings/', SettingsView.as_view(template_name='InvenTree/settings/user_settings.html'), name='settings-user-settings'), - url(r'^user/?', SettingsView.as_view(template_name='InvenTree/settings/user.html'), name='settings-user'), - url(r'^appearance/?', AppearanceSelectView.as_view(), name='settings-appearance'), url(r'^i18n/?', include('django.conf.urls.i18n')), + + url(r'^appearance/?', AppearanceSelectView.as_view(), name='settings-appearance'), - url(r'^global/', SettingsView.as_view(template_name='InvenTree/settings/global.html'), name='settings-global'), - url(r'^report/', SettingsView.as_view(template_name='InvenTree/settings/report.html'), name='settings-report'), url(r'^category/', SettingCategorySelectView.as_view(), name='settings-category'), - url(r'^part/', SettingsView.as_view(template_name='InvenTree/settings/part.html'), name='settings-part'), - url(r'^stock/', SettingsView.as_view(template_name='InvenTree/settings/stock.html'), name='settings-stock'), - url(r'^build/', SettingsView.as_view(template_name='InvenTree/settings/build.html'), name='settings-build'), - url(r'^purchase-order/', SettingsView.as_view(template_name='InvenTree/settings/po.html'), name='settings-po'), - url(r'^sales-order/', SettingsView.as_view(template_name='InvenTree/settings/so.html'), name='settings-so'), url(r'^currencies/', CurrencySettingsView.as_view(), name='settings-currencies'), url(r'^currencies-refresh/', CurrencyRefreshView.as_view(), name='settings-currencies-refresh'), @@ -99,7 +91,7 @@ settings_urls = [ url(r'^(?P\d+)/edit/', SettingEdit.as_view(), name='setting-edit'), # Catch any other urls - url(r'^.*$', SettingsView.as_view(template_name='InvenTree/settings/user.html'), name='settings'), + url(r'^.*$', SettingsView.as_view(template_name='InvenTree/settings/settings.html'), name='settings'), ] # Some javascript files are served 'dynamically', allowing them to pass through the Django translation layer diff --git a/InvenTree/InvenTree/views.py b/InvenTree/InvenTree/views.py index 4b559642ca..3850dc5e0a 100644 --- a/InvenTree/InvenTree/views.py +++ b/InvenTree/InvenTree/views.py @@ -779,7 +779,7 @@ class SettingsView(TemplateView): """ View for configuring User settings """ - template_name = "InvenTree/settings.html" + template_name = "InvenTree/settings/settings.html" def get_context_data(self, **kwargs): diff --git a/InvenTree/templates/InvenTree/settings/appearance.html b/InvenTree/templates/InvenTree/settings/appearance.html index d0b414e423..b8d8923859 100644 --- a/InvenTree/templates/InvenTree/settings/appearance.html +++ b/InvenTree/templates/InvenTree/settings/appearance.html @@ -1,16 +1,14 @@ -{% extends "InvenTree/settings/settings.html" %} +{% extends "panel.html" %} + {% load i18n %} -{% load inventree_extras %} -{% block tabs %} -{% include "InvenTree/settings/tabs.html" with tab='theme' %} +{% block label %}appearance{% endblock %} + +{% block heading %} +{% trans "Appearance" %} {% endblock %} -{% block subtitle %} -{% trans "Theme Settings" %} -{% endblock %} - -{% block settings %} +{% block content %}
@@ -33,15 +31,12 @@
{% endif %} -

{% trans "Language" %}

- -
{% csrf_token %} diff --git a/InvenTree/templates/InvenTree/settings/build.html b/InvenTree/templates/InvenTree/settings/build.html index 7d04a8f8b7..6d16512a99 100644 --- a/InvenTree/templates/InvenTree/settings/build.html +++ b/InvenTree/templates/InvenTree/settings/build.html @@ -1,16 +1,14 @@ -{% extends "InvenTree/settings/settings.html" %} +{% extends "panel.html" %} {% load i18n %} {% load inventree_extras %} -{% block tabs %} -{% include "InvenTree/settings/tabs.html" with tab='build' %} -{% endblock %} +{% block label %}build-order{% endblock %} -{% block subtitle %} +{% block heading %} {% trans "Build Order Settings" %} {% endblock %} -{% block settings %} +{% block content %} {% include "InvenTree/settings/header.html" %} diff --git a/InvenTree/templates/InvenTree/settings/global.html b/InvenTree/templates/InvenTree/settings/global.html index 0c10a13271..45b83e3851 100644 --- a/InvenTree/templates/InvenTree/settings/global.html +++ b/InvenTree/templates/InvenTree/settings/global.html @@ -1,16 +1,15 @@ -{% extends "InvenTree/settings/settings.html" %} +{% extends "panel.html" %} {% load i18n %} {% load inventree_extras %} -{% block tabs %} -{% include "InvenTree/settings/tabs.html" with tab='global' %} -{% endblock %} +{% block label %}global{% endblock %} -{% block subtitle %} + +{% block heading %} {% trans "Global InvenTree Settings" %} {% endblock %} -{% block settings %} +{% block content %}
{% include "InvenTree/settings/header.html" %} diff --git a/InvenTree/templates/InvenTree/settings/navbar.html b/InvenTree/templates/InvenTree/settings/navbar.html new file mode 100644 index 0000000000..4dcb92c8b2 --- /dev/null +++ b/InvenTree/templates/InvenTree/settings/navbar.html @@ -0,0 +1,89 @@ +{% load i18n %} + + \ No newline at end of file diff --git a/InvenTree/templates/InvenTree/settings/part.html b/InvenTree/templates/InvenTree/settings/part.html index 4f49a63cb4..7acb116616 100644 --- a/InvenTree/templates/InvenTree/settings/part.html +++ b/InvenTree/templates/InvenTree/settings/part.html @@ -1,15 +1,13 @@ -{% extends "InvenTree/settings/settings.html" %} +{% extends "panel.html" %} {% load i18n %} -{% block tabs %} -{% include "InvenTree/settings/tabs.html" with tab='part' %} -{% endblock %} +{% block label %}parts{% endblock %} -{% block subtitle %} +{% block heading %} {% trans "Part Settings" %} {% endblock %} -{% block settings %} +{% block content %}

{% trans "Part Options" %}

diff --git a/InvenTree/templates/InvenTree/settings/po.html b/InvenTree/templates/InvenTree/settings/po.html index 20e3b0074b..f8a114bb12 100644 --- a/InvenTree/templates/InvenTree/settings/po.html +++ b/InvenTree/templates/InvenTree/settings/po.html @@ -1,15 +1,13 @@ -{% extends "InvenTree/settings/settings.html" %} +{% extends "panel.html" %} {% load i18n %} -{% block tabs %} -{% include "InvenTree/settings/tabs.html" with tab='po' %} -{% endblock %} +{% block label %}purchase-order{% endblock %} -{% block subtitle %} +{% block heading %} {% trans "Purchase Order Settings" %} {% endblock %} -{% block settings %} +{% block content %}
{% include "InvenTree/settings/header.html" %} diff --git a/InvenTree/templates/InvenTree/settings/report.html b/InvenTree/templates/InvenTree/settings/report.html index 4e68030ee5..b9a2bd6aec 100644 --- a/InvenTree/templates/InvenTree/settings/report.html +++ b/InvenTree/templates/InvenTree/settings/report.html @@ -1,16 +1,14 @@ -{% extends "InvenTree/settings/settings.html" %} +{% extends "panel.html" %} {% load i18n %} {% load inventree_extras %} -{% block tabs %} -{% include "InvenTree/settings/tabs.html" with tab='report' %} -{% endblock %} +{% block label %}reporting{% endblock %} -{% block subtitle %} +{% block heading %} {% trans "Report Settings" %} {% endblock %} -{% block settings %} +{% block content %}
{% include "InvenTree/settings/header.html" %} diff --git a/InvenTree/templates/InvenTree/settings/settings.html b/InvenTree/templates/InvenTree/settings/settings.html index 03cf276594..b845252fd0 100644 --- a/InvenTree/templates/InvenTree/settings/settings.html +++ b/InvenTree/templates/InvenTree/settings/settings.html @@ -8,30 +8,26 @@ {% inventree_title %} | {% trans "Settings" %} {% endblock %} +{% block menubar %} +{% include "InvenTree/settings/navbar.html" %} +{% endblock %} + {% block content %} -
-

InvenTree {% trans "Settings" %}

-
+{% include "InvenTree/settings/user.html" %} +{% include "InvenTree/settings/user_settings.html" %} -
- {% block tabs %} - {% include "InvenTree/settings/tabs.html" %} - {% endblock %} -
+{% if user.is_staff %} -
-

- {% block subtitle %} - SUBTITLE GOES HERE - {% endblock %} -

-
- {% block settings %} - {% endblock %} -
+{% include "InvenTree/settings/global.html" %} +{% include "InvenTree/settings/report.html" %} +{% include "InvenTree/settings/part.html" %} +{% include "InvenTree/settings/stock.html" %} +{% include "InvenTree/settings/build.html" %} +{% include "InvenTree/settings/po.html" %} +{% include "InvenTree/settings/so.html" %} -
+{% endif %} {% endblock %} @@ -59,4 +55,34 @@ $('table').find('.btn-edit-setting').click(function() { ); }); +$("#edit-user").on('click', function() { + launchModalForm( + "{% url 'edit-user' %}", + { + reload: true, + } + ); +}); + +$("#edit-password").on('click', function() { + launchModalForm( + "{% url 'set-password' %}", + { + reload: true, + } + ); +}); + + + +enableNavbar({ + label: 'settings', + toggleId: '#item-menu-toggle', +}); + +attachNavCallbacks({ + name: 'settings', + default: 'account' +}); + {% endblock %} diff --git a/InvenTree/templates/InvenTree/settings/so.html b/InvenTree/templates/InvenTree/settings/so.html index 4ef1709068..2fe5680d71 100644 --- a/InvenTree/templates/InvenTree/settings/so.html +++ b/InvenTree/templates/InvenTree/settings/so.html @@ -1,15 +1,13 @@ -{% extends "InvenTree/settings/settings.html" %} +{% extends "panel.html" %} {% load i18n %} -{% block tabs %} -{% include "InvenTree/settings/tabs.html" with tab='so' %} -{% endblock %} +{% block label %}sales-order{% endblock %} -{% block subtitle %} +{% block heading %} {% trans "Sales Order Settings" %} {% endblock %} -{% block settings %} +{% block content %}
{% include "InvenTree/settings/header.html" %} diff --git a/InvenTree/templates/InvenTree/settings/stock.html b/InvenTree/templates/InvenTree/settings/stock.html index 7cf7a94e0b..feb072815a 100644 --- a/InvenTree/templates/InvenTree/settings/stock.html +++ b/InvenTree/templates/InvenTree/settings/stock.html @@ -1,16 +1,13 @@ -{% extends "InvenTree/settings/settings.html" %} +{% extends "panel.html" %} {% load i18n %} -{% block tabs %} -{% include "InvenTree/settings/tabs.html" with tab='stock' %} -{% endblock %} +{% block label %}stock{% endblock %} -{% block subtitle %} +{% block heading %} {% trans "Stock Settings" %} {% endblock %} -{% block settings %} -

{% trans "Stock Options" %}

+{% block content %}
{% include "InvenTree/settings/header.html" %} diff --git a/InvenTree/templates/InvenTree/settings/tabs.html b/InvenTree/templates/InvenTree/settings/tabs.html index 846dfccd23..cde540898c 100644 --- a/InvenTree/templates/InvenTree/settings/tabs.html +++ b/InvenTree/templates/InvenTree/settings/tabs.html @@ -3,44 +3,44 @@

{% trans "User Settings" %}

{% if user.is_staff %}

{% trans "InvenTree Settings" %}

{% endif %} diff --git a/InvenTree/templates/InvenTree/settings/user.html b/InvenTree/templates/InvenTree/settings/user.html index 1606a05cec..bc1d5c7699 100644 --- a/InvenTree/templates/InvenTree/settings/user.html +++ b/InvenTree/templates/InvenTree/settings/user.html @@ -1,69 +1,39 @@ -{% extends "InvenTree/settings/settings.html" %} +{% extends "panel.html" %} {% load i18n %} -{% block tabs %} -{% include "InvenTree/settings/tabs.html" with tab='user' %} +{% block label %}account{% endblock %} + +{% block heading %} +{% trans "Account Settings" %} {% endblock %} -{% block subtitle %} -{% trans "User Settings" %} -{% endblock %} - -{% block settings %} - -
-

{% trans "User Information" %}

-
-
- {% trans "Edit" %} -
-
- {% trans "Set Password" %} -
+{% block content %} +
+
+ {% trans "Edit" %} +
+
+ {% trans "Set Password" %}
- -
- - - - - - - - - - - - - - - - -
{% trans "Username" %}{{ user.username }}
{% trans "First Name" %}{{ user.first_name }}
{% trans "Last Name" %}{{ user.last_name }}
{% trans "Email Address" %}{{ user.email }}
-{% endblock %} - -{% block js_ready %} -{{ block.super }} - - $("#edit-user").on('click', function() { - launchModalForm( - "{% url 'edit-user' %}", - { - reload: true, - } - ); - }); - - $("#edit-password").on('click', function() { - launchModalForm( - "{% url 'set-password' %}", - { - reload: true, - } - ); - }); - + + + + + + + + + + + + + + + + + +
{% trans "Username" %}{{ user.username }}
{% trans "First Name" %}{{ user.first_name }}
{% trans "Last Name" %}{{ user.last_name }}
{% trans "Email Address" %}{{ user.email }}
{% endblock %} \ No newline at end of file diff --git a/InvenTree/templates/InvenTree/settings/user_settings.html b/InvenTree/templates/InvenTree/settings/user_settings.html index 0b76b930c5..00c1ac6f5a 100644 --- a/InvenTree/templates/InvenTree/settings/user_settings.html +++ b/InvenTree/templates/InvenTree/settings/user_settings.html @@ -1,16 +1,15 @@ -{% extends "InvenTree/settings/settings.html" %} +{% extends "panel.html" %} + {% load i18n %} {% load inventree_extras %} -{% block tabs %} -{% include "InvenTree/settings/tabs.html" with tab='user_settings' %} -{% endblock %} +{% block label %}user-settings{% endblock %} -{% block subtitle %} +{% block heading %} {% trans "User Settings" %} {% endblock %} -{% block settings %} +{% block content %}
@@ -38,4 +37,5 @@
+ {% endblock %} diff --git a/InvenTree/templates/panel.html b/InvenTree/templates/panel.html new file mode 100644 index 0000000000..4fb2e87bc7 --- /dev/null +++ b/InvenTree/templates/panel.html @@ -0,0 +1,13 @@ +
+ {% block panel_heading %} +
+

{% block heading %}HEADING{% endblock %}

+
+ {% endblock %} + {% block panel_content %} +
+ {% block content %} + {% endblock %} +
+ {% endblock %} +
\ No newline at end of file