mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Company index / detail / edit pages working
This commit is contained in:
parent
4bedf0ed4c
commit
ee2f262e19
@ -68,12 +68,16 @@ urlpatterns = [
|
|||||||
# url(r'^api-doc/', include_docs_urls(title='InvenTree API')),
|
# url(r'^api-doc/', include_docs_urls(title='InvenTree API')),
|
||||||
|
|
||||||
url(r'^part/', include(part_urls)),
|
url(r'^part/', include(part_urls)),
|
||||||
url(r'^stock/', include(stock_urls)),
|
|
||||||
url(r'^company/', include(company_urls)),
|
|
||||||
url(r'^supplier-part/', include(supplier_part_urls)),
|
url(r'^supplier-part/', include(supplier_part_urls)),
|
||||||
|
|
||||||
|
url(r'^stock/', include(stock_urls)),
|
||||||
|
|
||||||
|
url(r'^company/', include(company_urls)),
|
||||||
|
|
||||||
url(r'^build/', include(build_urls)),
|
url(r'^build/', include(build_urls)),
|
||||||
|
|
||||||
url(r'^admin/', admin.site.urls),
|
url(r'^admin/', admin.site.urls),
|
||||||
|
|
||||||
url(r'^auth/', include('rest_framework.urls', namespace='rest_framework')),
|
url(r'^auth/', include('rest_framework.urls', namespace='rest_framework')),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -51,5 +51,7 @@ class EditCompanyForm(forms.ModelForm):
|
|||||||
'email',
|
'email',
|
||||||
'contact',
|
'contact',
|
||||||
'image',
|
'image',
|
||||||
|
'is_customer',
|
||||||
|
'is_supplier',
|
||||||
'notes'
|
'notes'
|
||||||
]
|
]
|
||||||
|
25
InvenTree/company/migrations/0002_auto_20180422_1201.py
Normal file
25
InvenTree/company/migrations/0002_auto_20180422_1201.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.11.12 on 2018-04-22 12:01
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('company', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='company',
|
||||||
|
name='is_customer',
|
||||||
|
field=models.BooleanField(default=False),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='company',
|
||||||
|
name='is_supplier',
|
||||||
|
field=models.BooleanField(default=False),
|
||||||
|
),
|
||||||
|
]
|
@ -49,6 +49,10 @@ class Company(models.Model):
|
|||||||
|
|
||||||
notes = models.TextField(blank=True)
|
notes = models.TextField(blank=True)
|
||||||
|
|
||||||
|
is_customer = models.BooleanField(default=False)
|
||||||
|
|
||||||
|
is_supplier = models.BooleanField(default=False)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
|
62
InvenTree/company/templates/company/company_base.html
Normal file
62
InvenTree/company/templates/company/company_base.html
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% load static %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<div class="media">
|
||||||
|
<div class="media-left">
|
||||||
|
<img class="part-thumb"
|
||||||
|
{% if company.image %}
|
||||||
|
src="{{ company.image.url }}"
|
||||||
|
{% else %}
|
||||||
|
src="{% static 'img/blank_image.png' %}"
|
||||||
|
{% endif %}/>
|
||||||
|
</div>
|
||||||
|
<div class='media-body'>
|
||||||
|
<h4>{{ company.name }}</h4>
|
||||||
|
<p>{{ company.description }}</p>
|
||||||
|
</div>
|
||||||
|
<div class='container-fluid'>
|
||||||
|
<a href="{% url 'company-edit' company.id %}"><button class="btn btn-info">Edit Company Details</button></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<table class="table">
|
||||||
|
{% if company.website %}
|
||||||
|
<tr>
|
||||||
|
<td>Website</td><td><a href="{{ company.website }}">{{ company.website }}</a></td>
|
||||||
|
</tr>
|
||||||
|
{% endif %}
|
||||||
|
{% if company.address %}
|
||||||
|
<tr>
|
||||||
|
<td>Address</td><td>{{ company.address }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endif %}
|
||||||
|
{% if company.phone %}
|
||||||
|
<tr>
|
||||||
|
<td>Phone</td><td>{{ company.phone }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endif %}
|
||||||
|
{% if company.email %}
|
||||||
|
<tr>
|
||||||
|
<td>Email</td><td>{{ company.email }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endif %}
|
||||||
|
{% if company.contact %}
|
||||||
|
<tr>
|
||||||
|
<td>Contact</td><td>{{ company.contact }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endif %}
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% block details %}
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% endblock %}
|
@ -1,46 +1,5 @@
|
|||||||
{% extends "supplier/supplier_base.html" %}
|
{% extends "company/company_base.html" %}
|
||||||
|
|
||||||
{% block details %}
|
{% block details %}
|
||||||
|
|
||||||
{% include "supplier/tabs.html" with tab='parts' %}
|
|
||||||
|
|
||||||
<h3>Supplier Parts</h3>
|
|
||||||
<table class="table table-striped">
|
|
||||||
<tr>
|
|
||||||
<th>SKU</th>
|
|
||||||
<th>Description</th>
|
|
||||||
<th>Parent Part</th>
|
|
||||||
<th>MPN</th>
|
|
||||||
<th>URL</th>
|
|
||||||
</tr>
|
|
||||||
{% for part in supplier.parts.all %}
|
|
||||||
<tr>
|
|
||||||
<td><a href="{% url 'supplier-part-detail' part.id %}">{{ part.SKU }}</a></td>
|
|
||||||
<td>{{ part.description }}</td>
|
|
||||||
<td>
|
|
||||||
{% if part.part %}
|
|
||||||
<a href="{% url 'part-suppliers' part.part.id %}">{{ part.part.name }}</a>
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
{% if part.manufacturer %}{{ part.manufacturer.name }}{% endif %}
|
|
||||||
{% if part.MPN %} | {{ part.MPN }}{% endif %}
|
|
||||||
</td>
|
|
||||||
<td>{{ part.URL }}</td>
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<div class='container-fluid'>
|
|
||||||
<a href="{% url 'supplier-part-create' %}?supplier={{ supplier.id }}">
|
|
||||||
<button class="btn btn-success">New Supplier Part</button>
|
|
||||||
</a>
|
|
||||||
<a href="{% url 'supplier-edit' supplier.id %}">
|
|
||||||
<button class="btn btn-info">Edit supplier details</button>
|
|
||||||
</a>
|
|
||||||
<a href="{% url 'supplier-delete' supplier.id %}">
|
|
||||||
<button class="btn btn-danger">Delete supplier</button>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
@ -6,7 +6,7 @@
|
|||||||
<ul class='list-group'>
|
<ul class='list-group'>
|
||||||
{% for company in companies %}
|
{% for company in companies %}
|
||||||
<li class='list-group-item'>
|
<li class='list-group-item'>
|
||||||
<b><a href="{% url 'company-detail' company.id %}">{{ supplier.name }}</a></b>
|
<b><a href="{% url 'company-detail' company.id %}">{{ company.name }}</a></b>
|
||||||
<br>
|
<br>
|
||||||
{{ company.description }}
|
{{ company.description }}
|
||||||
{% if company.website %}
|
{% if company.website %}
|
||||||
|
@ -1,46 +0,0 @@
|
|||||||
{% extends "base.html" %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-6">
|
|
||||||
<h3>{{ supplier.name }}</h3>
|
|
||||||
<p>{{ supplier.description }}</p>
|
|
||||||
<p>{{ supplier.notes }}</p>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-6">
|
|
||||||
<table class="table">
|
|
||||||
{% if supplier.website %}
|
|
||||||
<tr>
|
|
||||||
<td>Website</td><td><a href="{{ supplier.website }}">{{ supplier.website }}</a></td>
|
|
||||||
</tr>
|
|
||||||
{% endif %}
|
|
||||||
{% if supplier.address %}
|
|
||||||
<tr>
|
|
||||||
<td>Address</td><td>{{ supplier.address }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endif %}
|
|
||||||
{% if supplier.phone %}
|
|
||||||
<tr>
|
|
||||||
<td>Phone</td><td>{{ supplier.phone }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endif %}
|
|
||||||
{% if supplier.email %}
|
|
||||||
<tr>
|
|
||||||
<td>Email</td><td>{{ supplier.email }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endif %}
|
|
||||||
{% if supplier.contact %}
|
|
||||||
<tr>
|
|
||||||
<td>Contact</td><td>{{ supplier.contact }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endif %}
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% block details %}
|
|
||||||
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% endblock %}
|
|
@ -36,7 +36,6 @@ class SupplierOrderCreate(CreateView):
|
|||||||
return initials
|
return initials
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
class CompanyIndex(ListView):
|
class CompanyIndex(ListView):
|
||||||
model = Company
|
model = Company
|
||||||
template_name = 'company/index.html'
|
template_name = 'company/index.html'
|
||||||
@ -44,7 +43,16 @@ class CompanyIndex(ListView):
|
|||||||
paginate_by = 50
|
paginate_by = 50
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return Company.objects.order_by('name')
|
queryset = Company.objects.all().order_by('name')
|
||||||
|
|
||||||
|
if self.request.GET.get('supplier', None):
|
||||||
|
queryset = queryset.filter(is_supplier=True)
|
||||||
|
|
||||||
|
if self.request.GET.get('customer', None):
|
||||||
|
queryset = queryset.filter(is_customer=True)
|
||||||
|
|
||||||
|
return queryset
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CompanyDetail(DetailView):
|
class CompanyDetail(DetailView):
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
<li><a href="{% url 'part-index' %}">Parts</a></li>
|
<li><a href="{% url 'part-index' %}">Parts</a></li>
|
||||||
<li><a href="{% url 'stock-index' %}">Stock</a></li>
|
<li><a href="{% url 'stock-index' %}">Stock</a></li>
|
||||||
<li><a href="{% url 'build-index' %}">Build</a></li>
|
<li><a href="{% url 'build-index' %}">Build</a></li>
|
||||||
|
<li><a href="{% url 'company-index' %}">Companies</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
Loading…
Reference in New Issue
Block a user