From a793b344e85fa2952d317308b4bdf8d0dd529195 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 28 Mar 2017 23:14:36 +1100 Subject: [PATCH 01/11] PEP test --- InvenTree/part/serializers.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index 57d544fa39..b87d329e70 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -2,6 +2,7 @@ from rest_framework import serializers from .models import Part, PartCategory + class PartSerializer(serializers.ModelSerializer): class Meta: model = Part @@ -11,6 +12,7 @@ class PartSerializer(serializers.ModelSerializer): 'category', 'stock') + class PartCategorySerializer(serializers.ModelSerializer): class Meta: model = PartCategory From 18c39e7680a4c000c2f83d9bf858810f2c21aa4a Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 28 Mar 2017 23:16:47 +1100 Subject: [PATCH 02/11] added newline --- InvenTree/track/urls.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/track/urls.py b/InvenTree/track/urls.py index 59e5d723c9..9cb3403af4 100644 --- a/InvenTree/track/urls.py +++ b/InvenTree/track/urls.py @@ -4,4 +4,4 @@ from . import views urlpatterns = [ url(r'^$', views.index, name='index') -] \ No newline at end of file +] From 9aebdab1c2ac0fedf43f78dd09f68fdc65d42337 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 28 Mar 2017 23:17:56 +1100 Subject: [PATCH 03/11] pepper --- InvenTree/part/models.py | 10 ++++++++++ InvenTree/track/views.py | 4 +++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 0af382ec64..fab3c866bc 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -6,14 +6,17 @@ from django.core.exceptions import ObjectDoesNotExist from InvenTree.models import InvenTreeTree + class PartCategory(InvenTreeTree): """ PartCategory provides hierarchical organization of Part objects. """ + class Meta: verbose_name = "Part Category" verbose_name_plural = "Part Categories" + class Part(models.Model): """ Represents a """ @@ -25,6 +28,7 @@ class Part(models.Model): units = models.CharField(max_length=20, default="pcs", blank=True) trackable = models.BooleanField(default=False) + def __str__(self): if self.IPN: return "{name} ({ipn})".format( @@ -33,10 +37,12 @@ class Part(models.Model): else: return self.name + class Meta: verbose_name = "Part" verbose_name_plural = "Parts" + @property def stock_list(self): """ Return a list of all stock objects associated with this part @@ -44,6 +50,7 @@ class Part(models.Model): return self.stockitem_set.all() + @property def stock(self): """ Return the total stock quantity for this part. @@ -57,6 +64,7 @@ class Part(models.Model): result = stocks.aggregate(total=Sum('quantity')) return result['total'] + @property def projects(self): """ Return a list of unique projects that this part is associated with @@ -74,6 +82,7 @@ class Part(models.Model): return projects + class PartRevision(models.Model): """ A PartRevision represents a change-notification to a Part A Part may go through several revisions in its lifetime, @@ -87,5 +96,6 @@ class PartRevision(models.Model): description = models.CharField(max_length=500) revision_date = models.DateField(auto_now_add = True) + def __str__(self): return self.name \ No newline at end of file diff --git a/InvenTree/track/views.py b/InvenTree/track/views.py index 87db2335dc..16842c6008 100644 --- a/InvenTree/track/views.py +++ b/InvenTree/track/views.py @@ -1,5 +1,7 @@ from django.shortcuts import render, get_object_or_404 from django.http import HttpResponse + def index(request): - return HttpResponse("This is the Tracking page") \ No newline at end of file + return HttpResponse("This is the Tracking page") + \ No newline at end of file From a5009147c3606cf85ac721508fd4c68e4a812e9b Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 28 Mar 2017 23:21:26 +1100 Subject: [PATCH 04/11] pepe is a racist meme --- InvenTree/supplier/models.py | 4 +++- InvenTree/supplier/urls.py | 2 +- InvenTree/supplier/views.py | 4 +++- InvenTree/track/admin.py | 3 ++- InvenTree/track/models.py | 18 +++++++++--------- InvenTree/track/views.py | 1 - 6 files changed, 18 insertions(+), 14 deletions(-) diff --git a/InvenTree/supplier/models.py b/InvenTree/supplier/models.py index e3d4a7546e..6cd9935be7 100644 --- a/InvenTree/supplier/models.py +++ b/InvenTree/supplier/models.py @@ -34,6 +34,7 @@ class SupplierPart(models.Model): description = models.CharField(max_length=250, blank=True) + def __str__(self): return "{mpn} - {supplier}".format( mpn = self.MPN, @@ -53,9 +54,10 @@ class SupplierPriceBreak(models.Model): currency = models.CharField(max_length=10, blank=True) + def __str__(self): return "{mpn} - {cost}{currency} @ {quan}".format( mpn=part.MPN, cost=self.cost, currency=self.currency if self.currency else '', - quan=self.quantity) \ No newline at end of file + quan=self.quantity) diff --git a/InvenTree/supplier/urls.py b/InvenTree/supplier/urls.py index f382945b7f..5490b22d87 100644 --- a/InvenTree/supplier/urls.py +++ b/InvenTree/supplier/urls.py @@ -8,4 +8,4 @@ urlpatterns = [ url(r'^(?P[0-9]+)/$', views.supplierDetail, name='detail'), url(r'^$', views.index, name='index') -] \ No newline at end of file +] diff --git a/InvenTree/supplier/views.py b/InvenTree/supplier/views.py index 2b0f00335f..edfd3883be 100644 --- a/InvenTree/supplier/views.py +++ b/InvenTree/supplier/views.py @@ -3,11 +3,13 @@ from django.http import HttpResponse from .models import Supplier + def index(request): return HttpResponse("This is the suppliers page") + def supplierDetail(request, supplier_id): supplier = get_object_or_404(Supplier, pk=supplier_id) return render(request, 'supplier/detail.html', - {'supplier': supplier}) \ No newline at end of file + {'supplier': supplier}) diff --git a/InvenTree/track/admin.py b/InvenTree/track/admin.py index b6077f2080..ac6cf4ca7f 100644 --- a/InvenTree/track/admin.py +++ b/InvenTree/track/admin.py @@ -2,7 +2,8 @@ from django.contrib import admin from .models import UniquePart + class UniquePartAdmin(admin.ModelAdmin): list_display = ('part', 'revision', 'serial', 'creation_date') -admin.site.register(UniquePart, UniquePartAdmin) \ No newline at end of file +admin.site.register(UniquePart, UniquePartAdmin) diff --git a/InvenTree/track/models.py b/InvenTree/track/models.py index 9f6ffb3525..bcdc5397dc 100644 --- a/InvenTree/track/models.py +++ b/InvenTree/track/models.py @@ -37,14 +37,14 @@ class UniquePart(models.Model): PART_DESTROYED = 50 status = models.IntegerField(default=PART_IN_PROGRESS, - choices=[ - (PART_IN_PROGRESS, "In progress"), - (PART_IN_STOCK, "In stock"), - (PART_SHIPPED, "Shipped"), - (PART_RETURNED, "Returned"), - (PART_DAMAGED, "Damaged"), - (PART_DESTROYED, "Destroyed"), - ]) + choices=[ + (PART_IN_PROGRESS, "In progress"), + (PART_IN_STOCK, "In stock"), + (PART_SHIPPED, "Shipped"), + (PART_RETURNED, "Returned"), + (PART_DAMAGED, "Damaged"), + (PART_DESTROYED, "Destroyed"), + ]) def __str__(self): return self.part.name @@ -59,4 +59,4 @@ class PartTrackingInfo(models.Model): part = models.ForeignKey(UniquePart, on_delete=models.CASCADE) date = models.DateField(auto_now_add=True, editable=False) - notes = models.CharField(max_length=500) \ No newline at end of file + notes = models.CharField(max_length=500) diff --git a/InvenTree/track/views.py b/InvenTree/track/views.py index 16842c6008..5986b94af1 100644 --- a/InvenTree/track/views.py +++ b/InvenTree/track/views.py @@ -4,4 +4,3 @@ from django.http import HttpResponse def index(request): return HttpResponse("This is the Tracking page") - \ No newline at end of file From c111aaf9b2b5cf99c9ff22b841163ef079321ab1 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 28 Mar 2017 23:25:38 +1100 Subject: [PATCH 05/11] peps --- InvenTree/stock/models.py | 8 +++++--- InvenTree/stock/urls.py | 4 ++-- InvenTree/stock/views.py | 6 ++++-- InvenTree/supplier/admin.py | 5 +++-- InvenTree/supplier/models.py | 10 +++++----- 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index 4442ea2525..e400b50306 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -5,9 +5,11 @@ from django.db import models from part.models import Part from InvenTree.models import InvenTreeTree + class Warehouse(InvenTreeTree): pass + class StockItem(models.Model): part = models.ForeignKey(Part, on_delete=models.CASCADE) @@ -31,6 +33,6 @@ class StockItem(models.Model): def __str__(self): return "{n} x {part} @ {loc}".format( - n = self.quantity, - part = self.part.name, - loc = self.location.name) \ No newline at end of file + n=self.quantity, + part=self.part.name, + loc=self.location.name) diff --git a/InvenTree/stock/urls.py b/InvenTree/stock/urls.py index d878de5869..9cb3403af4 100644 --- a/InvenTree/stock/urls.py +++ b/InvenTree/stock/urls.py @@ -3,5 +3,5 @@ from django.conf.urls import url from . import views urlpatterns = [ - url(r'^$', views.index, name='index') -] \ No newline at end of file + url(r'^$', views.index, name='index') +] diff --git a/InvenTree/stock/views.py b/InvenTree/stock/views.py index 2f76a07800..2b4bc2262e 100644 --- a/InvenTree/stock/views.py +++ b/InvenTree/stock/views.py @@ -3,10 +3,12 @@ from django.http import HttpResponse from .models import Warehouse, StockItem + def index(request): - warehouses = Warehouse.objects.filter(parent = None) + warehouses = Warehouse.objects.filter(parent=None) return render(request, 'stock/index.html', {'warehouses': warehouses - }) \ No newline at end of file + } + ) \ No newline at end of file diff --git a/InvenTree/supplier/admin.py b/InvenTree/supplier/admin.py index 227c0a0d0a..1e4eb51126 100644 --- a/InvenTree/supplier/admin.py +++ b/InvenTree/supplier/admin.py @@ -2,9 +2,10 @@ from django.contrib import admin from .models import Supplier, SupplierPart, Customer + class CompanyAdmin(admin.ModelAdmin): - list_display=('name','URL','contact') + list_display = ('name', 'URL', 'contact') admin.site.register(Customer, CompanyAdmin) admin.site.register(Supplier, CompanyAdmin) -admin.site.register(SupplierPart) \ No newline at end of file +admin.site.register(SupplierPart) diff --git a/InvenTree/supplier/models.py b/InvenTree/supplier/models.py index 6cd9935be7..17607d875e 100644 --- a/InvenTree/supplier/models.py +++ b/InvenTree/supplier/models.py @@ -14,6 +14,8 @@ class Supplier(Company): class Customer(Company): + """ Represents a customer + """ pass @@ -31,14 +33,12 @@ class SupplierPart(models.Model): MPN = models.CharField(max_length=100) URL = models.URLField(blank=True) - description = models.CharField(max_length=250, - blank=True) - + description = models.CharField(max_length=250, blank=True) def __str__(self): return "{mpn} - {supplier}".format( - mpn = self.MPN, - supplier = self.supplier.name) + mpn=self.MPN, + supplier=self.supplier.name) class SupplierPriceBreak(models.Model): From 14f60e12926848ef119be184037389ec0817729c Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 28 Mar 2017 23:29:00 +1100 Subject: [PATCH 06/11] Pepsi --- .travis.yml | 2 +- InvenTree/InvenTree/models.py | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2b3ac04c3c..2c432d58d5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,4 +7,4 @@ before_install: script: # TODO - Only perform PEP8 checks on files that have been changed in this push / PR - - find . -name \*.py -exec pep8 --ignore=E402,W293 {} + \ No newline at end of file + - find . -name \*.py -exec pep8 --ignore=E402,W293,E501 {} + \ No newline at end of file diff --git a/InvenTree/InvenTree/models.py b/InvenTree/InvenTree/models.py index efbddf5fc6..471f1b17d7 100644 --- a/InvenTree/InvenTree/models.py +++ b/InvenTree/InvenTree/models.py @@ -4,6 +4,7 @@ from django.db import models from django.core.exceptions import ObjectDoesNotExist from django.contrib.contenttypes.models import ContentType + class Company(models.Model): """ Abstract model representing an external company """ @@ -22,10 +23,11 @@ class Company(models.Model): blank=True) notes = models.CharField(max_length=500, 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). @@ -58,7 +60,7 @@ class InvenTreeTree(models.Model): # Some magic to get around the limitations of abstract models contents = ContentType.objects.get_for_model(type(self)) - children = contents.get_all_objects_for_this_type(parent = self.id) + children = contents.get_all_objects_for_this_type(parent=self.id) for child in children: child.getUniqueChildren(unique) @@ -120,7 +122,8 @@ class InvenTreeTree(models.Model): """ if attrname == 'parent_id': - # If current ID is None, continue (as this object is just being created) + # If current ID is None, continue + # - This object is just being created if self.id is None: pass # Parent cannot be set to same ID (this would cause looping) @@ -134,13 +137,13 @@ class InvenTreeTree(models.Model): kids = self.getUniqueChildren() if val in kids: return - + # Prohibit certain characters from tree node names elif attrname == 'name': val = val.translate({ord(c): None for c in "!@#$%^&*'\"\\/[]{}<>,|+=~`"}) super(InvenTreeTree, self).__setattr__(attrname, val) - + def __str__(self): """ String representation of a category is the full path to that category @@ -148,4 +151,4 @@ class InvenTreeTree(models.Model): This is recursive - Make it not so. """ - return self.path \ No newline at end of file + return self.path From b5dc22f33ace0df5f0c2e2c0f3cfec072d8ed520 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 28 Mar 2017 23:31:41 +1100 Subject: [PATCH 07/11] peppa pig --- InvenTree/part/admin.py | 8 ++++---- InvenTree/part/models.py | 17 +++++------------ InvenTree/part/views.py | 8 ++++++-- 3 files changed, 15 insertions(+), 18 deletions(-) diff --git a/InvenTree/part/admin.py b/InvenTree/part/admin.py index 5c8211e2be..eb0c32e751 100644 --- a/InvenTree/part/admin.py +++ b/InvenTree/part/admin.py @@ -2,15 +2,15 @@ from django.contrib import admin from .models import PartCategory, Part + class PartAdmin(admin.ModelAdmin): list_display = ('name', 'IPN', 'stock', 'category') -# Custom form for PartCategory + class PartCategoryAdmin(admin.ModelAdmin): - + list_display = ('name', 'path', 'description') - admin.site.register(Part, PartAdmin) -admin.site.register(PartCategory, PartCategoryAdmin) \ No newline at end of file +admin.site.register(PartCategory, PartCategoryAdmin) diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index fab3c866bc..01e640febf 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -7,11 +7,10 @@ from django.core.exceptions import ObjectDoesNotExist from InvenTree.models import InvenTreeTree -class PartCategory(InvenTreeTree): +class PartCategory(InvenTreeTree): """ PartCategory provides hierarchical organization of Part objects. """ - class Meta: verbose_name = "Part Category" verbose_name_plural = "Part Categories" @@ -28,21 +27,18 @@ class Part(models.Model): units = models.CharField(max_length=20, default="pcs", blank=True) trackable = models.BooleanField(default=False) - def __str__(self): if self.IPN: return "{name} ({ipn})".format( - ipn = self.IPN, - name = self.name) + ipn=self.IPN, + name=self.name) else: return self.name - class Meta: verbose_name = "Part" verbose_name_plural = "Parts" - @property def stock_list(self): """ Return a list of all stock objects associated with this part @@ -50,7 +46,6 @@ class Part(models.Model): return self.stockitem_set.all() - @property def stock(self): """ Return the total stock quantity for this part. @@ -64,7 +59,6 @@ class Part(models.Model): result = stocks.aggregate(total=Sum('quantity')) return result['total'] - @property def projects(self): """ Return a list of unique projects that this part is associated with @@ -82,7 +76,7 @@ class Part(models.Model): return projects - + class PartRevision(models.Model): """ A PartRevision represents a change-notification to a Part A Part may go through several revisions in its lifetime, @@ -96,6 +90,5 @@ class PartRevision(models.Model): description = models.CharField(max_length=500) revision_date = models.DateField(auto_now_add = True) - def __str__(self): - return self.name \ No newline at end of file + return self.name diff --git a/InvenTree/part/views.py b/InvenTree/part/views.py index 6520785a82..49ee7de40f 100644 --- a/InvenTree/part/views.py +++ b/InvenTree/part/views.py @@ -9,22 +9,26 @@ from .serializers import PartSerializer, PartCategorySerializer def index(request): return HttpResponse("Hello world. This is the parts page") + class PartDetail(generics.RetrieveAPIView): queryset = Part.objects.all() serializer_class = PartSerializer + class PartList(generics.ListAPIView): queryset = Part.objects.all() serializer_class = PartSerializer + class PartCategoryDetail(generics.RetrieveAPIView): queryset = PartCategory.objects.all() serializer_class = PartCategorySerializer - + + class PartCategoryList(generics.ListAPIView): queryset = PartCategory.objects.all() - serializer_class = PartCategorySerializer \ No newline at end of file + serializer_class = PartCategorySerializer From 7ce5a9a7e5daa04c6d2c81bd84f3ba92a7a9ef04 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 28 Mar 2017 23:38:12 +1100 Subject: [PATCH 08/11] Papa Pep --- InvenTree/InvenTree/models.py | 7 +++---- InvenTree/part/models.py | 2 +- InvenTree/part/serializers.py | 2 +- InvenTree/part/urls.py | 2 +- InvenTree/part/views.py | 1 + InvenTree/project/admin.py | 9 ++++++--- InvenTree/project/models.py | 7 +++++-- InvenTree/project/urls.py | 2 +- InvenTree/project/views.py | 3 ++- InvenTree/stock/admin.py | 6 ++++-- InvenTree/stock/models.py | 8 ++++---- 11 files changed, 29 insertions(+), 20 deletions(-) diff --git a/InvenTree/InvenTree/models.py b/InvenTree/InvenTree/models.py index 471f1b17d7..81bf2c62db 100644 --- a/InvenTree/InvenTree/models.py +++ b/InvenTree/InvenTree/models.py @@ -43,7 +43,6 @@ class InvenTreeTree(models.Model): on_delete=models.CASCADE, blank=True, null=True) - #limit_choices_to={id: getAcceptableParents}) def getUniqueChildren(self, unique=None): """ Return a flat set of all child items that exist under this node. @@ -76,7 +75,7 @@ class InvenTreeTree(models.Model): available = contents.get_all_objects_for_this_type() - # List of child IDs + # List of child IDs childs = getUniqueChildren() acceptable = [None] @@ -101,7 +100,7 @@ class InvenTreeTree(models.Model): else: return [] - @property + @property def path(self): if self.parent: return "/".join([p.name for p in self.parentpath]) + "/" + self.name @@ -132,7 +131,7 @@ class InvenTreeTree(models.Model): # Null parent is OK elif val is None: pass - # Ensure that the new parent is not already a child + # Ensure that the new parent is not already a child else: kids = self.getUniqueChildren() if val in kids: diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 01e640febf..6780aad57c 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -88,7 +88,7 @@ class PartRevision(models.Model): name = models.CharField(max_length=100) description = models.CharField(max_length=500) - revision_date = models.DateField(auto_now_add = True) + revision_date = models.DateField(auto_now_add=True) def __str__(self): return self.name diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index b87d329e70..b15ea800c6 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -19,4 +19,4 @@ class PartCategorySerializer(serializers.ModelSerializer): fields = ('pk', 'name', 'description', - 'path') \ No newline at end of file + 'path') diff --git a/InvenTree/part/urls.py b/InvenTree/part/urls.py index d07d35052b..01ebb11cbf 100644 --- a/InvenTree/part/urls.py +++ b/InvenTree/part/urls.py @@ -14,4 +14,4 @@ urlpatterns = [ # Display list of parts url(r'^$', views.PartList.as_view()) -] \ No newline at end of file +] diff --git a/InvenTree/part/views.py b/InvenTree/part/views.py index 49ee7de40f..28d447303e 100644 --- a/InvenTree/part/views.py +++ b/InvenTree/part/views.py @@ -6,6 +6,7 @@ from rest_framework import generics from .models import PartCategory, Part from .serializers import PartSerializer, PartCategorySerializer + def index(request): return HttpResponse("Hello world. This is the parts page") diff --git a/InvenTree/project/admin.py b/InvenTree/project/admin.py index f266fb3612..b37fa8435c 100644 --- a/InvenTree/project/admin.py +++ b/InvenTree/project/admin.py @@ -2,15 +2,18 @@ from django.contrib import admin from .models import ProjectCategory, Project, ProjectPart + class ProjectCategoryAdmin(admin.ModelAdmin): list_display = ('name', 'path', 'description') - + + class ProjectAdmin(admin.ModelAdmin): list_display = ('name', 'description', 'category') - + + class ProjectPartAdmin(admin.ModelAdmin): list_display = ('part', 'project', 'quantity') admin.site.register(ProjectCategory, ProjectCategoryAdmin) admin.site.register(Project, ProjectAdmin) -admin.site.register(ProjectPart, ProjectPartAdmin) \ No newline at end of file +admin.site.register(ProjectPart, ProjectPartAdmin) diff --git a/InvenTree/project/models.py b/InvenTree/project/models.py index b7d0800fc1..a5f6d60bb7 100644 --- a/InvenTree/project/models.py +++ b/InvenTree/project/models.py @@ -5,6 +5,7 @@ from django.db import models from InvenTree.models import InvenTreeTree from part.models import Part + class ProjectCategory(InvenTreeTree): """ ProjectCategory provides hierarchical organization of Project objects. Each ProjectCategory can contain zero-or-more child categories, @@ -15,6 +16,7 @@ class ProjectCategory(InvenTreeTree): verbose_name = "Project Category" verbose_name_plural = "Project Categories" + class Project(models.Model): """ A Project takes multiple Part objects. A project can output zero-or-more Part objects @@ -33,6 +35,7 @@ class Project(models.Model): """ return self.projectpart_set.all() + class ProjectPart(models.Model): """ A project part associates a single part with a project The quantity of parts required for a single-run of that project is stored. @@ -56,5 +59,5 @@ class ProjectPart(models.Model): def __str__(self): return "{quan} x {name}".format( - name = self.part.name, - quan = self.quantity) \ No newline at end of file + name=self.part.name, + quan=self.quantity) diff --git a/InvenTree/project/urls.py b/InvenTree/project/urls.py index 59e5d723c9..9cb3403af4 100644 --- a/InvenTree/project/urls.py +++ b/InvenTree/project/urls.py @@ -4,4 +4,4 @@ from . import views urlpatterns = [ url(r'^$', views.index, name='index') -] \ No newline at end of file +] diff --git a/InvenTree/project/views.py b/InvenTree/project/views.py index 6b351c0479..a9b40c0cc5 100644 --- a/InvenTree/project/views.py +++ b/InvenTree/project/views.py @@ -1,5 +1,6 @@ from django.shortcuts import render, get_object_or_404 from django.http import HttpResponse + def index(request): - return HttpResponse("This is the Projects page") \ No newline at end of file + return HttpResponse("This is the Projects page") diff --git a/InvenTree/stock/admin.py b/InvenTree/stock/admin.py index 9e0dac771b..94de179851 100644 --- a/InvenTree/stock/admin.py +++ b/InvenTree/stock/admin.py @@ -2,11 +2,13 @@ from django.contrib import admin from .models import Warehouse, StockItem + class WarehouseAdmin(admin.ModelAdmin): list_display = ('name', 'path', 'description') - + + class StockItemAdmin(admin.ModelAdmin): list_display = ('part', 'quantity', 'location', 'status', 'updated') admin.site.register(Warehouse, WarehouseAdmin) -admin.site.register(StockItem, StockItemAdmin) \ No newline at end of file +admin.site.register(StockItem, StockItemAdmin) diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index e400b50306..f72a0f3d3a 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -25,10 +25,10 @@ class StockItem(models.Model): status = models.IntegerField(default=ITEM_IN_PROGRESS, choices=[ - (ITEM_IN_PROGRESS, "In progress"), - (ITEM_DAMAGED, "Damaged"), - (ITEM_ATTENTION, "Requires attention"), - (ITEM_COMPLETE, "Complete") + (ITEM_IN_PROGRESS, "In progress"), + (ITEM_DAMAGED, "Damaged"), + (ITEM_ATTENTION, "Requires attention"), + (ITEM_COMPLETE, "Complete") ]) def __str__(self): From 433dc7b3e3b5c909556d7a3c1d5f3156b290e4a7 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 28 Mar 2017 23:41:05 +1100 Subject: [PATCH 09/11] Pep goes the weasel --- InvenTree/project/models.py | 4 ++-- InvenTree/stock/views.py | 3 +-- InvenTree/supplier/models.py | 1 - InvenTree/track/models.py | 12 ++++++------ 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/InvenTree/project/models.py b/InvenTree/project/models.py index a5f6d60bb7..9fca272434 100644 --- a/InvenTree/project/models.py +++ b/InvenTree/project/models.py @@ -53,8 +53,8 @@ class ProjectPart(models.Model): overage_type = models.IntegerField( default=1, choices=[ - (OVERAGE_PERCENT, "Percent"), - (OVERAGE_ABSOLUTE, "Absolute") + (OVERAGE_PERCENT, "Percent"), + (OVERAGE_ABSOLUTE, "Absolute") ]) def __str__(self): diff --git a/InvenTree/stock/views.py b/InvenTree/stock/views.py index 2b4bc2262e..3f59330313 100644 --- a/InvenTree/stock/views.py +++ b/InvenTree/stock/views.py @@ -10,5 +10,4 @@ def index(request): return render(request, 'stock/index.html', {'warehouses': warehouses - } - ) \ No newline at end of file + }) diff --git a/InvenTree/supplier/models.py b/InvenTree/supplier/models.py index 17607d875e..632a6a00c4 100644 --- a/InvenTree/supplier/models.py +++ b/InvenTree/supplier/models.py @@ -54,7 +54,6 @@ class SupplierPriceBreak(models.Model): currency = models.CharField(max_length=10, blank=True) - def __str__(self): return "{mpn} - {cost}{currency} @ {quan}".format( mpn=part.MPN, diff --git a/InvenTree/track/models.py b/InvenTree/track/models.py index bcdc5397dc..03d159c31e 100644 --- a/InvenTree/track/models.py +++ b/InvenTree/track/models.py @@ -38,12 +38,12 @@ class UniquePart(models.Model): status = models.IntegerField(default=PART_IN_PROGRESS, choices=[ - (PART_IN_PROGRESS, "In progress"), - (PART_IN_STOCK, "In stock"), - (PART_SHIPPED, "Shipped"), - (PART_RETURNED, "Returned"), - (PART_DAMAGED, "Damaged"), - (PART_DESTROYED, "Destroyed"), + (PART_IN_PROGRESS, "In progress"), + (PART_IN_STOCK, "In stock"), + (PART_SHIPPED, "Shipped"), + (PART_RETURNED, "Returned"), + (PART_DAMAGED, "Damaged"), + (PART_DESTROYED, "Destroyed"), ]) def __str__(self): From 1a875811b76451953f5cbf486522624139975867 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 28 Mar 2017 23:44:32 +1100 Subject: [PATCH 10/11] not a pep --- InvenTree/project/models.py | 2 +- InvenTree/stock/views.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/InvenTree/project/models.py b/InvenTree/project/models.py index 9fca272434..a46b641d39 100644 --- a/InvenTree/project/models.py +++ b/InvenTree/project/models.py @@ -40,7 +40,7 @@ class ProjectPart(models.Model): """ A project part associates a single part with a project The quantity of parts required for a single-run of that project is stored. The overage is the number of extra parts that are generally used for a single run. - """ + """ # Overage types OVERAGE_PERCENT = 0 diff --git a/InvenTree/stock/views.py b/InvenTree/stock/views.py index 3f59330313..99d4ea69ac 100644 --- a/InvenTree/stock/views.py +++ b/InvenTree/stock/views.py @@ -9,5 +9,6 @@ def index(request): warehouses = Warehouse.objects.filter(parent=None) return render(request, 'stock/index.html', - {'warehouses': warehouses + { + 'warehouses': warehouses }) From 4912d5507ba6ba012977650d4f3a2c38c0af6170 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 28 Mar 2017 23:46:17 +1100 Subject: [PATCH 11/11] peppercord --- InvenTree/stock/views.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/InvenTree/stock/views.py b/InvenTree/stock/views.py index 99d4ea69ac..394fe97ad0 100644 --- a/InvenTree/stock/views.py +++ b/InvenTree/stock/views.py @@ -8,7 +8,4 @@ def index(request): warehouses = Warehouse.objects.filter(parent=None) - return render(request, 'stock/index.html', - { - 'warehouses': warehouses - }) + return render(request, 'stock/index.html', {'warehouses': warehouses})