3
0
Fork 0
mirror of https://github.com/nanoy42/coope synced 2024-05-03 08:02:24 +00:00

Improvements

This commit is contained in:
Yoann Pétri 2019-09-20 22:01:51 +02:00
parent 73e7697a3c
commit ed60e58002
5 changed files with 61 additions and 6 deletions

View file

@ -49,11 +49,10 @@ class CreateKegForm(forms.ModelForm):
class Meta:
model = Keg
fields = ["name", "stockHold", "amount", "capacity"]
fields = ["name", "stockHold", "amount", "capacity", "deg"]
widgets = {'amount': forms.TextInput}
category = forms.ModelChoiceField(queryset=Category.objects.all(), label="Catégorie", help_text="Catégorie dans laquelle placer les produits pinte, demi (et galopin si besoin).")
deg = forms.DecimalField(max_digits=5, decimal_places=2, label="Degré", validators=[MinValueValidator(0)])
create_galopin = forms.BooleanField(required=False, label="Créer le produit galopin ?")
def clean(self):
@ -68,7 +67,7 @@ class EditKegForm(forms.ModelForm):
class Meta:
model = Keg
fields = ["name", "stockHold", "amount", "capacity", "pinte", "demi", "galopin"]
fields = ["name", "stockHold", "amount", "capacity", "pinte", "demi", "galopin", "deg"]
widgets = {'amount': forms.TextInput}
def clean(self):

View file

@ -0,0 +1,33 @@
# Generated by Django 2.1 on 2019-09-12 07:51
import django.core.validators
from django.db import migrations, models
def update(apps, schema_editor):
Keg = apps.get_model('gestion', 'Keg')
for keg in Keg.objects.all():
keg.deg = keg.pinte.deg
keg.save()
def reverse(apps, schema_editor):
pass
class Migration(migrations.Migration):
dependencies = [
('gestion', '0013_auto_20190829_1219'),
]
operations = [
migrations.AddField(
model_name='historicalkeg',
name='deg',
field=models.DecimalField(decimal_places=2, default=0, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Degré'),
),
migrations.AddField(
model_name='keg',
name='deg',
field=models.DecimalField(decimal_places=2, default=0, max_digits=5, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Degré'),
),
migrations.RunPython(update, reverse)
]

View file

@ -194,6 +194,7 @@ class Keg(models.Model):
"""
If True, will be displayed on :func:`~gestion.views.manage` view
"""
deg = models.DecimalField(default=0,max_digits=5, decimal_places=2, verbose_name="Degré", validators=[MinValueValidator(0)])
history = HistoricalRecords()
def __str__(self):

View file

@ -592,7 +592,29 @@ def editKeg(request, pk):
keg = get_object_or_404(Keg, pk=pk)
form = EditKegForm(request.POST or None, instance=keg)
if(form.is_valid()):
form.save()
try:
price_profile = PriceProfile.objects.get(use_for_draft=True)
except:
messages.error(request, "Il n'y a pas de profil de prix pour les pressions")
return redirect(reverse('preferences:priceProfilesIndex'))
keg = form.save()
# Update produtcs
name = form.cleaned_data["name"][4:]
pinte_price = compute_price(keg.amount/(2*keg.capacity), price_profile.a, price_profile.b, price_profile.c, price_profile.alpha)
pinte_price = ceil(10*pinte_price)/10
keg.pinte.deg = keg.deg
keg.pinte.amount = pinte_price
keg.pinte.name = "Pinte " + name
keg.pinte.save()
keg.demi.deg = keg.deg
keg.demi.amount = ceil(5*pinte_price)/10
keg.demi.name = "Demi " + name
keg.demi.save()
if(keg.galopin):
keg.galopin.deg = deg
keg.galopin.amount = ceil(2.5 * pinte_price)/10
keg.galopin.name = "Galopin " + name
keg.galopin.save()
messages.success(request, "Le fût a bien été modifié")
return redirect(reverse('gestion:kegsList'))
return render(request, "form.html", {"form": form, "form_title": "Modification d'un fût", "form_button": "Modifier", "form_button_icon": "pencil-alt"})

View file

@ -274,8 +274,8 @@ def improvements_index(request):
"""
Display all improvements
"""
todo_improvements = Improvement.objects.filter(done=False)
done_improvements = Improvement.objects.filter(done=True)
todo_improvements = Improvement.objects.filter(done=False).order_by('-date')
done_improvements = Improvement.objects.filter(done=True).order_by('-date')
return render(request, "preferences/improvements_index.html", {"todo_improvements": todo_improvements, "done_improvements": done_improvements})