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:
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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',
|
||||
]
|
||||
|
||||
|
@ -289,7 +289,7 @@ class NotificationList(BulkDeleteMixin, ListAPI):
|
||||
'message',
|
||||
]
|
||||
|
||||
filter_fields = [
|
||||
filterset_fields = [
|
||||
'category',
|
||||
'read',
|
||||
]
|
||||
|
@ -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',
|
||||
]
|
||||
|
||||
|
20
InvenTree/company/migrations/0046_alter_company_image.py
Normal file
20
InvenTree/company/migrations/0046_alter_company_image.py
Normal 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'),
|
||||
),
|
||||
]
|
@ -31,7 +31,7 @@ class LabelListView(ListAPI):
|
||||
filters.SearchFilter
|
||||
]
|
||||
|
||||
filter_fields = [
|
||||
filterset_fields = [
|
||||
'enabled',
|
||||
]
|
||||
|
||||
|
@ -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',
|
||||
]
|
||||
|
||||
|
@ -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',
|
||||
]
|
||||
|
20
InvenTree/part/migrations/0080_alter_part_image.py
Normal file
20
InvenTree/part/migrations/0080_alter_part_image.py
Normal 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'),
|
||||
),
|
||||
]
|
@ -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',
|
||||
]
|
||||
|
@ -34,7 +34,7 @@ class ReportListView(ListAPI):
|
||||
filters.SearchFilter,
|
||||
]
|
||||
|
||||
filter_fields = [
|
||||
filterset_fields = [
|
||||
'enabled',
|
||||
]
|
||||
|
||||
|
@ -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',
|
||||
]
|
||||
|
@ -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)
|
||||
|
Reference in New Issue
Block a user