diff --git a/.travis.yml b/.travis.yml index 91d1431f2f..00d049b7a1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,8 @@ dist: xenial language: python python: - - 3.5 + - 3.6 + - 3.7 addons: apt-packages: diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index 699671642f..dc6e484ec0 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -26,7 +26,7 @@ class BuildList(generics.ListCreateAPIView): serializer_class = BuildSerializer permission_classes = [ - permissions.IsAuthenticatedOrReadOnly, + permissions.IsAuthenticated, ] filter_backends = [ @@ -47,7 +47,7 @@ class BuildDetail(generics.RetrieveUpdateAPIView): serializer_class = BuildSerializer permission_classes = [ - permissions.IsAuthenticatedOrReadOnly, + permissions.IsAuthenticated, ] @@ -80,7 +80,7 @@ class BuildItemList(generics.ListCreateAPIView): return query permission_classes = [ - permissions.IsAuthenticatedOrReadOnly, + permissions.IsAuthenticated, ] filter_backends = [ diff --git a/InvenTree/company/api.py b/InvenTree/company/api.py index 50048eb322..e1b02a76fa 100644 --- a/InvenTree/company/api.py +++ b/InvenTree/company/api.py @@ -32,7 +32,7 @@ class CompanyList(generics.ListCreateAPIView): serializer_class = CompanySerializer queryset = Company.objects.all() permission_classes = [ - permissions.IsAuthenticatedOrReadOnly, + permissions.IsAuthenticated, ] filter_backends = [ @@ -66,7 +66,7 @@ class CompanyDetail(generics.RetrieveUpdateDestroyAPIView): serializer_class = CompanySerializer permission_classes = [ - permissions.IsAuthenticatedOrReadOnly, + permissions.IsAuthenticated, ] @@ -102,7 +102,7 @@ class SupplierPartList(generics.ListCreateAPIView): serializer_class = SupplierPartSerializer permission_classes = [ - permissions.IsAuthenticatedOrReadOnly, + permissions.IsAuthenticated, ] filter_backends = [ @@ -135,7 +135,7 @@ class SupplierPartDetail(generics.RetrieveUpdateDestroyAPIView): queryset = SupplierPart.objects.all() serializer_class = SupplierPartSerializer - permission_classes = (permissions.IsAuthenticatedOrReadOnly,) + permission_classes = (permissions.IsAuthenticated,) read_only_fields = [ ] @@ -152,7 +152,7 @@ class SupplierPriceBreakList(generics.ListCreateAPIView): serializer_class = SupplierPriceBreakSerializer permission_classes = [ - permissions.IsAuthenticatedOrReadOnly, + permissions.IsAuthenticated, ] filter_backends = [ diff --git a/InvenTree/company/templates/company/partdetail.html b/InvenTree/company/templates/company/partdetail.html index 681ba25074..d945ec31c4 100644 --- a/InvenTree/company/templates/company/partdetail.html +++ b/InvenTree/company/templates/company/partdetail.html @@ -10,19 +10,26 @@ InvenTree | {{ company.name }} - Parts

Supplier Part

-

{{ part.supplier.name }} - {{ part.SKU }}

+
+
+ + +
+
-

- -

+
+ +
@@ -30,17 +37,18 @@ InvenTree | {{ company.name }} - Parts
+

Supplier Part Details

- - + + {% if part.URL %} {% endif %} @@ -58,10 +66,8 @@ InvenTree | {{ company.name }} - Parts
+

Pricing Information

Supplier{{ part.supplier.name }}
SKU{{ part.SKU }}
Internal Part - {% if part.part %} - {{ part.part.full_name }} - {% endif %} + {% if part.part %} + {{ part.part.full_name }} + {% endif %}
Supplier{{ part.supplier.name }}
SKU{{ part.SKU }}
URL{{ part.URL }}
- - - {% if part.base_cost > 0 %} diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index f7b02ccfa4..1c6678f2d3 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -54,7 +54,7 @@ class CategoryList(generics.ListCreateAPIView): serializer_class = CategorySerializer permission_classes = [ - permissions.IsAuthenticatedOrReadOnly, + permissions.IsAuthenticated, ] filter_backends = [ @@ -91,7 +91,7 @@ class PartDetail(generics.RetrieveUpdateAPIView): serializer_class = PartSerializer permission_classes = [ - permissions.IsAuthenticatedOrReadOnly, + permissions.IsAuthenticated, ] @@ -178,7 +178,7 @@ class PartList(generics.ListCreateAPIView): return parts_list permission_classes = [ - permissions.IsAuthenticatedOrReadOnly, + permissions.IsAuthenticated, ] filter_backends = [ @@ -243,7 +243,7 @@ class PartStarList(generics.ListCreateAPIView): return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers) permission_classes = [ - permissions.IsAuthenticatedOrReadOnly, + permissions.IsAuthenticated, ] filter_backends = [ @@ -292,7 +292,7 @@ class BomList(generics.ListCreateAPIView): return queryset permission_classes = [ - permissions.IsAuthenticatedOrReadOnly, + permissions.IsAuthenticated, ] filter_backends = [ @@ -314,7 +314,7 @@ class BomDetail(generics.RetrieveUpdateDestroyAPIView): serializer_class = BomItemSerializer permission_classes = [ - permissions.IsAuthenticatedOrReadOnly, + permissions.IsAuthenticated, ] diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 8d08b8da7d..fffcf5aef1 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -57,7 +57,7 @@ class StockDetail(generics.RetrieveUpdateDestroyAPIView): queryset = StockItem.objects.all() serializer_class = StockItemSerializer - permission_classes = (permissions.IsAuthenticatedOrReadOnly,) + permission_classes = (permissions.IsAuthenticated,) class StockFilter(FilterSet): @@ -83,7 +83,7 @@ class StockStocktake(APIView): """ permission_classes = [ - permissions.IsAuthenticatedOrReadOnly, + permissions.IsAuthenticated, ] def post(self, request, *args, **kwargs): @@ -153,7 +153,7 @@ class StockMove(APIView): """ API endpoint for performing stock movements """ permission_classes = [ - permissions.IsAuthenticatedOrReadOnly, + permissions.IsAuthenticated, ] def post(self, request, *args, **kwargs): @@ -227,7 +227,7 @@ class StockLocationList(generics.ListCreateAPIView): serializer_class = LocationSerializer permission_classes = [ - permissions.IsAuthenticatedOrReadOnly, + permissions.IsAuthenticated, ] filter_backends = [ @@ -390,7 +390,7 @@ class StockList(generics.ListCreateAPIView): serializer_class = StockItemSerializer permission_classes = [ - permissions.IsAuthenticatedOrReadOnly, + permissions.IsAuthenticated, ] filter_backends = [ @@ -412,7 +412,7 @@ class StockStocktakeEndpoint(generics.UpdateAPIView): queryset = StockItem.objects.all() serializer_class = StockQuantitySerializer - permission_classes = (permissions.IsAuthenticatedOrReadOnly,) + permission_classes = (permissions.IsAuthenticated,) def update(self, request, *args, **kwargs): object = self.get_object() @@ -434,7 +434,7 @@ class StockTrackingList(generics.ListCreateAPIView): queryset = StockItemTracking.objects.all() serializer_class = StockTrackingSerializer - permission_classes = [permissions.IsAuthenticatedOrReadOnly] + permission_classes = [permissions.IsAuthenticated] filter_backends = [ DjangoFilterBackend, @@ -469,7 +469,7 @@ class LocationDetail(generics.RetrieveUpdateDestroyAPIView): queryset = StockLocation.objects.all() serializer_class = LocationSerializer - permission_classes = (permissions.IsAuthenticatedOrReadOnly,) + permission_classes = (permissions.IsAuthenticated,) stock_endpoints = [ diff --git a/InvenTree/users/views.py b/InvenTree/users/views.py index e10fe2c615..a4920b717e 100644 --- a/InvenTree/users/views.py +++ b/InvenTree/users/views.py @@ -12,7 +12,7 @@ class UserDetail(generics.RetrieveAPIView): queryset = User.objects.all() serializer_class = UserSerializer - permission_classes = (permissions.IsAuthenticatedOrReadOnly,) + permission_classes = (permissions.IsAuthenticated,) class UserList(generics.ListAPIView): @@ -20,7 +20,7 @@ class UserList(generics.ListAPIView): queryset = User.objects.all() serializer_class = UserSerializer - permission_classes = (permissions.IsAuthenticatedOrReadOnly,) + permission_classes = (permissions.IsAuthenticated,) class GetAuthToken(ObtainAuthToken):
Pricing
Order Multiple{{ part.multiple }}
Base Price (Flat Fee){{ part.base_cost }}