mirror of
https://github.com/inventree/InvenTree.git
synced 2025-04-30 20:46:47 +00:00
Set default value for SupplierPriceBreak
Edit or Delete a SupplierPriceBreak
This commit is contained in:
parent
fc3072a459
commit
5043c354b1
@ -85,7 +85,12 @@ InvenTree | {{ company.name }} - Parts
|
|||||||
{% for pb in part.price_breaks.all %}
|
{% for pb in part.price_breaks.all %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ pb.quantity }}</td>
|
<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>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% else %}
|
{% 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 %}
|
{% endblock %}
|
19
InvenTree/part/migrations/0031_auto_20190518_1650.py
Normal file
19
InvenTree/part/migrations/0031_auto_20190518_1650.py
Normal 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)]),
|
||||||
|
),
|
||||||
|
]
|
@ -892,6 +892,12 @@ class SupplierPart(models.Model):
|
|||||||
- If order multiples are to be observed, then we need to calculate based on that, too
|
- 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
|
# Minimum ordering requirement
|
||||||
if moq and self.minimum > quantity:
|
if moq and self.minimum > quantity:
|
||||||
quantity = self.minimum
|
quantity = self.minimum
|
||||||
@ -946,7 +952,7 @@ class SupplierPriceBreak(models.Model):
|
|||||||
|
|
||||||
part = models.ForeignKey(SupplierPart, on_delete=models.CASCADE, related_name='pricebreaks')
|
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)])
|
cost = models.DecimalField(max_digits=10, decimal_places=3, validators=[MinValueValidator(0)])
|
||||||
|
|
||||||
|
@ -834,7 +834,6 @@ class PriceBreakCreate(AjaxCreateView):
|
|||||||
def get_form(self):
|
def get_form(self):
|
||||||
|
|
||||||
form = super(AjaxCreateView, self).get_form()
|
form = super(AjaxCreateView, self).get_form()
|
||||||
|
|
||||||
form.fields['part'].widget = HiddenInput()
|
form.fields['part'].widget = HiddenInput()
|
||||||
|
|
||||||
return form
|
return form
|
||||||
@ -858,6 +857,13 @@ class PriceBreakEdit(AjaxUpdateView):
|
|||||||
ajax_form_title = 'Edit Price Break'
|
ajax_form_title = 'Edit Price Break'
|
||||||
ajax_template_name = 'modal_form.html'
|
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):
|
class PriceBreakDelete(AjaxDeleteView):
|
||||||
""" View for deleting a supplier price break """
|
""" View for deleting a supplier price break """
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.glyphicon {
|
.glyphicon {
|
||||||
font-size: 20px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.glyphicon-small {
|
.glyphicon-small {
|
||||||
font-size: 14px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.starred-part {
|
.starred-part {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user