mirror of
https://github.com/inventree/InvenTree.git
synced 2025-04-29 12:06:44 +00:00
Added table of orders and details for each order showing table of lines
This commit is contained in:
parent
3f33a921ae
commit
5bb08053e0
21
InvenTree/build/migrations/0010_auto_20180418_0028.py
Normal file
21
InvenTree/build/migrations/0010_auto_20180418_0028.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.11 on 2018-04-17 14:28
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
import django.core.validators
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('build', '0009_auto_20180417_1316'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='build',
|
||||||
|
name='status',
|
||||||
|
field=models.PositiveIntegerField(choices=[(10, 'Pending'), (20, 'Holding'), (30, 'Cancelled'), (40, 'Complete')], default=10, validators=[django.core.validators.MinValueValidator(0)]),
|
||||||
|
),
|
||||||
|
]
|
66
InvenTree/customer/migrations/0002_auto_20180418_0028.py
Normal file
66
InvenTree/customer/migrations/0002_auto_20180418_0028.py
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.11 on 2018-04-17 14:28
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('customer', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='customerorder',
|
||||||
|
name='created_date',
|
||||||
|
field=models.DateField(auto_now_add=True, help_text='Date order entered in system'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='customerorder',
|
||||||
|
name='customer',
|
||||||
|
field=models.ForeignKey(blank=True, help_text='Customer that placed this order', null=True, on_delete=django.db.models.deletion.SET_NULL, to='customer.Customer'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='customerorder',
|
||||||
|
name='customer_ref',
|
||||||
|
field=models.CharField(blank=True, default='', max_length=100),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='customerorder',
|
||||||
|
name='issued_date',
|
||||||
|
field=models.DateField(blank=True, help_text='Date order issued by customer'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='customerorder',
|
||||||
|
name='notes',
|
||||||
|
field=models.TextField(blank=True, default='', help_text='Order notes'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='customerorderline',
|
||||||
|
name='customer_order',
|
||||||
|
field=models.ForeignKey(help_text='Order this line belongs to', on_delete=django.db.models.deletion.CASCADE, to='customer.CustomerOrder'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='customerorderline',
|
||||||
|
name='line_number',
|
||||||
|
field=models.PositiveIntegerField(default=0, help_text='Line number'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='customerorderline',
|
||||||
|
name='notes',
|
||||||
|
field=models.TextField(blank=True, help_text='Line notes'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='customerorderline',
|
||||||
|
name='part',
|
||||||
|
field=models.ForeignKey(blank=True, help_text='Part', on_delete=django.db.models.deletion.CASCADE, related_name='order_lines', to='part.Part'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='customerorderline',
|
||||||
|
name='quantity',
|
||||||
|
field=models.PositiveIntegerField(blank=True, help_text='Quantity of part'),
|
||||||
|
),
|
||||||
|
]
|
@ -57,7 +57,8 @@ class CustomerOrderLine(models.Model):
|
|||||||
]
|
]
|
||||||
|
|
||||||
# Point to a specific customer order
|
# Point to a specific customer order
|
||||||
customer_order = models.ForeignKey(CustomerOrder, on_delete=models.CASCADE, help_text="Order this line belongs to")
|
customer_order = models.ForeignKey(CustomerOrder, on_delete=models.CASCADE, help_text="Order this line belongs to",
|
||||||
|
related_name='lines')
|
||||||
|
|
||||||
line_number = models.PositiveIntegerField(default=0, help_text="Line number")
|
line_number = models.PositiveIntegerField(default=0, help_text="Line number")
|
||||||
|
|
||||||
|
@ -2,4 +2,9 @@
|
|||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
|
<h4>Order Summary</h4>
|
||||||
|
{{ order.internal_ref }}
|
||||||
|
<h4>Order Detail</h4>
|
||||||
|
{% include "customer/order_lines_table.html" with order_lines=order.lines.all %}
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
@ -1,14 +1,11 @@
|
|||||||
<table class="table table-striped">
|
{% extends "base.html" %}
|
||||||
<tr>
|
{% load static %}
|
||||||
<th>Internal Ref</th>
|
|
||||||
<th>Customer</th>
|
{% block content %}
|
||||||
<th>Customer Ref</th>
|
|
||||||
</tr>
|
{% if customer_orders.all|length > 0 %}
|
||||||
{% for order in customer_orders %}
|
<h4>Customer Orders</h4>
|
||||||
<tr>
|
{% include "customer/orders_table.html" with customer_orders=customer_orders %}
|
||||||
<td>{{ order.internal_ref }}</td>
|
{% endif %}
|
||||||
<td>{{ order.customer }}</td>
|
|
||||||
<td>{{ order.customer_ref }}</td>
|
{% endblock %}
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
14
InvenTree/customer/templates/customer/order_lines_table.html
Normal file
14
InvenTree/customer/templates/customer/order_lines_table.html
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<table class="table table-striped">
|
||||||
|
<tr>
|
||||||
|
<th>Line Number</th>
|
||||||
|
<th>Part</th>
|
||||||
|
<th>Quantity</th>
|
||||||
|
</tr>
|
||||||
|
{% for line in order_lines %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ line.line_number }}</td>
|
||||||
|
<td>{{ line.part }}</td>
|
||||||
|
<td>{{ line.quantity }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
14
InvenTree/customer/templates/customer/orders_table.html
Normal file
14
InvenTree/customer/templates/customer/orders_table.html
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<table class="table table-striped">
|
||||||
|
<tr>
|
||||||
|
<th>Internal Ref</th>
|
||||||
|
<th>Customer</th>
|
||||||
|
<th>Customer Ref</th>
|
||||||
|
</tr>
|
||||||
|
{% for order in customer_orders %}
|
||||||
|
<tr>
|
||||||
|
<td><a href="{% url 'customer-order-detail' order.internal_ref %}">{{ order.internal_ref }}</a></td>
|
||||||
|
<td>{{ order.customer }}</td>
|
||||||
|
<td>{{ order.customer_ref }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
21
InvenTree/stock/migrations/0014_auto_20180418_0028.py
Normal file
21
InvenTree/stock/migrations/0014_auto_20180418_0028.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.11 on 2018-04-17 14:28
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
import django.core.validators
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('stock', '0013_auto_20180417_1337'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='stockitem',
|
||||||
|
name='status',
|
||||||
|
field=models.PositiveIntegerField(choices=[(10, 'OK'), (50, 'Attention needed'), (55, 'Damaged'), (60, 'Destroyed')], default=10, validators=[django.core.validators.MinValueValidator(0)]),
|
||||||
|
),
|
||||||
|
]
|
Loading…
x
Reference in New Issue
Block a user