Part stuff

This commit is contained in:
Oliver 2018-04-30 22:30:15 +10:00
parent 4a2b6a5674
commit b24ddac0b8
5 changed files with 30 additions and 9 deletions

View File

@ -12,7 +12,6 @@ from .serializers import PartSerializer
from InvenTree.views import TreeSerializer
class PartCategoryTree(TreeSerializer):
title = "Parts"

View File

@ -82,7 +82,7 @@ class Part(models.Model):
""" Represents an abstract part
Parts can be "stocked" in multiple warehouses,
and can be combined to form other parts
"""
"""
def get_absolute_url(self):
return '/part/{id}/'.format(id=self.id)
@ -256,18 +256,19 @@ class Part(models.Model):
self.allocated_build_count,
])
@property
def stock_entries(self):
return [loc for loc in self.locations.all() if loc.in_stock]
@property
def total_stock(self):
""" Return the total stock quantity for this part.
Part may be stored in multiple locations
"""
stocks = self.locations.all()
if len(stocks) == 0:
return 0
return sum([loc.quantity for loc in self.stock_entries])
result = stocks.aggregate(total=Sum('quantity'))
return result['total']
@property
def has_bom(self):

View File

@ -22,7 +22,7 @@
</tr>
</thead>
<tbody>
{% for stock in part.locations.all %}
{% for stock in part.stock_entries %}
<tr>
<td><a href="{% url 'stock-item-detail' stock.id %}">Click</a></td>
<td>

View File

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.12 on 2018-04-30 12:18
from __future__ import unicode_literals
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('stock', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='stockitem',
name='quantity',
field=models.PositiveIntegerField(default=1, validators=[django.core.validators.MinValueValidator(0)]),
),
]

View File

@ -130,7 +130,7 @@ class StockItem(models.Model):
# build = models.ForeignKey('build.Build', on_delete=models.SET_NULL, blank=True, null=True)
# Quantity of this stock item. Value may be overridden by other settings
quantity = models.PositiveIntegerField(validators=[MinValueValidator(0)])
quantity = models.PositiveIntegerField(validators=[MinValueValidator(0)], default=1)
# Last time this item was updated (set automagically)
updated = models.DateField(auto_now=True)