diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 48c99cbbb5..3ea2e11a44 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -773,6 +773,18 @@ class InvenTreeUserSetting(BaseInvenTreeSetting): 'default': True, 'validator': bool, }, + 'HOMEPAGE_PART_LATEST': { + 'name': _('Show latest parts'), + 'description': _('Show latest parts on the homepage'), + 'default': True, + 'validator': bool, + }, + 'HOMEPAGE_BOM_VALIDATION': { + 'name': _('Show starunvalidated BOMs'), + 'description': _('Show BOMs that await validation on the homepage'), + 'default': True, + 'validator': bool, + }, } class Meta: diff --git a/InvenTree/templates/InvenTree/index.html b/InvenTree/templates/InvenTree/index.html index a3d793dd26..aa5272760f 100644 --- a/InvenTree/templates/InvenTree/index.html +++ b/InvenTree/templates/InvenTree/index.html @@ -95,11 +95,21 @@ function addHeaderAction(label, title, icon, options) { {% if roles.part.view %} addHeaderTitle('{% trans "Parts" %}'); + +{% settings_value 'HOMEPAGE_PART_STARRED' user=request.user as setting_part_starred %} +{% if setting_part_starred %} addHeaderAction('starred-parts', '{% trans "Starred Parts" %}', 'fa-star'); +loadSimplePartTable("#table-starred-parts", "{% url 'api-part-list' %}", { + params: { + "starred": true, + }, + name: 'starred_parts', +}); +{% endif %} + +{% settings_value 'HOMEPAGE_PART_LATEST' user=request.user as setting_part_latest %} +{% if setting_part_latest %} addHeaderAction('latest-parts', '{% trans "Latest Parts" %}', 'fa-newspaper'); -addHeaderAction('bom-validation', '{% trans "BOM Waiting Validation" %}', 'fa-times-circle'); - - loadSimplePartTable("#table-latest-parts", "{% url 'api-part-list' %}", { params: { ordering: "-creation_date", @@ -107,21 +117,18 @@ loadSimplePartTable("#table-latest-parts", "{% url 'api-part-list' %}", { }, name: 'latest_parts', }); +{% endif %} -loadSimplePartTable("#table-starred-parts", "{% url 'api-part-list' %}", { - params: { - "starred": true, - }, - name: 'starred_parts', -}); - +{% settings_value 'HOMEPAGE_BOM_VALIDATION' user=request.user as setting_bom_validation %} +{% if setting_bom_validation %} +addHeaderAction('bom-validation', '{% trans "BOM Waiting Validation" %}', 'fa-times-circle'); loadSimplePartTable("#table-bom-validation", "{% url 'api-part-list' %}", { params: { "bom_valid": false, }, name: 'bom_invalid_parts', }); - +{% endif %} {% endif %} {% if roles.stock.view %} diff --git a/InvenTree/templates/InvenTree/settings/appearance.html b/InvenTree/templates/InvenTree/settings/appearance.html index 6f4f406c62..43f1242cbf 100644 --- a/InvenTree/templates/InvenTree/settings/appearance.html +++ b/InvenTree/templates/InvenTree/settings/appearance.html @@ -69,6 +69,9 @@ {% include "InvenTree/settings/header.html" %} {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_PART_STARRED" user_setting=True %} + {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_PART_LATEST" user_setting=True %} + {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_BOM_VALIDATION" user_setting=True %} +