diff --git a/InvenTree/InvenTree/urls.py b/InvenTree/InvenTree/urls.py index 58807d58d1..6cc8faf126 100644 --- a/InvenTree/InvenTree/urls.py +++ b/InvenTree/InvenTree/urls.py @@ -18,9 +18,6 @@ from django.conf.urls.static import static from django.views.generic.base import RedirectView -# from project.urls import prj_urls, prj_part_urls, prj_cat_urls, prj_run_urls -# from track.urls import unique_urls, part_track_urls - from users.urls import user_urls admin.site.site_header = "InvenTree Admin" @@ -29,36 +26,6 @@ apipatterns = [ url(r'^part/', include(part_api_urls)), url(r'^company/', include(company_api_urls)), - - # Stock URLs - #url(r'^stock/', include(stock_api_urls)), - #url(r'^stock-location/', include(stock_api_loc_urls)), - - # Part URLs - #url(r'^part/', include(part_api_urls)), - #url(r'^part-category/', include(part_cat_api_urls)), - # url(r'^part-param/', include(part_param_urls)), - # url(r'^part-param-template/', include(part_param_template_urls)), - - # Part BOM URLs - #url(r'^bom/', include(bom_api_urls)), - - # Supplier URLs - # url(r'^supplier/', include(supplier_api_urls)), - # url(r'^supplier-part/', include(supplier_api_part_urls)), - # url(r'^price-break/', include(price_break_urls)), - # url(r'^manufacturer/', include(manu_urls)), - - # Tracking URLs - # url(r'^track/', include(part_track_urls)), - # url(r'^unique-part/', include(unique_urls)), - - # Project URLs - # url(r'^project/', include(prj_urls)), - # url(r'^project-category/', include(prj_cat_urls)), - # url(r'^project-part/', include(prj_part_urls)), - # url(r'^project-run/', include(prj_run_urls)), - # User URLs url(r'^user/', include(user_urls)), ] diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index 385ce01658..e70c6ef11e 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -6,8 +6,6 @@ from django.utils.translation import ugettext as _ from django.db import models from django.core.validators import MinValueValidator -#from part.models import Part - class Build(models.Model): """ A Build object organises the creation of new parts from the component parts diff --git a/InvenTree/build/urls.py b/InvenTree/build/urls.py index 890da9451d..656d111156 100644 --- a/InvenTree/build/urls.py +++ b/InvenTree/build/urls.py @@ -1,5 +1,4 @@ from django.conf.urls import url, include -from django.views.generic.base import RedirectView from . import views diff --git a/InvenTree/build/views.py b/InvenTree/build/views.py index e0b593e2ab..66043550f8 100644 --- a/InvenTree/build/views.py +++ b/InvenTree/build/views.py @@ -2,10 +2,9 @@ from __future__ import unicode_literals from django.shortcuts import get_object_or_404 -from django.http import HttpResponseRedirect from django.views.generic import DetailView, ListView -from django.views.generic.edit import UpdateView, DeleteView, CreateView +from django.views.generic.edit import UpdateView, CreateView from part.models import Part from .models import Build diff --git a/InvenTree/company/admin.py b/InvenTree/company/admin.py index 97ee0cf8e8..cbeff65cf8 100644 --- a/InvenTree/company/admin.py +++ b/InvenTree/company/admin.py @@ -2,15 +2,10 @@ from django.contrib import admin from import_export.admin import ImportExportModelAdmin from .models import Company -#from .models import SupplierOrder + class CompanyAdmin(ImportExportModelAdmin): list_display = ('name', 'website', 'contact') -#class SupplierOrderAdmin(admin.ModelAdmin): -# list_display = ('internal_ref', 'supplier', 'issued_date', 'delivery_date', 'status') - - admin.site.register(Company, CompanyAdmin) -#admin.site.register(SupplierOrder, SupplierOrderAdmin) diff --git a/InvenTree/company/api.py b/InvenTree/company/api.py index 52fc1bb206..455a0e76e1 100644 --- a/InvenTree/company/api.py +++ b/InvenTree/company/api.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django_filters.rest_framework import FilterSet, DjangoFilterBackend +from django_filters.rest_framework import DjangoFilterBackend from rest_framework import filters from rest_framework import generics, permissions @@ -46,4 +46,4 @@ class CompanyList(generics.ListCreateAPIView): company_api_urls = [ url(r'^.*$', CompanyList.as_view(), name='api-company-list'), -] \ No newline at end of file +] diff --git a/InvenTree/company/forms.py b/InvenTree/company/forms.py index c710e88d7c..8ef2f14c51 100644 --- a/InvenTree/company/forms.py +++ b/InvenTree/company/forms.py @@ -28,6 +28,7 @@ class EditSupplierOrderForm(forms.ModelForm): ] """ + class EditCompanyForm(forms.ModelForm): def __init__(self, *args, **kwargs): diff --git a/InvenTree/company/migrations/0003_auto_20180423_1117.py b/InvenTree/company/migrations/0003_auto_20180423_1117.py new file mode 100644 index 0000000000..638e3a1ab7 --- /dev/null +++ b/InvenTree/company/migrations/0003_auto_20180423_1117.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.12 on 2018-04-23 11:17 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('company', '0002_auto_20180422_1201'), + ] + + operations = [ + migrations.AlterField( + model_name='company', + name='is_supplier', + field=models.BooleanField(default=True), + ), + migrations.AlterField( + model_name='company', + name='name', + field=models.CharField(help_text='Company name', max_length=100, unique=True), + ), + ] diff --git a/InvenTree/company/models.py b/InvenTree/company/models.py index f1a635018f..7faa458b9b 100644 --- a/InvenTree/company/models.py +++ b/InvenTree/company/models.py @@ -3,10 +3,7 @@ from __future__ import unicode_literals import os -from django.utils.translation import ugettext as _ - from django.db import models -from django.core.validators import MinValueValidator def rename_company_image(instance, filename): @@ -22,7 +19,7 @@ def rename_company_image(instance, filename): if ext: fn += '.' + ext - return os.path.join(base,fn) + return os.path.join(base, fn) class Company(models.Model): @@ -51,7 +48,7 @@ class Company(models.Model): is_customer = models.BooleanField(default=False) - is_supplier = models.BooleanField(default=False) + is_supplier = models.BooleanField(default=True) def __str__(self): return self.name @@ -66,4 +63,3 @@ class Company(models.Model): @property def has_parts(self): return self.part_count > 0 - diff --git a/InvenTree/company/serializers.py b/InvenTree/company/serializers.py index 0b67ac80de..f2f06c607f 100644 --- a/InvenTree/company/serializers.py +++ b/InvenTree/company/serializers.py @@ -1,9 +1,8 @@ from rest_framework import serializers -from part.models import Part - from .models import Company + class CompanySerializer(serializers.HyperlinkedModelSerializer): class Meta: diff --git a/InvenTree/company/views.py b/InvenTree/company/views.py index e4f901731f..e06a6fba53 100644 --- a/InvenTree/company/views.py +++ b/InvenTree/company/views.py @@ -1,40 +1,15 @@ -from django.shortcuts import get_object_or_404 +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + from django.http import HttpResponseRedirect from django.views.generic import DetailView, ListView from django.views.generic.edit import UpdateView, DeleteView, CreateView -from part.models import Part from .models import Company -#from .models import SupplierOrder from .forms import EditCompanyForm -#from .forms import EditSupplierOrderForm -""" -class SupplierOrderDetail(DetailView): - context_object_name = 'order' - model = SupplierOrder - template_name = 'company/order_detail.html' - queryset = SupplierOrder.objects.all() - - -class SupplierOrderCreate(CreateView): - model = SupplierOrder - form_class = EditSupplierOrderForm - context_object_name = 'supplier' - template_name = 'company/order_create.html' - - def get_initial(self): - initials = super(SupplierOrderCreate, self).get_initial().copy() - - s_id = self.request.GET.get('supplier', None) - - if s_id: - initials['supplier'] = get_object_or_404(Supplier, pk=s_id) - - return initials -""" class CompanyIndex(ListView): model = Company @@ -54,7 +29,6 @@ class CompanyIndex(ListView): return queryset - class CompanyDetail(DetailView): context_obect_name = 'company' template_name = 'company/detail.html' @@ -86,5 +60,3 @@ class CompanyDelete(DeleteView): return super(CompanyDelete, self).post(request, *args, **kwargs) else: return HttpResponseRedirect(self.get_object().get_absolute_url()) - - diff --git a/InvenTree/part/admin.py b/InvenTree/part/admin.py index 7fe4e65dc3..c7fa2a6b6c 100644 --- a/InvenTree/part/admin.py +++ b/InvenTree/part/admin.py @@ -4,7 +4,6 @@ from import_export.admin import ImportExportModelAdmin from .models import PartCategory, Part from .models import SupplierPart from .models import BomItem -from .models import PartAttachment class PartAdmin(ImportExportModelAdmin): @@ -21,9 +20,6 @@ class BomItemAdmin(ImportExportModelAdmin): list_display = ('part', 'sub_part', 'quantity') -#class PartAttachmentAdmin(admin.ModelAdmin): -# list_display = ('part', 'attachment') - class SupplierPartAdmin(ImportExportModelAdmin): list_display = ('part', 'supplier', 'SKU') diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 56b61e912a..a6de975b55 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django_filters.rest_framework import FilterSet, DjangoFilterBackend +from django_filters.rest_framework import DjangoFilterBackend from rest_framework import filters from rest_framework import generics, permissions @@ -27,7 +27,7 @@ class PartList(generics.ListCreateAPIView): ] filter_fields = [ - + 'category', ] ordering_fields = [ @@ -36,6 +36,12 @@ class PartList(generics.ListCreateAPIView): ordering = 'name' + search_fields = [ + 'name', + 'description', + ] + + part_api_urls = [ url(r'^.*$', PartList.as_view(), name='api-part-list'), diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index cf68d66257..6c7da027e3 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -13,6 +13,7 @@ from django.dispatch import receiver from InvenTree.models import InvenTreeTree from company.models import Company + class PartCategory(InvenTreeTree): """ PartCategory provides hierarchical organization of Part objects. """ diff --git a/InvenTree/part/urls.py b/InvenTree/part/urls.py index 8367f89034..31129ad529 100644 --- a/InvenTree/part/urls.py +++ b/InvenTree/part/urls.py @@ -1,5 +1,4 @@ from django.conf.urls import url, include -from django.views.generic.base import RedirectView from . import views diff --git a/InvenTree/stock/forms.py b/InvenTree/stock/forms.py index d16a44d53a..36b1ba6cca 100644 --- a/InvenTree/stock/forms.py +++ b/InvenTree/stock/forms.py @@ -52,6 +52,6 @@ class EditStockItemForm(forms.ModelForm): 'batch', 'quantity', 'status', - #'customer', + # 'customer', 'URL', ] diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index 14c4d821ff..d60356ea8e 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -11,11 +11,7 @@ from django.dispatch import receiver from datetime import datetime -#from company.models import Company -#from part.models import Part -#from part.models import SupplierPart from InvenTree.models import InvenTreeTree -#from build.models import Build class StockLocation(InvenTreeTree): diff --git a/Makefile b/Makefile index 2c6845dc59..196721ae78 100644 --- a/Makefile +++ b/Makefile @@ -8,7 +8,7 @@ clean: rm -f .coverage style: - flake8 + flake8 InvenTree test: python InvenTree/manage.py check