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):
# Expense fields
date = forms.DateField(
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
odometer = forms.DecimalField(label="Current kilometers")
liters = forms.DecimalField(max_digits=8, decimal_places=2)
class FuelEntryForm(forms.ModelForm):
odometer = forms.DecimalField(label="Kilómetros actuales")
liters = forms.DecimalField(max_digits=8, decimal_places=2, label="Litros")
class Meta:
model = Expense
fields = ["date", "amount", "account"]
widgets = {
"date": forms.DateInput(format="%Y-%m-%d", attrs={"type":"date"}),
}
def __init__(self, *args, **kwargs):
user = kwargs.pop("user")
@ -80,6 +79,11 @@ class FuelEntryForm(forms.Form):
if user:
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):

View File

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