2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-04-29 12:06:44 +00:00

Merge pull request #423 from SchrodingersGat/supplier-part-buttons

Fix buttons and rendering for supplierpart page
This commit is contained in:
Oliver 2019-07-08 20:14:22 +10:00 committed by GitHub
commit 70c68c02bf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 51 additions and 44 deletions

View File

@ -2,7 +2,8 @@ dist: xenial
language: python language: python
python: python:
- 3.5 - 3.6
- 3.7
addons: addons:
apt-packages: apt-packages:

View File

@ -26,7 +26,7 @@ class BuildList(generics.ListCreateAPIView):
serializer_class = BuildSerializer serializer_class = BuildSerializer
permission_classes = [ permission_classes = [
permissions.IsAuthenticatedOrReadOnly, permissions.IsAuthenticated,
] ]
filter_backends = [ filter_backends = [
@ -47,7 +47,7 @@ class BuildDetail(generics.RetrieveUpdateAPIView):
serializer_class = BuildSerializer serializer_class = BuildSerializer
permission_classes = [ permission_classes = [
permissions.IsAuthenticatedOrReadOnly, permissions.IsAuthenticated,
] ]
@ -80,7 +80,7 @@ class BuildItemList(generics.ListCreateAPIView):
return query return query
permission_classes = [ permission_classes = [
permissions.IsAuthenticatedOrReadOnly, permissions.IsAuthenticated,
] ]
filter_backends = [ filter_backends = [

View File

@ -32,7 +32,7 @@ class CompanyList(generics.ListCreateAPIView):
serializer_class = CompanySerializer serializer_class = CompanySerializer
queryset = Company.objects.all() queryset = Company.objects.all()
permission_classes = [ permission_classes = [
permissions.IsAuthenticatedOrReadOnly, permissions.IsAuthenticated,
] ]
filter_backends = [ filter_backends = [
@ -66,7 +66,7 @@ class CompanyDetail(generics.RetrieveUpdateDestroyAPIView):
serializer_class = CompanySerializer serializer_class = CompanySerializer
permission_classes = [ permission_classes = [
permissions.IsAuthenticatedOrReadOnly, permissions.IsAuthenticated,
] ]
@ -102,7 +102,7 @@ class SupplierPartList(generics.ListCreateAPIView):
serializer_class = SupplierPartSerializer serializer_class = SupplierPartSerializer
permission_classes = [ permission_classes = [
permissions.IsAuthenticatedOrReadOnly, permissions.IsAuthenticated,
] ]
filter_backends = [ filter_backends = [
@ -135,7 +135,7 @@ class SupplierPartDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = SupplierPart.objects.all() queryset = SupplierPart.objects.all()
serializer_class = SupplierPartSerializer serializer_class = SupplierPartSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,) permission_classes = (permissions.IsAuthenticated,)
read_only_fields = [ read_only_fields = [
] ]
@ -152,7 +152,7 @@ class SupplierPriceBreakList(generics.ListCreateAPIView):
serializer_class = SupplierPriceBreakSerializer serializer_class = SupplierPriceBreakSerializer
permission_classes = [ permission_classes = [
permissions.IsAuthenticatedOrReadOnly, permissions.IsAuthenticated,
] ]
filter_backends = [ filter_backends = [

View File

@ -10,19 +10,26 @@ InvenTree | {{ company.name }} - Parts
<div class='row'> <div class='row'>
<div class='col-sm-6'> <div class='col-sm-6'>
<h3>Supplier Part</h3> <h3>Supplier Part</h3>
<p><a href="{% url 'company-detail-parts' part.supplier.id %}">{{ part.supplier.name }}</a> - {{ part.SKU }}</p> <div class='btn-row'>
<div class='btn-group'>
<button type='button' class='btn btn-default btn-glyph' id='edit-part' title='Edit supplier part'>
<span class='glyphicon glyphicon-edit'/>
</button>
<button type='button' class='btn btn-default btn-glyph' id='delete-part' title='Delete supplier part'>
<span class='glyphicon glyphicon-trash'/>
</button>
</div>
</div>
</div> </div>
<div class='col-sm-6'> <div class='col-sm-6'>
<h3> <div class='media-left'>
<div class="dropdown" style="float: right;"> <img class='part-thumb'
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Options {% if part.part.image %}
<span class="caret"></span></button> src='{{ part.part.image.url }}'
<ul class="dropdown-menu"> {% else %}
<li><a href="#" id='edit-part' title='Edit supplier part'>Edit</a></li> src="{% static 'img/blank_image.png' %}"
<li><a href="#" id='delete-part' title='Delete supplier part'>Delete</a></li> {% endif %}/>
</ul> </div>
</div>
</h3>
</div> </div>
</div> </div>
@ -30,17 +37,18 @@ InvenTree | {{ company.name }} - Parts
<div class='row'> <div class='row'>
<div class='col-sm-6'> <div class='col-sm-6'>
<h4>Supplier Part Details</h4>
<table class="table table-striped table-condensed"> <table class="table table-striped table-condensed">
<tr><td>Supplier</td><td><a href="{% url 'company-detail-parts' part.supplier.id %}">{{ part.supplier.name }}</a></td></tr>
<tr><td>SKU</td><td>{{ part.SKU }}</tr></tr>
<tr> <tr>
<td>Internal Part</td> <td>Internal Part</td>
<td> <td>
{% if part.part %} {% if part.part %}
<a href="{% url 'part-suppliers' part.part.id %}">{{ part.part.full_name }}</a> <a href="{% url 'part-suppliers' part.part.id %}">{{ part.part.full_name }}</a>
{% endif %} {% endif %}
</td> </td>
</tr> </tr>
<tr><td>Supplier</td><td><a href="{% url 'company-detail-parts' part.supplier.id %}">{{ part.supplier.name }}</a></td></tr>
<tr><td>SKU</td><td>{{ part.SKU }}</tr></tr>
{% if part.URL %} {% if part.URL %}
<tr><td>URL</td><td><a href="{{ part.URL }}">{{ part.URL }}</a></td></tr> <tr><td>URL</td><td><a href="{{ part.URL }}">{{ part.URL }}</a></td></tr>
{% endif %} {% endif %}
@ -58,10 +66,8 @@ InvenTree | {{ company.name }} - Parts
</div> </div>
<div class='col-sm-6'> <div class='col-sm-6'>
<h4>Pricing Information</h4>
<table class="table table-striped table-condensed"> <table class="table table-striped table-condensed">
<tr>
<th colspan='2'>Pricing</th>
</tr>
<tr><td>Order Multiple</td><td>{{ part.multiple }}</td></tr> <tr><td>Order Multiple</td><td>{{ part.multiple }}</td></tr>
{% if part.base_cost > 0 %} {% if part.base_cost > 0 %}
<tr><td>Base Price (Flat Fee)</td><td>{{ part.base_cost }}</td></tr> <tr><td>Base Price (Flat Fee)</td><td>{{ part.base_cost }}</td></tr>

View File

@ -54,7 +54,7 @@ class CategoryList(generics.ListCreateAPIView):
serializer_class = CategorySerializer serializer_class = CategorySerializer
permission_classes = [ permission_classes = [
permissions.IsAuthenticatedOrReadOnly, permissions.IsAuthenticated,
] ]
filter_backends = [ filter_backends = [
@ -91,7 +91,7 @@ class PartDetail(generics.RetrieveUpdateAPIView):
serializer_class = PartSerializer serializer_class = PartSerializer
permission_classes = [ permission_classes = [
permissions.IsAuthenticatedOrReadOnly, permissions.IsAuthenticated,
] ]
@ -178,7 +178,7 @@ class PartList(generics.ListCreateAPIView):
return parts_list return parts_list
permission_classes = [ permission_classes = [
permissions.IsAuthenticatedOrReadOnly, permissions.IsAuthenticated,
] ]
filter_backends = [ filter_backends = [
@ -243,7 +243,7 @@ class PartStarList(generics.ListCreateAPIView):
return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers) return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
permission_classes = [ permission_classes = [
permissions.IsAuthenticatedOrReadOnly, permissions.IsAuthenticated,
] ]
filter_backends = [ filter_backends = [
@ -292,7 +292,7 @@ class BomList(generics.ListCreateAPIView):
return queryset return queryset
permission_classes = [ permission_classes = [
permissions.IsAuthenticatedOrReadOnly, permissions.IsAuthenticated,
] ]
filter_backends = [ filter_backends = [
@ -314,7 +314,7 @@ class BomDetail(generics.RetrieveUpdateDestroyAPIView):
serializer_class = BomItemSerializer serializer_class = BomItemSerializer
permission_classes = [ permission_classes = [
permissions.IsAuthenticatedOrReadOnly, permissions.IsAuthenticated,
] ]

View File

@ -57,7 +57,7 @@ class StockDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = StockItem.objects.all() queryset = StockItem.objects.all()
serializer_class = StockItemSerializer serializer_class = StockItemSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,) permission_classes = (permissions.IsAuthenticated,)
class StockFilter(FilterSet): class StockFilter(FilterSet):
@ -83,7 +83,7 @@ class StockStocktake(APIView):
""" """
permission_classes = [ permission_classes = [
permissions.IsAuthenticatedOrReadOnly, permissions.IsAuthenticated,
] ]
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):
@ -153,7 +153,7 @@ class StockMove(APIView):
""" API endpoint for performing stock movements """ """ API endpoint for performing stock movements """
permission_classes = [ permission_classes = [
permissions.IsAuthenticatedOrReadOnly, permissions.IsAuthenticated,
] ]
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):
@ -227,7 +227,7 @@ class StockLocationList(generics.ListCreateAPIView):
serializer_class = LocationSerializer serializer_class = LocationSerializer
permission_classes = [ permission_classes = [
permissions.IsAuthenticatedOrReadOnly, permissions.IsAuthenticated,
] ]
filter_backends = [ filter_backends = [
@ -390,7 +390,7 @@ class StockList(generics.ListCreateAPIView):
serializer_class = StockItemSerializer serializer_class = StockItemSerializer
permission_classes = [ permission_classes = [
permissions.IsAuthenticatedOrReadOnly, permissions.IsAuthenticated,
] ]
filter_backends = [ filter_backends = [
@ -412,7 +412,7 @@ class StockStocktakeEndpoint(generics.UpdateAPIView):
queryset = StockItem.objects.all() queryset = StockItem.objects.all()
serializer_class = StockQuantitySerializer serializer_class = StockQuantitySerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,) permission_classes = (permissions.IsAuthenticated,)
def update(self, request, *args, **kwargs): def update(self, request, *args, **kwargs):
object = self.get_object() object = self.get_object()
@ -434,7 +434,7 @@ class StockTrackingList(generics.ListCreateAPIView):
queryset = StockItemTracking.objects.all() queryset = StockItemTracking.objects.all()
serializer_class = StockTrackingSerializer serializer_class = StockTrackingSerializer
permission_classes = [permissions.IsAuthenticatedOrReadOnly] permission_classes = [permissions.IsAuthenticated]
filter_backends = [ filter_backends = [
DjangoFilterBackend, DjangoFilterBackend,
@ -469,7 +469,7 @@ class LocationDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = StockLocation.objects.all() queryset = StockLocation.objects.all()
serializer_class = LocationSerializer serializer_class = LocationSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,) permission_classes = (permissions.IsAuthenticated,)
stock_endpoints = [ stock_endpoints = [

View File

@ -12,7 +12,7 @@ class UserDetail(generics.RetrieveAPIView):
queryset = User.objects.all() queryset = User.objects.all()
serializer_class = UserSerializer serializer_class = UserSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,) permission_classes = (permissions.IsAuthenticated,)
class UserList(generics.ListAPIView): class UserList(generics.ListAPIView):
@ -20,7 +20,7 @@ class UserList(generics.ListAPIView):
queryset = User.objects.all() queryset = User.objects.all()
serializer_class = UserSerializer serializer_class = UserSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,) permission_classes = (permissions.IsAuthenticated,)
class GetAuthToken(ObtainAuthToken): class GetAuthToken(ObtainAuthToken):