mirror of
https://github.com/inventree/InvenTree.git
synced 2025-06-17 20:45:44 +00:00
The 'StockItem' model now has a reference to a SalesOrderLineItem
This commit is contained in:
@ -1,23 +0,0 @@
|
||||
# Generated by Django 3.0.5 on 2020-04-21 00:14
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('stock', '0026_stockitem_uid'),
|
||||
('order', '0023_auto_20200420_2309'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='SalesOrderLineItemStockAssociation',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('line', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='stock_items', to='order.SalesOrderLineItem')),
|
||||
('stock_item', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='sales_order', to='stock.StockItem')),
|
||||
],
|
||||
),
|
||||
]
|
@ -383,19 +383,3 @@ class SalesOrderLineItem(OrderLineItem):
|
||||
query = self.stock_items.aggregate(allocated=Coalesce(Sum('stock_item__quantity'), Decimal(0)))
|
||||
|
||||
return query['allocated']
|
||||
|
||||
|
||||
class SalesOrderLineItemStockAssociation(models.Model):
|
||||
"""
|
||||
Associates StockItem objects with a SalesOrderLineItem.
|
||||
This model is used to match stock items with a sales order,
|
||||
for the purpose of sale / packing / shipping etc.
|
||||
|
||||
Attributes:
|
||||
line: ForeignKey link to a SalesOrderLineItem object -> A single SalesOrderLineItem can have multiple associated StockItem objects
|
||||
stock: OneToOne link to a StockItem object -> A StockItem object can only be mapped to a single SalesOrderLineItem
|
||||
"""
|
||||
|
||||
line = models.ForeignKey(SalesOrderLineItem, on_delete=models.CASCADE, related_name='stock_items')
|
||||
|
||||
stock_item = models.OneToOneField(StockItem, on_delete=models.CASCADE, related_name='sales_order')
|
||||
|
@ -50,14 +50,6 @@ $("#so-lines-table").inventreeTable({
|
||||
title: 'ID',
|
||||
visible: false,
|
||||
},
|
||||
{
|
||||
field: 'line',
|
||||
title: 'Line',
|
||||
formatter: function(value, row, index, field) {
|
||||
return index + 1;
|
||||
},
|
||||
width: 50,
|
||||
},
|
||||
{
|
||||
sortable: true,
|
||||
field: 'part',
|
||||
@ -80,7 +72,12 @@ $("#so-lines-table").inventreeTable({
|
||||
field: 'quantity',
|
||||
title: 'Quantity',
|
||||
formatter: function(value, row, index, field) {
|
||||
return +parseFloat(value).toFixed(5);
|
||||
return `
|
||||
<div class='progress-bar'>
|
||||
<div class='progress-bar progress-bar-inner' style='width: 50%;'></div>
|
||||
<div class='progress-bar-value'>${row.allocated} / ${row.quantity}</div>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
},
|
||||
{
|
||||
|
Reference in New Issue
Block a user