Set default value for SupplierPriceBreak

Edit or Delete a SupplierPriceBreak
This commit is contained in:
Oliver Walters 2019-05-18 17:35:39 +10:00
parent fc3072a459
commit 5043c354b1
5 changed files with 61 additions and 5 deletions

View File

@ -85,7 +85,12 @@ InvenTree | {{ company.name }} - Parts
{% for pb in part.price_breaks.all %}
<tr>
<td>{{ pb.quantity }}</td>
<td>{{ pb.cost }}</td>
<td>{{ pb.cost }}
<div class='btn-group' style='float: right;'>
<button title='Edit Price Break' class='btn btn-primary pb-edit-button btn-sm' type='button' url="{% url 'price-break-edit' pb.id %}"><span class='glyphicon glyphicon-small glyphicon-pencil'></span></button>
<button title='Delete Price Break' class='btn btn-danger pb-delete-button btn-sm' type='button' url="{% url 'price-break-delete' pb.id %}"><span class='glyphicon glyphicon-small glyphicon-trash'></span></button>
</div>
</td>
</tr>
{% endfor %}
{% else %}
@ -138,4 +143,24 @@ InvenTree | {{ company.name }} - Parts
);
});
$('.pb-edit-button').click(function() {
var button = $(this);
launchModalForm(button.attr('url'),
{
reload: true,
}
);
});
$('.pb-delete-button').click(function() {
var button = $(this);
launchModalForm(button.attr('url'),
{
reload: true,
}
);
});
{% endblock %}

View File

@ -0,0 +1,19 @@
# Generated by Django 2.2 on 2019-05-18 06:50
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('part', '0030_auto_20190518_1641'),
]
operations = [
migrations.AlterField(
model_name='supplierpricebreak',
name='quantity',
field=models.PositiveIntegerField(default=1, validators=[django.core.validators.MinValueValidator(1)]),
),
]

View File

@ -892,6 +892,12 @@ class SupplierPart(models.Model):
- If order multiples are to be observed, then we need to calculate based on that, too
"""
price_breaks = self.price_breaks.all()
# No price break information available?
if len(price_breaks) == 0:
return None
# Minimum ordering requirement
if moq and self.minimum > quantity:
quantity = self.minimum
@ -946,7 +952,7 @@ class SupplierPriceBreak(models.Model):
part = models.ForeignKey(SupplierPart, on_delete=models.CASCADE, related_name='pricebreaks')
quantity = models.PositiveIntegerField(validators=[MinValueValidator(1)])
quantity = models.PositiveIntegerField(default=1, validators=[MinValueValidator(1)])
cost = models.DecimalField(max_digits=10, decimal_places=3, validators=[MinValueValidator(0)])

View File

@ -834,7 +834,6 @@ class PriceBreakCreate(AjaxCreateView):
def get_form(self):
form = super(AjaxCreateView, self).get_form()
form.fields['part'].widget = HiddenInput()
return form
@ -858,6 +857,13 @@ class PriceBreakEdit(AjaxUpdateView):
ajax_form_title = 'Edit Price Break'
ajax_template_name = 'modal_form.html'
def get_form(self):
form = super(AjaxUpdateView, self).get_form()
form.fields['part'].widget = HiddenInput()
return form
class PriceBreakDelete(AjaxDeleteView):
""" View for deleting a supplier price break """

View File

@ -3,11 +3,11 @@
}
.glyphicon {
font-size: 20px;
font-size: 18px;
}
.glyphicon-small {
font-size: 14px;
font-size: 12px;
}
.starred-part {