From cef3c664f9bc6e5c55ac118f87a783e6ff993263 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 19 Apr 2018 09:01:07 +1000 Subject: [PATCH] Moving 'supplier' to 'company' --- InvenTree/InvenTree/models.py | 31 ---------- InvenTree/InvenTree/settings.py | 2 +- InvenTree/InvenTree/urls.py | 4 +- InvenTree/{supplier => company}/__init__.py | 0 InvenTree/{supplier => company}/admin.py | 11 +--- InvenTree/{supplier => company}/api.py | 0 InvenTree/{supplier => company}/apps.py | 4 +- InvenTree/{supplier => company}/forms.py | 8 +-- .../migrations/0001_initial.py | 0 .../migrations/0002_auto_20180412_0622.py | 0 .../migrations/0003_auto_20180414_0540.py | 0 .../migrations/0004_auto_20180414_0624.py | 0 .../migrations/0005_auto_20180415_0255.py | 0 .../migrations/0006_auto_20180415_1011.py | 0 .../migrations/0007_auto_20180416_1253.py | 0 .../migrations/0008_delete_customer.py | 0 .../migrations/0009_auto_20180417_1411.py | 0 .../migrations/0009_auto_20180417_1516.py | 0 .../migrations/0010_auto_20180417_1420.py | 0 .../migrations/0011_auto_20180417_1436.py | 0 .../migrations/0012_auto_20180417_1447.py | 0 .../migrations/0013_merge_20180417_1517.py | 0 .../migrations/0014_auto_20180417_1520.py | 0 .../0015_supplierorderlineitem_received.py | 0 .../migrations/__init__.py | 0 InvenTree/{supplier => company}/models.py | 43 ++++++++----- .../{supplier => company}/serializers.py | 22 +------ .../templates/company}/create.html | 0 .../templates/company}/delete.html | 0 .../templates/company}/detail.html | 0 .../templates/company}/edit.html | 0 .../templates/company}/index.html | 0 .../templates/company}/order_create.html | 0 .../templates/company}/order_detail.html | 0 .../templates/company}/order_status.html | 0 .../templates/company}/orders.html | 0 .../templates/company}/partcreate.html | 0 .../templates/company}/partdelete.html | 0 .../templates/company}/partdetail.html | 0 .../templates/company}/partedit.html | 0 .../templates/company}/supplier_base.html | 0 .../templates/company}/tabs.html | 0 InvenTree/{supplier => company}/tests.py | 0 InvenTree/{supplier => company}/urls.py | 26 ++++---- InvenTree/{supplier => company}/views.py | 61 ++++++++++--------- .../migrations/0022_auto_20180417_0819.py | 4 +- InvenTree/part/models.py | 3 +- InvenTree/stock/models.py | 5 +- InvenTree/templates/navbar.html | 1 - Makefile | 2 +- 50 files changed, 95 insertions(+), 132 deletions(-) rename InvenTree/{supplier => company}/__init__.py (100%) rename InvenTree/{supplier => company}/admin.py (63%) rename InvenTree/{supplier => company}/api.py (100%) rename InvenTree/{supplier => company}/apps.py (58%) rename InvenTree/{supplier => company}/forms.py (91%) rename InvenTree/{supplier => company}/migrations/0001_initial.py (100%) rename InvenTree/{supplier => company}/migrations/0002_auto_20180412_0622.py (100%) rename InvenTree/{supplier => company}/migrations/0003_auto_20180414_0540.py (100%) rename InvenTree/{supplier => company}/migrations/0004_auto_20180414_0624.py (100%) rename InvenTree/{supplier => company}/migrations/0005_auto_20180415_0255.py (100%) rename InvenTree/{supplier => company}/migrations/0006_auto_20180415_1011.py (100%) rename InvenTree/{supplier => company}/migrations/0007_auto_20180416_1253.py (100%) rename InvenTree/{supplier => company}/migrations/0008_delete_customer.py (100%) rename InvenTree/{supplier => company}/migrations/0009_auto_20180417_1411.py (100%) rename InvenTree/{supplier => company}/migrations/0009_auto_20180417_1516.py (100%) rename InvenTree/{supplier => company}/migrations/0010_auto_20180417_1420.py (100%) rename InvenTree/{supplier => company}/migrations/0011_auto_20180417_1436.py (100%) rename InvenTree/{supplier => company}/migrations/0012_auto_20180417_1447.py (100%) rename InvenTree/{supplier => company}/migrations/0013_merge_20180417_1517.py (100%) rename InvenTree/{supplier => company}/migrations/0014_auto_20180417_1520.py (100%) rename InvenTree/{supplier => company}/migrations/0015_supplierorderlineitem_received.py (100%) rename InvenTree/{supplier => company}/migrations/__init__.py (100%) rename InvenTree/{supplier => company}/models.py (84%) rename InvenTree/{supplier => company}/serializers.py (76%) rename InvenTree/{supplier/templates/supplier => company/templates/company}/create.html (100%) rename InvenTree/{supplier/templates/supplier => company/templates/company}/delete.html (100%) rename InvenTree/{supplier/templates/supplier => company/templates/company}/detail.html (100%) rename InvenTree/{supplier/templates/supplier => company/templates/company}/edit.html (100%) rename InvenTree/{supplier/templates/supplier => company/templates/company}/index.html (100%) rename InvenTree/{supplier/templates/supplier => company/templates/company}/order_create.html (100%) rename InvenTree/{supplier/templates/supplier => company/templates/company}/order_detail.html (100%) rename InvenTree/{supplier/templates/supplier => company/templates/company}/order_status.html (100%) rename InvenTree/{supplier/templates/supplier => company/templates/company}/orders.html (100%) rename InvenTree/{supplier/templates/supplier => company/templates/company}/partcreate.html (100%) rename InvenTree/{supplier/templates/supplier => company/templates/company}/partdelete.html (100%) rename InvenTree/{supplier/templates/supplier => company/templates/company}/partdetail.html (100%) rename InvenTree/{supplier/templates/supplier => company/templates/company}/partedit.html (100%) rename InvenTree/{supplier/templates/supplier => company/templates/company}/supplier_base.html (100%) rename InvenTree/{supplier/templates/supplier => company/templates/company}/tabs.html (100%) rename InvenTree/{supplier => company}/tests.py (100%) rename InvenTree/{supplier => company}/urls.py (75%) rename InvenTree/{supplier => company}/views.py (69%) diff --git a/InvenTree/InvenTree/models.py b/InvenTree/InvenTree/models.py index a066c2b281..4c25be2fe6 100644 --- a/InvenTree/InvenTree/models.py +++ b/InvenTree/InvenTree/models.py @@ -8,37 +8,6 @@ from django.db.models.signals import pre_delete from django.dispatch import receiver -class Company(models.Model): - """ Abstract model representing an external company - """ - - class Meta: - abstract = True - - name = models.CharField(max_length=100, unique=True, - help_text='Company naem') - - description = models.CharField(max_length=500) - - website = models.URLField(blank=True, help_text='Company website URL') - - address = models.CharField(max_length=200, - blank=True, help_text='Company address') - - phone = models.CharField(max_length=50, - blank=True) - - email = models.EmailField(blank=True) - - contact = models.CharField(max_length=100, - blank=True) - - notes = models.TextField(blank=True) - - def __str__(self): - return self.name - - class InvenTreeTree(models.Model): """ Provides an abstracted self-referencing tree model for data categories. - Each Category has one parent Category, which can be blank (for a top-level Category). diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index 6ce09ad104..8fcb2cb470 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -49,7 +49,7 @@ INSTALLED_APPS = [ # InvenTree apps 'part.apps.PartConfig', 'stock.apps.StockConfig', - 'supplier.apps.SupplierConfig', + 'company.apps.CompanyConfig', 'build.apps.BuildConfig', ] diff --git a/InvenTree/InvenTree/urls.py b/InvenTree/InvenTree/urls.py index 6cdccb8135..3e70aa560a 100644 --- a/InvenTree/InvenTree/urls.py +++ b/InvenTree/InvenTree/urls.py @@ -9,7 +9,7 @@ from stock.urls import stock_api_urls, stock_api_loc_urls from stock.urls import stock_urls # from supplier.urls import supplier_api_urls, supplier_api_part_urls -from supplier.urls import supplier_urls +from company.urls import company_urls from build.urls import build_urls @@ -68,7 +68,7 @@ urlpatterns = [ url(r'^part/', include(part_urls)), url(r'^stock/', include(stock_urls)), - url(r'^supplier/', include(supplier_urls)), + url(r'^company/', include(company_urls)), url(r'^build/', include(build_urls)), url(r'^admin/', admin.site.urls), diff --git a/InvenTree/supplier/__init__.py b/InvenTree/company/__init__.py similarity index 100% rename from InvenTree/supplier/__init__.py rename to InvenTree/company/__init__.py diff --git a/InvenTree/supplier/admin.py b/InvenTree/company/admin.py similarity index 63% rename from InvenTree/supplier/admin.py rename to InvenTree/company/admin.py index 70be9abf88..2edc1a5d24 100644 --- a/InvenTree/supplier/admin.py +++ b/InvenTree/company/admin.py @@ -1,14 +1,10 @@ from django.contrib import admin from import_export.admin import ImportExportModelAdmin -from .models import Supplier, SupplierPart, Manufacturer +from .models import Company, SupplierPart from .models import SupplierOrder -class SupplierAdmin(ImportExportModelAdmin): - list_display = ('name', 'website', 'contact') - - -class ManufacturerAdmin(ImportExportModelAdmin): +class CompanyAdmin(ImportExportModelAdmin): list_display = ('name', 'website', 'contact') @@ -20,7 +16,6 @@ class SupplierOrderAdmin(admin.ModelAdmin): list_display = ('internal_ref', 'supplier', 'issued_date', 'delivery_date', 'status') -admin.site.register(Supplier, SupplierAdmin) -admin.site.register(Manufacturer, ManufacturerAdmin) +admin.site.register(Company, CompanyAdmin) admin.site.register(SupplierPart, SupplierPartAdmin) admin.site.register(SupplierOrder, SupplierOrderAdmin) diff --git a/InvenTree/supplier/api.py b/InvenTree/company/api.py similarity index 100% rename from InvenTree/supplier/api.py rename to InvenTree/company/api.py diff --git a/InvenTree/supplier/apps.py b/InvenTree/company/apps.py similarity index 58% rename from InvenTree/supplier/apps.py rename to InvenTree/company/apps.py index 28384c66fc..c55451e882 100644 --- a/InvenTree/supplier/apps.py +++ b/InvenTree/company/apps.py @@ -3,5 +3,5 @@ from __future__ import unicode_literals from django.apps import AppConfig -class SupplierConfig(AppConfig): - name = 'supplier' +class CompanyConfig(AppConfig): + name = 'company' diff --git a/InvenTree/supplier/forms.py b/InvenTree/company/forms.py similarity index 91% rename from InvenTree/supplier/forms.py rename to InvenTree/company/forms.py index b154d209ea..90f49fca8e 100644 --- a/InvenTree/supplier/forms.py +++ b/InvenTree/company/forms.py @@ -2,7 +2,7 @@ from django import forms from crispy_forms.helper import FormHelper from crispy_forms.layout import Submit -from .models import Supplier, SupplierPart +from .models import Company, SupplierPart from .models import SupplierOrder @@ -28,10 +28,10 @@ class EditSupplierOrderForm(forms.ModelForm): ] -class EditSupplierForm(forms.ModelForm): +class EditCompanyForm(forms.ModelForm): def __init__(self, *args, **kwargs): - super(EditSupplierForm, self).__init__(*args, **kwargs) + super(EditCompanyForm, self).__init__(*args, **kwargs) self.helper = FormHelper() self.helper.form_id = 'id-edit-part-form' @@ -41,7 +41,7 @@ class EditSupplierForm(forms.ModelForm): self.helper.add_input(Submit('submit', 'Submit')) class Meta: - model = Supplier + model = Company fields = [ 'name', 'description', diff --git a/InvenTree/supplier/migrations/0001_initial.py b/InvenTree/company/migrations/0001_initial.py similarity index 100% rename from InvenTree/supplier/migrations/0001_initial.py rename to InvenTree/company/migrations/0001_initial.py diff --git a/InvenTree/supplier/migrations/0002_auto_20180412_0622.py b/InvenTree/company/migrations/0002_auto_20180412_0622.py similarity index 100% rename from InvenTree/supplier/migrations/0002_auto_20180412_0622.py rename to InvenTree/company/migrations/0002_auto_20180412_0622.py diff --git a/InvenTree/supplier/migrations/0003_auto_20180414_0540.py b/InvenTree/company/migrations/0003_auto_20180414_0540.py similarity index 100% rename from InvenTree/supplier/migrations/0003_auto_20180414_0540.py rename to InvenTree/company/migrations/0003_auto_20180414_0540.py diff --git a/InvenTree/supplier/migrations/0004_auto_20180414_0624.py b/InvenTree/company/migrations/0004_auto_20180414_0624.py similarity index 100% rename from InvenTree/supplier/migrations/0004_auto_20180414_0624.py rename to InvenTree/company/migrations/0004_auto_20180414_0624.py diff --git a/InvenTree/supplier/migrations/0005_auto_20180415_0255.py b/InvenTree/company/migrations/0005_auto_20180415_0255.py similarity index 100% rename from InvenTree/supplier/migrations/0005_auto_20180415_0255.py rename to InvenTree/company/migrations/0005_auto_20180415_0255.py diff --git a/InvenTree/supplier/migrations/0006_auto_20180415_1011.py b/InvenTree/company/migrations/0006_auto_20180415_1011.py similarity index 100% rename from InvenTree/supplier/migrations/0006_auto_20180415_1011.py rename to InvenTree/company/migrations/0006_auto_20180415_1011.py diff --git a/InvenTree/supplier/migrations/0007_auto_20180416_1253.py b/InvenTree/company/migrations/0007_auto_20180416_1253.py similarity index 100% rename from InvenTree/supplier/migrations/0007_auto_20180416_1253.py rename to InvenTree/company/migrations/0007_auto_20180416_1253.py diff --git a/InvenTree/supplier/migrations/0008_delete_customer.py b/InvenTree/company/migrations/0008_delete_customer.py similarity index 100% rename from InvenTree/supplier/migrations/0008_delete_customer.py rename to InvenTree/company/migrations/0008_delete_customer.py diff --git a/InvenTree/supplier/migrations/0009_auto_20180417_1411.py b/InvenTree/company/migrations/0009_auto_20180417_1411.py similarity index 100% rename from InvenTree/supplier/migrations/0009_auto_20180417_1411.py rename to InvenTree/company/migrations/0009_auto_20180417_1411.py diff --git a/InvenTree/supplier/migrations/0009_auto_20180417_1516.py b/InvenTree/company/migrations/0009_auto_20180417_1516.py similarity index 100% rename from InvenTree/supplier/migrations/0009_auto_20180417_1516.py rename to InvenTree/company/migrations/0009_auto_20180417_1516.py diff --git a/InvenTree/supplier/migrations/0010_auto_20180417_1420.py b/InvenTree/company/migrations/0010_auto_20180417_1420.py similarity index 100% rename from InvenTree/supplier/migrations/0010_auto_20180417_1420.py rename to InvenTree/company/migrations/0010_auto_20180417_1420.py diff --git a/InvenTree/supplier/migrations/0011_auto_20180417_1436.py b/InvenTree/company/migrations/0011_auto_20180417_1436.py similarity index 100% rename from InvenTree/supplier/migrations/0011_auto_20180417_1436.py rename to InvenTree/company/migrations/0011_auto_20180417_1436.py diff --git a/InvenTree/supplier/migrations/0012_auto_20180417_1447.py b/InvenTree/company/migrations/0012_auto_20180417_1447.py similarity index 100% rename from InvenTree/supplier/migrations/0012_auto_20180417_1447.py rename to InvenTree/company/migrations/0012_auto_20180417_1447.py diff --git a/InvenTree/supplier/migrations/0013_merge_20180417_1517.py b/InvenTree/company/migrations/0013_merge_20180417_1517.py similarity index 100% rename from InvenTree/supplier/migrations/0013_merge_20180417_1517.py rename to InvenTree/company/migrations/0013_merge_20180417_1517.py diff --git a/InvenTree/supplier/migrations/0014_auto_20180417_1520.py b/InvenTree/company/migrations/0014_auto_20180417_1520.py similarity index 100% rename from InvenTree/supplier/migrations/0014_auto_20180417_1520.py rename to InvenTree/company/migrations/0014_auto_20180417_1520.py diff --git a/InvenTree/supplier/migrations/0015_supplierorderlineitem_received.py b/InvenTree/company/migrations/0015_supplierorderlineitem_received.py similarity index 100% rename from InvenTree/supplier/migrations/0015_supplierorderlineitem_received.py rename to InvenTree/company/migrations/0015_supplierorderlineitem_received.py diff --git a/InvenTree/supplier/migrations/__init__.py b/InvenTree/company/migrations/__init__.py similarity index 100% rename from InvenTree/supplier/migrations/__init__.py rename to InvenTree/company/migrations/__init__.py diff --git a/InvenTree/supplier/models.py b/InvenTree/company/models.py similarity index 84% rename from InvenTree/supplier/models.py rename to InvenTree/company/models.py index c11015546a..4438f3ed3f 100644 --- a/InvenTree/supplier/models.py +++ b/InvenTree/company/models.py @@ -6,16 +6,37 @@ from django.utils.translation import ugettext as _ from django.db import models from django.core.validators import MinValueValidator -from InvenTree.models import Company from part.models import Part - -class Supplier(Company): - """ Represents a manufacturer or supplier +class Company(models.Model): + """ Abstract model representing an external company """ + name = models.CharField(max_length=100, unique=True, + help_text='Company naem') + + description = models.CharField(max_length=500) + + website = models.URLField(blank=True, help_text='Company website URL') + + address = models.CharField(max_length=200, + blank=True, help_text='Company address') + + phone = models.CharField(max_length=50, + blank=True) + + email = models.EmailField(blank=True) + + contact = models.CharField(max_length=100, + blank=True) + + notes = models.TextField(blank=True) + + def __str__(self): + return self.name + def get_absolute_url(self): - return "/supplier/{id}/".format(id=self.id) + return "/company/{id}/".format(id=self.id) @property def part_count(self): @@ -34,12 +55,6 @@ class Supplier(Company): return self.order_count > 0 -class Manufacturer(Company): - """ Represents a manfufacturer - """ - pass - - class SupplierPart(models.Model): """ Represents a unique part as provided by a Supplier Each SupplierPart is identified by a MPN (Manufacturer Part Number) @@ -58,12 +73,12 @@ class SupplierPart(models.Model): part = models.ForeignKey(Part, on_delete=models.CASCADE, related_name='supplier_parts') - supplier = models.ForeignKey(Supplier, on_delete=models.CASCADE, + supplier = models.ForeignKey(Company, on_delete=models.CASCADE, related_name='parts') SKU = models.CharField(max_length=100, help_text='Supplier stock keeping unit') - manufacturer = models.ForeignKey(Manufacturer, blank=True, null=True, on_delete=models.SET_NULL, help_text='Manufacturer') + manufacturer = models.CharField(max_length=100, blank=True, help_text='Manufacturer') MPN = models.CharField(max_length=100, blank=True, help_text='Manufacturer part number') @@ -127,7 +142,7 @@ class SupplierOrder(models.Model): # Interal reference for this order internal_ref = models.CharField(max_length=25, unique=True) - supplier = models.ForeignKey(Supplier, on_delete=models.CASCADE, + supplier = models.ForeignKey(Company, on_delete=models.CASCADE, related_name='orders') created_date = models.DateField(auto_now_add=True, editable=False) diff --git a/InvenTree/supplier/serializers.py b/InvenTree/company/serializers.py similarity index 76% rename from InvenTree/supplier/serializers.py rename to InvenTree/company/serializers.py index 5aa278ed4b..313ecc5600 100644 --- a/InvenTree/supplier/serializers.py +++ b/InvenTree/company/serializers.py @@ -2,29 +2,13 @@ from rest_framework import serializers from part.models import Part -from .models import Supplier, SupplierPart, SupplierPriceBreak -from .models import Manufacturer -from .models import Customer +from .models import Company, SupplierPart, SupplierPriceBreak -class SupplierSerializer(serializers.HyperlinkedModelSerializer): +class CompanySerializer(serializers.HyperlinkedModelSerializer): class Meta: - model = Supplier - fields = '__all__' - - -class ManufacturerSerializer(serializers.HyperlinkedModelSerializer): - - class Meta: - model = Manufacturer - fields = '__all__' - - -class CustomerSerializer(serializers.HyperlinkedModelSerializer): - - class Meta: - model = Customer + model = Company fields = '__all__' diff --git a/InvenTree/supplier/templates/supplier/create.html b/InvenTree/company/templates/company/create.html similarity index 100% rename from InvenTree/supplier/templates/supplier/create.html rename to InvenTree/company/templates/company/create.html diff --git a/InvenTree/supplier/templates/supplier/delete.html b/InvenTree/company/templates/company/delete.html similarity index 100% rename from InvenTree/supplier/templates/supplier/delete.html rename to InvenTree/company/templates/company/delete.html diff --git a/InvenTree/supplier/templates/supplier/detail.html b/InvenTree/company/templates/company/detail.html similarity index 100% rename from InvenTree/supplier/templates/supplier/detail.html rename to InvenTree/company/templates/company/detail.html diff --git a/InvenTree/supplier/templates/supplier/edit.html b/InvenTree/company/templates/company/edit.html similarity index 100% rename from InvenTree/supplier/templates/supplier/edit.html rename to InvenTree/company/templates/company/edit.html diff --git a/InvenTree/supplier/templates/supplier/index.html b/InvenTree/company/templates/company/index.html similarity index 100% rename from InvenTree/supplier/templates/supplier/index.html rename to InvenTree/company/templates/company/index.html diff --git a/InvenTree/supplier/templates/supplier/order_create.html b/InvenTree/company/templates/company/order_create.html similarity index 100% rename from InvenTree/supplier/templates/supplier/order_create.html rename to InvenTree/company/templates/company/order_create.html diff --git a/InvenTree/supplier/templates/supplier/order_detail.html b/InvenTree/company/templates/company/order_detail.html similarity index 100% rename from InvenTree/supplier/templates/supplier/order_detail.html rename to InvenTree/company/templates/company/order_detail.html diff --git a/InvenTree/supplier/templates/supplier/order_status.html b/InvenTree/company/templates/company/order_status.html similarity index 100% rename from InvenTree/supplier/templates/supplier/order_status.html rename to InvenTree/company/templates/company/order_status.html diff --git a/InvenTree/supplier/templates/supplier/orders.html b/InvenTree/company/templates/company/orders.html similarity index 100% rename from InvenTree/supplier/templates/supplier/orders.html rename to InvenTree/company/templates/company/orders.html diff --git a/InvenTree/supplier/templates/supplier/partcreate.html b/InvenTree/company/templates/company/partcreate.html similarity index 100% rename from InvenTree/supplier/templates/supplier/partcreate.html rename to InvenTree/company/templates/company/partcreate.html diff --git a/InvenTree/supplier/templates/supplier/partdelete.html b/InvenTree/company/templates/company/partdelete.html similarity index 100% rename from InvenTree/supplier/templates/supplier/partdelete.html rename to InvenTree/company/templates/company/partdelete.html diff --git a/InvenTree/supplier/templates/supplier/partdetail.html b/InvenTree/company/templates/company/partdetail.html similarity index 100% rename from InvenTree/supplier/templates/supplier/partdetail.html rename to InvenTree/company/templates/company/partdetail.html diff --git a/InvenTree/supplier/templates/supplier/partedit.html b/InvenTree/company/templates/company/partedit.html similarity index 100% rename from InvenTree/supplier/templates/supplier/partedit.html rename to InvenTree/company/templates/company/partedit.html diff --git a/InvenTree/supplier/templates/supplier/supplier_base.html b/InvenTree/company/templates/company/supplier_base.html similarity index 100% rename from InvenTree/supplier/templates/supplier/supplier_base.html rename to InvenTree/company/templates/company/supplier_base.html diff --git a/InvenTree/supplier/templates/supplier/tabs.html b/InvenTree/company/templates/company/tabs.html similarity index 100% rename from InvenTree/supplier/templates/supplier/tabs.html rename to InvenTree/company/templates/company/tabs.html diff --git a/InvenTree/supplier/tests.py b/InvenTree/company/tests.py similarity index 100% rename from InvenTree/supplier/tests.py rename to InvenTree/company/tests.py diff --git a/InvenTree/supplier/urls.py b/InvenTree/company/urls.py similarity index 75% rename from InvenTree/supplier/urls.py rename to InvenTree/company/urls.py index 2b6565d6c3..6109de5a6d 100644 --- a/InvenTree/supplier/urls.py +++ b/InvenTree/company/urls.py @@ -47,13 +47,13 @@ supplier_api_urls = [ ] """ -supplier_detail_urls = [ - url(r'edit/?', views.SupplierEdit.as_view(), name='supplier-edit'), - url(r'delete/?', views.SupplierDelete.as_view(), name='supplier-delete'), +company_detail_urls = [ + url(r'edit/?', views.CompanyEdit.as_view(), name='company-edit'), + url(r'delete/?', views.CompanyDelete.as_view(), name='company-delete'), - url(r'orders/?', views.SupplierDetail.as_view(template_name='supplier/orders.html'), name='supplier-detail-orders'), + url(r'orders/?', views.CompanyDetail.as_view(template_name='supplier/orders.html'), name='company-detail-orders'), - url(r'^.*$', views.SupplierDetail.as_view(), name='supplier-detail'), + url(r'^.*$', views.CompanyDetail.as_view(), name='company-detail'), ] supplier_part_detail_urls = [ @@ -69,6 +69,7 @@ supplier_part_urls = [ url(r'^(?P\d+)/', include(supplier_part_detail_urls)), ] +""" supplier_order_detail_urls = [ @@ -80,20 +81,21 @@ supplier_order_urls = [ url(r'^(?P\d+)/', include(supplier_order_detail_urls)), ] +""" -supplier_urls = [ +company_urls = [ - url(r'part/', include(supplier_part_urls)), + url(r'supplier_part/', include(supplier_part_urls)), - url(r'order/', include(supplier_order_urls)), + #url(r'order/', include(supplier_order_urls)), - url(r'new/?', views.SupplierCreate.as_view(), name='supplier-create'), + #url(r'new/?', views.SupplierCreate.as_view(), name='supplier-create'), - url(r'^(?P\d+)/', include(supplier_detail_urls)), + url(r'^(?P\d+)/', include(company_detail_urls)), - url(r'', views.SupplierIndex.as_view(), name='supplier-index'), + url(r'', views.CompanyIndex.as_view(), name='company-index'), # Redirect any other patterns - url(r'^.*$', RedirectView.as_view(url='', permanent=False), name='supplier-index'), + url(r'^.*$', RedirectView.as_view(url='', permanent=False), name='company-index'), ] diff --git a/InvenTree/supplier/views.py b/InvenTree/company/views.py similarity index 69% rename from InvenTree/supplier/views.py rename to InvenTree/company/views.py index 8e3d5e4735..be46e1ecb0 100644 --- a/InvenTree/supplier/views.py +++ b/InvenTree/company/views.py @@ -5,17 +5,18 @@ from django.views.generic import DetailView, ListView from django.views.generic.edit import UpdateView, DeleteView, CreateView from part.models import Part -from .models import Supplier, SupplierPart +from .models import Company +from .models import SupplierPart from .models import SupplierOrder -from .forms import EditSupplierForm +from .forms import EditCompanyForm from .forms import EditSupplierPartForm from .forms import EditSupplierOrderForm class SupplierOrderDetail(DetailView): context_object_name = 'order' model = SupplierOrder - template_name = 'supplier/order_detail.html' + template_name = 'company/order_detail.html' queryset = SupplierOrder.objects.all() @@ -23,7 +24,7 @@ class SupplierOrderCreate(CreateView): model = SupplierOrder form_class = EditSupplierOrderForm context_object_name = 'supplier' - template_name = 'supplier/order_create.html' + template_name = 'company/order_create.html' def get_initial(self): initials = super(SupplierOrderCreate, self).get_initial().copy() @@ -36,58 +37,58 @@ class SupplierOrderCreate(CreateView): return initials -class SupplierIndex(ListView): - model = Supplier - template_name = 'supplier/index.html' - context_object_name = 'suppliers' +class CompanyIndex(ListView): + model = Company + template_name = 'company/index.html' + context_object_name = 'companies' paginate_by = 50 def get_queryset(self): return Supplier.objects.order_by('name') -class SupplierDetail(DetailView): - context_obect_name = 'supplier' - template_name = 'supplier/detail.html' - queryset = Supplier.objects.all() - model = Supplier +class CompanyDetail(DetailView): + context_obect_name = 'company' + template_name = 'company/detail.html' + queryset = Company.objects.all() + model = Company -class SupplierEdit(UpdateView): - model = Supplier - form_class = EditSupplierForm - template_name = 'supplier/edit.html' +class CompanyEdit(UpdateView): + model = Company + form_class = EditCompanyForm + template_name = 'company/edit.html' context_object_name = 'supplier' -class SupplierCreate(CreateView): - model = Supplier - form_class = EditSupplierForm - template_name = "supplier/create.html" +class CompanyCreate(CreateView): + model = Company + form_class = EditCompanyForm + template_name = "company/create.html" -class SupplierDelete(DeleteView): - model = Supplier - success_url = '/supplier/' - template_name = 'supplier/delete.html' +class CompanyDelete(DeleteView): + model = Company + success_url = '/company/' + template_name = 'company/delete.html' def post(self, request, *args, **kwargs): if 'confirm' in request.POST: - return super(SupplierDelete, self).post(request, *args, **kwargs) + return super(CompanyDelete, self).post(request, *args, **kwargs) else: return HttpResponseRedirect(self.get_object().get_absolute_url()) class SupplierPartDetail(DetailView): model = SupplierPart - template_name = 'supplier/partdetail.html' + template_name = 'company/partdetail.html' context_object_name = 'part' queryset = SupplierPart.objects.all() class SupplierPartEdit(UpdateView): model = SupplierPart - template_name = 'supplier/partedit.html' + template_name = 'company/partedit.html' context_object_name = 'part' form_class = EditSupplierPartForm @@ -95,7 +96,7 @@ class SupplierPartEdit(UpdateView): class SupplierPartCreate(CreateView): model = SupplierPart form_class = EditSupplierPartForm - template_name = 'supplier/partcreate.html' + template_name = 'company/partcreate.html' context_object_name = 'part' def get_initial(self): @@ -119,7 +120,7 @@ class SupplierPartCreate(CreateView): class SupplierPartDelete(DeleteView): model = SupplierPart success_url = '/supplier/' - template_name = 'supplier/partdelete.html' + template_name = 'company/partdelete.html' def post(self, request, *args, **kwargs): if 'confirm' in request.POST: diff --git a/InvenTree/part/migrations/0022_auto_20180417_0819.py b/InvenTree/part/migrations/0022_auto_20180417_0819.py index ed7c74db03..3c21afeed1 100644 --- a/InvenTree/part/migrations/0022_auto_20180417_0819.py +++ b/InvenTree/part/migrations/0022_auto_20180417_0819.py @@ -9,7 +9,7 @@ import django.db.models.deletion class Migration(migrations.Migration): dependencies = [ - ('supplier', '0007_auto_20180416_1253'), + ('company', '0007_auto_20180416_1253'), ('part', '0021_part_default_location'), ] @@ -17,7 +17,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='part', name='default_supplier', - field=models.ForeignKey(blank=True, help_text='Default supplier part', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='default_parts', to='supplier.SupplierPart'), + field=models.ForeignKey(blank=True, help_text='Default supplier part', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='default_parts', to='company.SupplierPart'), ), migrations.AlterField( model_name='part', diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 0409d2ecf5..26a7597f33 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -11,7 +11,6 @@ from django.db.models.signals import pre_delete from django.dispatch import receiver from InvenTree.models import InvenTreeTree -# from stock.models import StockLocation class PartCategory(InvenTreeTree): @@ -112,7 +111,7 @@ class Part(models.Model): related_name='default_parts') # Default supplier part - default_supplier = models.ForeignKey('supplier.SupplierPart', + default_supplier = models.ForeignKey('company.SupplierPart', on_delete=models.SET_NULL, blank=True, null=True, help_text='Default supplier part', diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index 8d3aeb60df..2251e856bd 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -11,7 +11,7 @@ from django.dispatch import receiver from datetime import datetime -from supplier.models import SupplierPart +from company.models import SupplierPart from part.models import Part from InvenTree.models import InvenTreeTree from build.models import Build @@ -81,9 +81,8 @@ class StockItem(models.Model): related_name='owned_parts', blank=True, null=True, help_text='Is this item installed in another item?') - # TODO - Point to a Company object instead # The StockItem may be assigned to a particular customer - customer = models.ForeignKey('supplier.Supplier', on_delete=models.SET_NULL, + customer = models.ForeignKey('company.Company', on_delete=models.SET_NULL, related_name='stockitems', blank=True, null=True, help_text='Item assigned to customer?') diff --git a/InvenTree/templates/navbar.html b/InvenTree/templates/navbar.html index 96e263f382..70863e0291 100644 --- a/InvenTree/templates/navbar.html +++ b/InvenTree/templates/navbar.html @@ -10,7 +10,6 @@
  • Stock
  • Build
  • Suppliers
  • -
  • Customers
  • \ No newline at end of file diff --git a/Makefile b/Makefile index 9420b60374..e640daa561 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ test: migrate: python InvenTree/manage.py makemigrations part python InvenTree/manage.py makemigrations stock - python InvenTree/manage.py makemigrations supplier + python InvenTree/manage.py makemigrations company python InvenTree/manage.py makemigrations build python InvenTree/manage.py migrate --run-syncdb python InvenTree/manage.py check