diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index ae5f2bb9e1..6d11d6a74e 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 123 +INVENTREE_API_VERSION = 124 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v124 -> 2023-06-17 : https://github.com/inventree/InvenTree/pull/5057 + - Add "created_before" and "created_after" filters to the Part API + v123 -> 2023-06-15 : https://github.com/inventree/InvenTree/pull/5019 - Add Metadata to: Plugin Config diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 8bcdec7eba..2177521480 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -1775,13 +1775,6 @@ class InvenTreeUserSetting(BaseInvenTreeSetting): 'validator': bool, }, - 'PART_RECENT_COUNT': { - 'name': _('Recent Part Count'), - 'description': _('Number of recent parts to display on index page'), - 'default': 10, - 'validator': [int, MinValueValidator(1)] - }, - 'HOMEPAGE_BOM_REQUIRES_VALIDATION': { 'name': _('Show unvalidated BOMs'), 'description': _('Show BOMs that await validation on the homepage'), @@ -1796,13 +1789,6 @@ class InvenTreeUserSetting(BaseInvenTreeSetting): 'validator': bool, }, - 'STOCK_RECENT_COUNT': { - 'name': _('Recent Stock Count'), - 'description': _('Number of recent stock items to display on index page'), - 'default': 10, - 'validator': [int, MinValueValidator(1)] - }, - 'HOMEPAGE_STOCK_LOW': { 'name': _('Show low stock'), 'description': _('Show low stock items on the homepage'), diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index a65a8bf583..b47175c3f0 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -990,6 +990,10 @@ class PartFilter(rest_filters.FilterSet): tags_slug = rest_filters.CharFilter(field_name='tags__slug', lookup_expr='iexact') + # Created date filters + created_before = rest_filters.DateFilter(label='Updated before', field_name='creation_date', lookup_expr='lte') + created_after = rest_filters.DateFilter(label='Updated after', field_name='creation_date', lookup_expr='gte') + class PartMixin: """Mixin class for Part API endpoints""" diff --git a/InvenTree/templates/InvenTree/index.html b/InvenTree/templates/InvenTree/index.html index 94a0713957..03b64bfa41 100644 --- a/InvenTree/templates/InvenTree/index.html +++ b/InvenTree/templates/InvenTree/index.html @@ -60,11 +60,16 @@ function addHeaderAction(label, title, icon, options) { ` ); - // Connect a callback to the table - $(`#table-${label}`).on('load-success.bs.table', function() { - var count = $(`#table-${label}`).bootstrapTable('getData').length; + let table_name = `#table-${label}`; - var badge = $(`#sidebar-badge-${label}`); + // Connect a callback to the table + $(table_name).on('load-success.bs.table', function(data) { + + let options = $(table_name).bootstrapTable('getOptions'); + + let count = options.totalRows; + + let badge = $(`#sidebar-badge-${label}`); badge.html(count); @@ -113,7 +118,7 @@ addHeaderAction('latest-parts', '{% trans "Latest Parts" %}', 'fa-newspaper'); loadSimplePartTable("#table-latest-parts", "{% url 'api-part-list' %}", { params: { ordering: "-creation_date", - limit: {% settings_value "PART_RECENT_COUNT" user=request.user %}, + created_after: moment().subtract(1, 'months').format('YYYY-MM-DD'), {% if hide_inactive %} active: true, {% endif %} @@ -150,14 +155,13 @@ loadSimplePartTable("#table-bom-validation", "{% url 'api-part-list' %}", { {% endif %} {% if roles.stock.view %} - {% if setting_stock_recent %} addHeaderAction('recently-updated-stock', '{% trans "Recently Updated" %}', 'fa-clock'); loadStockTable($('#table-recently-updated-stock'), { params: { part_detail: true, ordering: "-updated", - limit: {% settings_value "STOCK_RECENT_COUNT" user=request.user %}, + updated_after: moment().subtract(1, 'months').format('YYYY-MM-DD'), }, name: 'recently-updated-stock', }); diff --git a/InvenTree/templates/InvenTree/settings/user_homepage.html b/InvenTree/templates/InvenTree/settings/user_homepage.html index 4a990e5138..7696024423 100644 --- a/InvenTree/templates/InvenTree/settings/user_homepage.html +++ b/InvenTree/templates/InvenTree/settings/user_homepage.html @@ -18,11 +18,9 @@ {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_PART_STARRED" icon='fa-bell' user_setting=True %} {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_CATEGORY_STARRED" icon='fa-bell' user_setting=True %} {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_PART_LATEST" icon='fa-history' user_setting=True %} - {% include "InvenTree/settings/setting.html" with key="PART_RECENT_COUNT" icon="fa-clock" user_setting=True %} {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_BOM_REQUIRES_VALIDATION" user_setting=True %} {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_STOCK_RECENT" icon='fa-history' user_setting=True %} - {% include "InvenTree/settings/setting.html" with key="STOCK_RECENT_COUNT" icon="fa-clock" user_setting=True %} {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_STOCK_LOW" user_setting=True %} {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_SHOW_STOCK_DEPLETED" user_setting=True %} {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_BUILD_STOCK_NEEDED" user_setting=True %}