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

Add part detail page for company / supplier

This commit is contained in:
Oliver 2018-04-22 23:07:23 +10:00
parent 4ebd8cd6b1
commit ac3de4ce3d
7 changed files with 57 additions and 8 deletions

View File

@ -0,0 +1,36 @@
{% extends "company/company_base.html" %}
{% block details %}
{% include 'company/tabs.html' with tab='parts' %}
<h3>Company Parts</h3>
<table class='table table-striped'>
<tr>
<th>SKU</th>
<th>Part</th>
<th>MPN</th>
<th>URL</th>
</tr>
{% for part in company.parts.all %}
<tr>
<td><a href="{% url 'supplier-part-detail' part.id %}">{{ part.SKU }}</a></td>
<td>
{% if part.part %}
<a href="{% url 'part-suppliers' part.part.id %}">{{ part.part.name }}</a>
{% endif %}
</td>
<td>{{ part.manufacturer_string }}</td>
<td>{{ part.URL }}</td>
</tr>
{% endfor %}
</table>
<div class='container-fluid'>
<a href="{% url 'supplier-part-create' %}?supplier={{ company.id }}">
<button class="btn btn-success">New Supplier Part</button>
</a>
</div>
{% endblock %}

View File

@ -6,7 +6,7 @@
<table class="table"> <table class="table">
<tr><td>SKU</td><td>{{ part.SKU }}</tr></tr> <tr><td>SKU</td><td>{{ part.SKU }}</tr></tr>
<tr><td>Supplier</td><td><a href="{% url 'company-detail' part.supplier.id %}">{{ part.supplier.name }}</a></td></tr> <tr><td>Supplier</td><td><a href="{% url 'company-detail-parts' part.supplier.id %}">{{ part.supplier.name }}</a></td></tr>
<tr> <tr>
<td>Parent Part</td> <td>Parent Part</td>
<td> <td>
@ -22,7 +22,7 @@
<tr><td>Description</td><td>{{ part.description }}</td></tr> <tr><td>Description</td><td>{{ part.description }}</td></tr>
{% endif %} {% endif %}
{% if part.manufacturer %} {% if part.manufacturer %}
<tr><td>Manufacturer</td><td>{% if part.manufacturer %}{{ part.manufacturer.name }}{% endif %}</td></tr> <tr><td>Manufacturer</td><td>{{ part.manufacturer }}</td></tr>
<tr><td>MPN</td><td>{{ part.MPN }}</td></tr> <tr><td>MPN</td><td>{{ part.MPN }}</td></tr>
{% endif %} {% endif %}
</table> </table>

View File

@ -4,7 +4,7 @@
</li> </li>
{% if company.is_supplier %} {% if company.is_supplier %}
<li{% if tab == 'parts' %} class='active'{% endif %}> <li{% if tab == 'parts' %} class='active'{% endif %}>
<a href="{% url 'company-detail' company.id %}">Supplier Parts <span class='badge'>{{ company.part_count }}</span></a> <a href="{% url 'company-detail-parts' company.id %}">Supplier Parts <span class='badge'>{{ company.part_count }}</span></a>
</li> </li>
<li{% if tab == 'po' %} class='active'{% endif %}> <li{% if tab == 'po' %} class='active'{% endif %}>
<a href="#">Purchase Orders</a> <a href="#">Purchase Orders</a>

View File

@ -10,6 +10,9 @@ company_detail_urls = [
# url(r'orders/?', views.CompanyDetail.as_view(template_name='company/orders.html'), name='company-detail-orders'), # url(r'orders/?', views.CompanyDetail.as_view(template_name='company/orders.html'), name='company-detail-orders'),
url(r'parts/?', views.CompanyDetail.as_view(template_name='company/detail_part.html'), name='company-detail-parts'),
# Any other URL
url(r'^.*$', views.CompanyDetail.as_view(), name='company-detail'), url(r'^.*$', views.CompanyDetail.as_view(), name='company-detail'),
] ]

View File

@ -403,6 +403,18 @@ class SupplierPart(models.Model):
# lead time for parts that cannot be delivered immediately # lead time for parts that cannot be delivered immediately
lead_time = models.DurationField(blank=True, null=True) lead_time = models.DurationField(blank=True, null=True)
@property
def manufacturer_string(self):
items = []
if self.manufacturer:
items.append(self.manufacturer)
if self.MPN:
items.append(self.MPN)
return ' | '.join(items)
def __str__(self): def __str__(self):
return "{sku} - {supplier}".format( return "{sku} - {supplier}".format(
sku=self.SKU, sku=self.SKU,

View File

@ -17,10 +17,7 @@
<tr> <tr>
<td><a href="{% url 'supplier-part-detail' spart.id %}">{{ spart.SKU }}</a></td> <td><a href="{% url 'supplier-part-detail' spart.id %}">{{ spart.SKU }}</a></td>
<td><a href="{% url 'company-detail' spart.supplier.id %}">{{ spart.supplier.name }}</a></td> <td><a href="{% url 'company-detail' spart.supplier.id %}">{{ spart.supplier.name }}</a></td>
<td> <td>{{ spart.manufacturer_string }}</td>
{% if spart.manufacturer %}{{ spart.manufacturer.name }}{% endif %}
{% if spart.MPN %} | {{ spart.MPN }}{% endif %}
</td>
<td> <td>
{% if spart.URL %} {% if spart.URL %}
<a href="{{ spart.URL }}">{{ spart.URL }}</a> <a href="{{ spart.URL }}">{{ spart.URL }}</a>

View File

@ -7,6 +7,7 @@ from django.http import HttpResponseRedirect
from django.views.generic import DetailView, ListView from django.views.generic import DetailView, ListView
from django.views.generic.edit import UpdateView, DeleteView, CreateView from django.views.generic.edit import UpdateView, DeleteView, CreateView
from company.models import Company
from .models import PartCategory, Part, BomItem from .models import PartCategory, Part, BomItem
from .models import SupplierPart from .models import SupplierPart
@ -226,7 +227,7 @@ class SupplierPartCreate(CreateView):
part_id = self.request.GET.get('part', None) part_id = self.request.GET.get('part', None)
if supplier_id: if supplier_id:
initials['supplier'] = get_object_or_404(Supplier, pk=supplier_id) initials['supplier'] = get_object_or_404(Company, pk=supplier_id)
# TODO # TODO
# self.fields['supplier'].disabled = True # self.fields['supplier'].disabled = True
if part_id: if part_id: