diff --git a/expenses/views.py b/expenses/views.py index 7d1bd00..134e854 100644 --- a/expenses/views.py +++ b/expenses/views.py @@ -131,8 +131,18 @@ def expense_create(request): receipts = request.FILES.getlist('receipt') if receipts: from .models import Document - for f in receipts: - Document.objects.create(expense=expense, file=f, title=f.name, uploaded_by=request.user) + import os + cat_name = expense.category.name if expense.category else 'Evidencia' + proj_code = expense.project.code if expense.project else 'PROY' + for idx, f in enumerate(receipts, start=1): + ext = os.path.splitext(f.name)[1].lower() + semantic_title = f"{proj_code} · {cat_name} · Doc {idx:02d}{ext}" + Document.objects.create( + expense=expense, + file=f, + title=semantic_title, + uploaded_by=request.user + ) AuditLog.objects.create( user=request.user, @@ -183,8 +193,19 @@ def expense_edit(request, pk): receipts = request.FILES.getlist('receipt') if receipts: from .models import Document - for f in receipts: - Document.objects.create(expense=exp, file=f, title=f.name, uploaded_by=request.user) + import os + cat_name = exp.category.name if exp.category else 'Evidencia' + proj_code = exp.project.code if exp.project else 'PROY' + existing_count = exp.documents.count() + for idx, f in enumerate(receipts, start=existing_count + 1): + ext = os.path.splitext(f.name)[1].lower() + semantic_title = f"{proj_code} · {cat_name} · Doc {idx:02d}{ext}" + Document.objects.create( + expense=exp, + file=f, + title=semantic_title, + uploaded_by=request.user + ) AuditLog.objects.create( user=request.user, diff --git a/templates/expenses/expense_form.html b/templates/expenses/expense_form.html index 4c2c42f..3475d75 100644 --- a/templates/expenses/expense_form.html +++ b/templates/expenses/expense_form.html @@ -99,15 +99,17 @@ -