38086-vm/patch_invoice_list.py
2026-02-08 06:12:20 +00:00

53 lines
1.6 KiB
Python

import os
file_path = 'core/views.py'
old_content = """@login_required
def invoice_list(request):
sales = Sale.objects.all().order_by('-created_at')
paginator = Paginator(sales, 25)
return render(request, 'core/invoices.html', {'sales': paginator.get_page(request.GET.get('page'))})"""
new_content = """@login_required
def invoice_list(request):
sales = Sale.objects.all().order_by('-created_at')
# Filter by date range
start_date = request.GET.get('start_date')
end_date = request.GET.get('end_date')
if start_date:
sales = sales.filter(created_at__date__gte=start_date)
if end_date:
sales = sales.filter(created_at__date__lte=end_date)
# Filter by customer
customer_id = request.GET.get('customer')
if customer_id:
sales = sales.filter(customer_id=customer_id)
# Filter by status
status = request.GET.get('status')
if status:
sales = sales.filter(status=status)
paginator = Paginator(sales, 25)
context = {
'sales': paginator.get_page(request.GET.get('page')),
'customers': Customer.objects.all(),
'payment_methods': PaymentMethod.objects.filter(is_active=True),
'site_settings': SystemSetting.objects.first(),
}
return render(request, 'core/invoices.html', context)"""
with open(file_path, 'r') as f:
content = f.read()
if old_content in content:
content = content.replace(old_content, new_content)
with open(file_path, 'w') as f:
f.write(content)
print("Successfully patched invoice_list")
else:
print("Could not find exact match for invoice_list function")