mirror of
https://github.com/inventree/InvenTree.git
synced 2025-04-29 20:16: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>
|
||||
<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>
|
||||
|
||||
{% endblock %}
|
||||
@ -18,12 +24,12 @@
|
||||
|
||||
loadStockTable($("#stock-table"), {
|
||||
params: {
|
||||
test: 7,
|
||||
customer: {{ company.id }},
|
||||
part_detail: true,
|
||||
location_detail: true,
|
||||
},
|
||||
url: "{% url 'api-stock-list' %}",
|
||||
filterKey: "customerstock",
|
||||
});
|
||||
|
||||
{% endblock %}
|
@ -190,7 +190,7 @@ class PartThumbs(generics.ListAPIView):
|
||||
return Response(data)
|
||||
|
||||
|
||||
class PartDetail(generics.RetrieveUpdateAPIView):
|
||||
class PartDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||
""" API endpoint for detail view of a single Part object """
|
||||
|
||||
queryset = Part.objects.all()
|
||||
@ -229,6 +229,18 @@ class PartDetail(generics.RetrieveUpdateAPIView):
|
||||
|
||||
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):
|
||||
""" API endpoint for accessing a list of Part objects
|
||||
@ -363,9 +375,10 @@ class PartList(generics.ListCreateAPIView):
|
||||
queryset = super().filter_queryset(queryset)
|
||||
|
||||
# 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:
|
||||
starred = str2bool(starred)
|
||||
starred_parts = [star.part.pk for star in self.request.user.starred_parts.all()]
|
||||
|
||||
if starred:
|
||||
|
@ -234,9 +234,11 @@ function loadStockTable(table, options) {
|
||||
var filterListElement = options.filterList || "#filter-list-stock";
|
||||
|
||||
var filters = {};
|
||||
|
||||
|
||||
var filterKey = options.filterKey || "stock";
|
||||
|
||||
if (!options.disableFilters) {
|
||||
filters = loadTableFilters("stock");
|
||||
filters = loadTableFilters(filterKey);
|
||||
}
|
||||
|
||||
var original = {};
|
||||
@ -245,7 +247,7 @@ function loadStockTable(table, options) {
|
||||
original[key] = params[key];
|
||||
}
|
||||
|
||||
setupFilterList("stock", table, filterListElement);
|
||||
setupFilterList(filterKey, table, filterListElement);
|
||||
|
||||
// Override the default values, or add new ones
|
||||
for (var key in params) {
|
||||
|
@ -11,6 +11,24 @@ function getAvailableTableFilters(tableKey) {
|
||||
|
||||
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
|
||||
if (tableKey == 'stock') {
|
||||
return {
|
||||
@ -39,6 +57,10 @@ function getAvailableTableFilters(tableKey) {
|
||||
title: '{% trans "Is allocated" %}',
|
||||
description: '{% trans "Item has been alloacted" %}',
|
||||
},
|
||||
serialized: {
|
||||
type: 'bool',
|
||||
title: '{% trans "Is Serialized" %}',
|
||||
},
|
||||
serial_gte: {
|
||||
title: "{% trans "Serial number GTE" %}",
|
||||
description: "{% trans "Serial number greater than or equal to" %}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user