mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
API endpoint for build list
- Changed part/build table to bootstrap table (ajax)
This commit is contained in:
parent
94b280eed3
commit
338a30b50e
@ -14,6 +14,7 @@ from build.urls import build_urls
|
||||
from part.api import part_api_urls
|
||||
from company.api import company_api_urls
|
||||
from stock.api import stock_api_urls
|
||||
from build.api import build_api_urls
|
||||
|
||||
from django.conf import settings
|
||||
from django.conf.urls.static import static
|
||||
@ -31,6 +32,7 @@ apipatterns = [
|
||||
url(r'^part/', include(part_api_urls)),
|
||||
url(r'^company/', include(company_api_urls)),
|
||||
url(r'^stock/', include(stock_api_urls)),
|
||||
url(r'^build/', include(build_api_urls)),
|
||||
|
||||
# User URLs
|
||||
url(r'^user/', include(user_urls)),
|
||||
|
35
InvenTree/build/api.py
Normal file
35
InvenTree/build/api.py
Normal file
@ -0,0 +1,35 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django_filters.rest_framework import DjangoFilterBackend
|
||||
from rest_framework import filters
|
||||
from rest_framework import generics, permissions
|
||||
|
||||
from django.conf.urls import url, include
|
||||
|
||||
from .models import Build
|
||||
from .serializers import BuildSerializer
|
||||
|
||||
|
||||
class BuildList(generics.ListAPIView):
|
||||
|
||||
queryset = Build.objects.all()
|
||||
serializer_class = BuildSerializer
|
||||
|
||||
permission_classes = [
|
||||
permissions.IsAuthenticatedOrReadOnly,
|
||||
]
|
||||
|
||||
filter_backends = [
|
||||
DjangoFilterBackend,
|
||||
filters.SearchFilter,
|
||||
filters.OrderingFilter,
|
||||
]
|
||||
|
||||
filter_fields = [
|
||||
'part',
|
||||
]
|
||||
|
||||
build_api_urls = [
|
||||
url(r'^.*$', BuildList.as_view(), name='api-build-list')
|
||||
]
|
23
InvenTree/build/serializers.py
Normal file
23
InvenTree/build/serializers.py
Normal file
@ -0,0 +1,23 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from rest_framework import serializers
|
||||
|
||||
from .models import Build
|
||||
|
||||
|
||||
class BuildSerializer(serializers.ModelSerializer):
|
||||
|
||||
url = serializers.CharField(source='get_absolute_url', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = Build
|
||||
fields = [
|
||||
'pk',
|
||||
'url',
|
||||
'title',
|
||||
'creation_date',
|
||||
'completion_date',
|
||||
'part',
|
||||
'quantity',
|
||||
'notes']
|
@ -6,34 +6,13 @@
|
||||
|
||||
<h3>Part Builds</h3>
|
||||
|
||||
<table class='table table-striped'>
|
||||
|
||||
<tr>
|
||||
<th>Title</th>
|
||||
<th>Quantity</th>
|
||||
<th>Status</th>
|
||||
<th>Completion Date</th>
|
||||
</tr>
|
||||
{% if part.active_builds|length > 0 %}
|
||||
<tr>
|
||||
<td colspan="4"><b>Active Builds</b></td>
|
||||
</tr>
|
||||
{% include "part/build_list.html" with builds=part.active_builds %}
|
||||
{% endif %}
|
||||
|
||||
{% if part.inactive_builds|length > 0 %}
|
||||
<tr><td colspan="4"></td></tr>
|
||||
<tr>
|
||||
<td colspan="4"><b>Inactive Builds</b></td>
|
||||
</tr>
|
||||
{% include "part/build_list.html" with builds=part.inactive_builds %}
|
||||
{% endif %}
|
||||
<div id='button-toolbar'>
|
||||
<button class="btn btn-success" id='start-build'>Start New Build</button>
|
||||
</div>
|
||||
|
||||
<table class='table table-striped table-condensed' data-toolbar='#button-toolbar' id='build-table'>
|
||||
</table>
|
||||
|
||||
<div class='container-fluid'>
|
||||
<button class="btn btn-success" id='start-build'>Start New Build</button>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
@ -49,4 +28,43 @@
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$("#build-table").bootstrapTable({
|
||||
sortable: true,
|
||||
search: true,
|
||||
pagination: true,
|
||||
queryParams: function(p) {
|
||||
return {
|
||||
part: {{ part.id }},
|
||||
}
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
field: 'pk',
|
||||
title: 'ID',
|
||||
visible: false,
|
||||
},
|
||||
{
|
||||
field: 'title',
|
||||
title: 'Title',
|
||||
formatter: function(value, row, index, field) {
|
||||
return renderLink(value, row.url);
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'quantity',
|
||||
title: 'Quantity',
|
||||
},
|
||||
{
|
||||
field: 'status',
|
||||
title: 'Status',
|
||||
},
|
||||
{
|
||||
field: 'completion_date',
|
||||
title: 'Completed'
|
||||
}
|
||||
],
|
||||
url: "{% url 'api-build-list' %}",
|
||||
});
|
||||
|
||||
{% endblock %}
|
Loading…
Reference in New Issue
Block a user