mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-11-04 07:05:41 +00:00 
			
		
		
		
	Company index / detail / edit pages working
This commit is contained in:
		@@ -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>
 | 
				
			||||||
		Reference in New Issue
	
	Block a user