dev #17

Merged
jkuijperm merged 4 commits from dev into main 2026-07-28 11:01:05 +00:00
2 changed files with 23 additions and 34 deletions
Showing only changes of commit 88802360db - Show all commits

View File

@ -62,17 +62,16 @@ class IncomeForm(forms.ModelForm):
) )
class FuelEntryForm(forms.Form): class FuelEntryForm(forms.ModelForm):
# Expense fields odometer = forms.DecimalField(label="Kilómetros actuales")
date = forms.DateField( liters = forms.DecimalField(max_digits=8, decimal_places=2, label="Litros")
widget=forms.DateInput(format="%Y-%m-%d", attrs={"type": "date"})
)
amount = forms.DecimalField(max_digits=10, decimal_places=2)
account = forms.ModelChoiceField(queryset=None)
# Specifics fuel fields class Meta:
odometer = forms.DecimalField(label="Current kilometers") model = Expense
liters = forms.DecimalField(max_digits=8, decimal_places=2) fields = ["date", "amount", "account"]
widgets = {
"date": forms.DateInput(format="%Y-%m-%d", attrs={"type":"date"}),
}
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
user = kwargs.pop("user") user = kwargs.pop("user")
@ -81,6 +80,11 @@ class FuelEntryForm(forms.Form):
if user: if user:
self.fields["account"].queryset = user.accounts.filter(active=True) self.fields["account"].queryset = user.accounts.filter(active=True)
if self.instance.pk and hasattr(self.instance, "fuel_data"):
fuel = self.instance.fuel_data
self.fields["odometer"].initial = fuel.odometer
self.fields["liters"].initial = fuel.liters
class CategoryForm(forms.ModelForm): class CategoryForm(forms.ModelForm):
class Meta: class Meta:

View File

@ -712,14 +712,12 @@ def fuel_create(request):
owner=request.user, owner=request.user,
defaults={"name": "Gasolina"}, defaults={"name": "Gasolina"},
) )
expense = Expense.objects.create(
owner=request.user, expense = form.save(commit=False)
date=form.cleaned_data["date"], expense.owner = request.user
amount=form.cleaned_data["amount"], expense.category = category
account=form.cleaned_data["account"], expense.description = "Repostaje"
category=category, expense.save()
description="Repostaje",
)
FuelEntry.objects.create( FuelEntry.objects.create(
expense=expense, expense=expense,
@ -811,9 +809,7 @@ def fuel_edit(request, pk):
if form.is_valid(): if form.is_valid():
# Update expense # Update expense
expense.date = form.cleaned_data["date"] expense.date = form.save(commit=False)
expense.amount = form.cleaned_data["amount"]
expense.account = form.cleaned_data["account"]
expense.description = "Repostaje" expense.description = "Repostaje"
expense.save() expense.save()
@ -824,18 +820,7 @@ def fuel_edit(request, pk):
return _redirect_back(request, "expense_list") return _redirect_back(request, "expense_list")
else: else:
fuel = expense.fuel_data form = FuelEntryForm(instance=expense, user=request.user)
# Initialize manually
form = FuelEntryForm(
initial={
"date": expense.date,
"amount": expense.amount,
"account": expense.account,
"odometer": fuel.odometer,
"liters": fuel.liters,
},
user=request.user,
)
next_url = request.POST.get("next") or request.GET.get("next", "") next_url = request.POST.get("next") or request.GET.get("next", "")