mirror of
https://github.com/inventree/InvenTree.git
synced 2025-04-30 04:26:44 +00:00
Merge remote-tracking branch 'inventree/master'
This commit is contained in:
commit
6994af411d
@ -9,6 +9,12 @@
|
|||||||
<h4>{% trans "Assigned Stock" %}</h4>
|
<h4>{% trans "Assigned Stock" %}</h4>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
|
<div id='button-toolbar'>
|
||||||
|
<div class='filter-list' id='filter-list-stock'>
|
||||||
|
<!-- An empty div in which the filter list will be constructed -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<table class='table table-striped table-condensed' id='stock-table'></table>
|
<table class='table table-striped table-condensed' id='stock-table'></table>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@ -18,12 +24,12 @@
|
|||||||
|
|
||||||
loadStockTable($("#stock-table"), {
|
loadStockTable($("#stock-table"), {
|
||||||
params: {
|
params: {
|
||||||
test: 7,
|
|
||||||
customer: {{ company.id }},
|
customer: {{ company.id }},
|
||||||
part_detail: true,
|
part_detail: true,
|
||||||
location_detail: true,
|
location_detail: true,
|
||||||
},
|
},
|
||||||
url: "{% url 'api-stock-list' %}",
|
url: "{% url 'api-stock-list' %}",
|
||||||
|
filterKey: "customerstock",
|
||||||
});
|
});
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
@ -190,7 +190,7 @@ class PartThumbs(generics.ListAPIView):
|
|||||||
return Response(data)
|
return Response(data)
|
||||||
|
|
||||||
|
|
||||||
class PartDetail(generics.RetrieveUpdateAPIView):
|
class PartDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
""" API endpoint for detail view of a single Part object """
|
""" API endpoint for detail view of a single Part object """
|
||||||
|
|
||||||
queryset = Part.objects.all()
|
queryset = Part.objects.all()
|
||||||
@ -229,6 +229,18 @@ class PartDetail(generics.RetrieveUpdateAPIView):
|
|||||||
|
|
||||||
return self.serializer_class(*args, **kwargs)
|
return self.serializer_class(*args, **kwargs)
|
||||||
|
|
||||||
|
def destroy(self, request, *args, **kwargs):
|
||||||
|
# Retrieve part
|
||||||
|
part = Part.objects.get(pk=int(kwargs['pk']))
|
||||||
|
# Check if inactive
|
||||||
|
if not part.active:
|
||||||
|
# Delete
|
||||||
|
return super(PartDetail, self).destroy(request, *args, **kwargs)
|
||||||
|
else:
|
||||||
|
# Return 405 error
|
||||||
|
message = f'Part \'{part.name}\' (pk = {part.pk}) is active: cannot delete'
|
||||||
|
return Response(status=status.HTTP_405_METHOD_NOT_ALLOWED, data=message)
|
||||||
|
|
||||||
|
|
||||||
class PartList(generics.ListCreateAPIView):
|
class PartList(generics.ListCreateAPIView):
|
||||||
""" API endpoint for accessing a list of Part objects
|
""" API endpoint for accessing a list of Part objects
|
||||||
@ -363,9 +375,10 @@ class PartList(generics.ListCreateAPIView):
|
|||||||
queryset = super().filter_queryset(queryset)
|
queryset = super().filter_queryset(queryset)
|
||||||
|
|
||||||
# Filter by 'starred' parts?
|
# Filter by 'starred' parts?
|
||||||
starred = str2bool(self.request.query_params.get('starred', None))
|
starred = self.request.query_params.get('starred', None)
|
||||||
|
|
||||||
if starred is not None:
|
if starred is not None:
|
||||||
|
starred = str2bool(starred)
|
||||||
starred_parts = [star.part.pk for star in self.request.user.starred_parts.all()]
|
starred_parts = [star.part.pk for star in self.request.user.starred_parts.all()]
|
||||||
|
|
||||||
if starred:
|
if starred:
|
||||||
|
@ -234,9 +234,11 @@ function loadStockTable(table, options) {
|
|||||||
var filterListElement = options.filterList || "#filter-list-stock";
|
var filterListElement = options.filterList || "#filter-list-stock";
|
||||||
|
|
||||||
var filters = {};
|
var filters = {};
|
||||||
|
|
||||||
|
var filterKey = options.filterKey || "stock";
|
||||||
|
|
||||||
if (!options.disableFilters) {
|
if (!options.disableFilters) {
|
||||||
filters = loadTableFilters("stock");
|
filters = loadTableFilters(filterKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
var original = {};
|
var original = {};
|
||||||
@ -245,7 +247,7 @@ function loadStockTable(table, options) {
|
|||||||
original[key] = params[key];
|
original[key] = params[key];
|
||||||
}
|
}
|
||||||
|
|
||||||
setupFilterList("stock", table, filterListElement);
|
setupFilterList(filterKey, table, filterListElement);
|
||||||
|
|
||||||
// Override the default values, or add new ones
|
// Override the default values, or add new ones
|
||||||
for (var key in params) {
|
for (var key in params) {
|
||||||
|
@ -11,6 +11,24 @@ function getAvailableTableFilters(tableKey) {
|
|||||||
|
|
||||||
tableKey = tableKey.toLowerCase();
|
tableKey = tableKey.toLowerCase();
|
||||||
|
|
||||||
|
// Filters for the "customer stock" table (really a subset of "stock")
|
||||||
|
if (tableKey == "customerstock") {
|
||||||
|
return {
|
||||||
|
serialized: {
|
||||||
|
type: 'bool',
|
||||||
|
title: '{% trans "Is Serialized" %}',
|
||||||
|
},
|
||||||
|
serial_gte: {
|
||||||
|
title: "{% trans "Serial number GTE" %}",
|
||||||
|
description: "{% trans "Serial number greater than or equal to" %}"
|
||||||
|
},
|
||||||
|
serial_lte: {
|
||||||
|
title: "{% trans "Serial number LTE" %}",
|
||||||
|
description: "{% trans "Serial number less than or equal to" %}",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// Filters for the "Stock" table
|
// Filters for the "Stock" table
|
||||||
if (tableKey == 'stock') {
|
if (tableKey == 'stock') {
|
||||||
return {
|
return {
|
||||||
@ -39,6 +57,10 @@ function getAvailableTableFilters(tableKey) {
|
|||||||
title: '{% trans "Is allocated" %}',
|
title: '{% trans "Is allocated" %}',
|
||||||
description: '{% trans "Item has been alloacted" %}',
|
description: '{% trans "Item has been alloacted" %}',
|
||||||
},
|
},
|
||||||
|
serialized: {
|
||||||
|
type: 'bool',
|
||||||
|
title: '{% trans "Is Serialized" %}',
|
||||||
|
},
|
||||||
serial_gte: {
|
serial_gte: {
|
||||||
title: "{% trans "Serial number GTE" %}",
|
title: "{% trans "Serial number GTE" %}",
|
||||||
description: "{% trans "Serial number greater than or equal to" %}"
|
description: "{% trans "Serial number greater than or equal to" %}"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user