2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-18 13:05:42 +00:00

Update requirements (#3228)

* Remove stat context variables

* Revert "Remove stat context variables"

This reverts commit 0989c308d0.

* remove old backport

* move requirements

* move isort

* move migrations-tests

* add pip-tools as req and add hook

* Use hashes and also run when txt files are added

* Update to hashes in requirements

* update requirements install path

* remove allauth-2fa for a test

* install dev-requirements

* re-enable allauth

* remove hashes from pre normal setup

* Remove version bindings if they are the laest

* move depencies to upper bound

* fix django-money

* remove windows specific requirements

* also install dependencies

* update markdownify

* remove django-admin-shell

* remove unneeded packages

* add docs

* remove pins and fix pre-commit pipeline

* pin django-money

* really remove admin shell

* return default behaviour for money serializer

* pip fix

* update filter name

* set decimal for output

* add migrations

* pin coveralls

* update requirements

Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.com>
This commit is contained in:
Matthias Mair
2022-06-28 14:12:00 +02:00
committed by GitHub
parent 1a90d06acc
commit cf70e4220f
23 changed files with 652 additions and 87 deletions

View File

@ -33,6 +33,7 @@ class InvenTreeMoneySerializer(MoneyField):
"""Overrite default values."""
kwargs["max_digits"] = kwargs.get("max_digits", 19)
kwargs["decimal_places"] = kwargs.get("decimal_places", 4)
kwargs["required"] = kwargs.get("required", False)
super().__init__(*args, **kwargs)

View File

@ -253,7 +253,6 @@ INSTALLED_APPS = [
'django_cleanup.apps.CleanupConfig', # Automatically delete orphaned MEDIA files
'mptt', # Modified Preorder Tree Traversal
'markdownify', # Markdown template rendering
'django_admin_shell', # Python shell for the admin interface
'djmoney', # django-money integration
'djmoney.contrib.exchange', # django-money exchange rates
'error_report', # Error reporting in the admin interface

View File

@ -152,7 +152,6 @@ frontendpatterns = [
# admin sites
re_path(f'^{settings.INVENTREE_ADMIN_URL}/error_log/', include('error_report.urls')),
re_path(f'^{settings.INVENTREE_ADMIN_URL}/shell/', include('django_admin_shell.urls')),
re_path(f'^{settings.INVENTREE_ADMIN_URL}/', admin.site.urls, name='inventree-admin'),
# DB user sessions

View File

@ -420,7 +420,7 @@ class BuildItemList(ListCreateAPI):
DjangoFilterBackend,
]
filter_fields = [
filterset_fields = [
'build',
'stock_item',
'bom_item',
@ -438,7 +438,7 @@ class BuildAttachmentList(AttachmentMixin, ListCreateDestroyAPIView):
DjangoFilterBackend,
]
filter_fields = [
filterset_fields = [
'build',
]

View File

@ -289,7 +289,7 @@ class NotificationList(BulkDeleteMixin, ListAPI):
'message',
]
filter_fields = [
filterset_fields = [
'category',
'read',
]

View File

@ -46,7 +46,7 @@ class CompanyList(ListCreateAPI):
filters.OrderingFilter,
]
filter_fields = [
filterset_fields = [
'is_customer',
'is_manufacturer',
'is_supplier',
@ -169,7 +169,7 @@ class ManufacturerPartAttachmentList(AttachmentMixin, ListCreateDestroyAPIView):
DjangoFilterBackend,
]
filter_fields = [
filterset_fields = [
'manufacturer_part',
]
@ -233,7 +233,7 @@ class ManufacturerPartParameterList(ListCreateDestroyAPIView):
filters.OrderingFilter,
]
filter_fields = [
filterset_fields = [
'name',
'value',
'units',
@ -333,7 +333,7 @@ class SupplierPartList(ListCreateDestroyAPIView):
filters.OrderingFilter,
]
filter_fields = [
filterset_fields = [
]
search_fields = [
@ -377,7 +377,7 @@ class SupplierPriceBreakList(ListCreateAPI):
DjangoFilterBackend,
]
filter_fields = [
filterset_fields = [
'part',
]

View File

@ -0,0 +1,20 @@
# Generated by Django 3.2.13 on 2022-06-27 23:08
import company.models
from django.db import migrations
import stdimage.models
class Migration(migrations.Migration):
dependencies = [
('company', '0045_alter_company_notes'),
]
operations = [
migrations.AlterField(
model_name='company',
name='image',
field=stdimage.models.StdImageField(blank=True, force_min_size=False, null=True, upload_to=company.models.rename_company_image, variations={'preview': (256, 256), 'thumbnail': (128, 128)}, verbose_name='Image'),
),
]

View File

@ -31,7 +31,7 @@ class LabelListView(ListAPI):
filters.SearchFilter
]
filter_fields = [
filterset_fields = [
'enabled',
]

View File

@ -70,7 +70,7 @@ class GeneralExtraLineList:
'reference'
]
filter_fields = [
filterset_fields = [
'order',
]
@ -540,7 +540,7 @@ class SalesOrderAttachmentList(AttachmentMixin, ListCreateDestroyAPIView):
rest_filters.DjangoFilterBackend,
]
filter_fields = [
filterset_fields = [
'order',
]
@ -672,7 +672,7 @@ class SalesOrderList(APIDownloadMixin, ListCreateAPI):
'reference': ['reference_int', 'reference'],
}
filter_fields = [
filterset_fields = [
'customer',
]
@ -814,7 +814,7 @@ class SalesOrderLineItemList(ListCreateAPI):
'reference',
]
filter_fields = [
filterset_fields = [
'order',
'part',
]
@ -990,7 +990,7 @@ class SalesOrderAllocationList(ListAPI):
]
# Default filterable fields
filter_fields = [
filterset_fields = [
]
@ -1069,7 +1069,7 @@ class PurchaseOrderAttachmentList(AttachmentMixin, ListCreateDestroyAPIView):
rest_filters.DjangoFilterBackend,
]
filter_fields = [
filterset_fields = [
'order',
]

View File

@ -135,7 +135,7 @@ class CategoryList(ListCreateAPI):
filters.OrderingFilter,
]
filter_fields = [
filterset_fields = [
]
ordering_fields = [
@ -281,7 +281,7 @@ class PartSalePriceList(ListCreateAPI):
DjangoFilterBackend
]
filter_fields = [
filterset_fields = [
'part',
]
@ -304,7 +304,7 @@ class PartInternalPriceList(ListCreateAPI):
DjangoFilterBackend
]
filter_fields = [
filterset_fields = [
'part',
]
@ -319,7 +319,7 @@ class PartAttachmentList(AttachmentMixin, ListCreateDestroyAPIView):
DjangoFilterBackend,
]
filter_fields = [
filterset_fields = [
'part',
]
@ -1412,7 +1412,7 @@ class PartParameterTemplateList(ListCreateAPI):
filters.SearchFilter,
]
filter_fields = [
filterset_fields = [
'name',
]
@ -1477,7 +1477,7 @@ class PartParameterList(ListCreateAPI):
DjangoFilterBackend
]
filter_fields = [
filterset_fields = [
'part',
'template',
]
@ -1758,7 +1758,7 @@ class BomList(ListCreateDestroyAPIView):
filters.OrderingFilter,
]
filter_fields = [
filterset_fields = [
]
@ -1857,7 +1857,7 @@ class BomItemSubstituteList(ListCreateAPI):
filters.OrderingFilter,
]
filter_fields = [
filterset_fields = [
'part',
'bom_item',
]

View File

@ -0,0 +1,20 @@
# Generated by Django 3.2.13 on 2022-06-27 23:08
from django.db import migrations
import part.models
import stdimage.models
class Migration(migrations.Migration):
dependencies = [
('part', '0079_alter_part_notes'),
]
operations = [
migrations.AlterField(
model_name='part',
name='image',
field=stdimage.models.StdImageField(blank=True, force_min_size=False, null=True, upload_to=part.models.rename_part_image, variations={'preview': (256, 256), 'thumbnail': (128, 128)}, verbose_name='Image'),
),
]

View File

@ -62,7 +62,7 @@ class PluginList(ListAPI):
filters.OrderingFilter,
]
filter_fields = [
filterset_fields = [
'active',
]
@ -140,7 +140,7 @@ class PluginSettingList(ListAPI):
DjangoFilterBackend,
]
filter_fields = [
filterset_fields = [
'plugin__active',
'plugin__key',
]

View File

@ -34,7 +34,7 @@ class ReportListView(ListAPI):
filters.SearchFilter,
]
filter_fields = [
filterset_fields = [
'enabled',
]

View File

@ -283,7 +283,7 @@ class StockLocationList(ListCreateAPI):
filters.OrderingFilter,
]
filter_fields = [
filterset_fields = [
]
search_fields = [
@ -1064,7 +1064,7 @@ class StockAttachmentList(AttachmentMixin, ListCreateDestroyAPIView):
filters.SearchFilter,
]
filter_fields = [
filterset_fields = [
'stock_item',
]
@ -1095,7 +1095,7 @@ class StockItemTestResultList(ListCreateDestroyAPIView):
filters.OrderingFilter,
]
filter_fields = [
filterset_fields = [
'test',
'user',
'result',
@ -1302,7 +1302,7 @@ class StockTrackingList(ListAPI):
filters.OrderingFilter,
]
filter_fields = [
filterset_fields = [
'item',
'user',
]

View File

@ -183,7 +183,11 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeModelSerializer):
def get_purchase_price_string(self, obj):
"""Return purchase price as string."""
return str(obj.purchase_price) if obj.purchase_price else '-'
if obj.purchase_price:
obj.purchase_price.decimal_places_display = 4
return str(obj.purchase_price)
return '-'
purchase_order_reference = serializers.CharField(source='purchase_order.reference', read_only=True)
sales_order_reference = serializers.CharField(source='sales_order.reference', read_only=True)