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

44 lines
1.6 KiB
Python

import os
file_path = 'core/views.py'
search_text = "@login_required\ndef expense_categories_view(request): return render(request, 'core/expense_categories.html')"
replace_text = """@login_required
def expense_categories_view(request):
if request.method == 'POST':
category_id = request.POST.get('category_id')
name_en = request.POST.get('name_en')
name_ar = request.POST.get('name_ar')
description = request.POST.get('description')
if category_id:
# Update existing category
category = get_object_or_404(ExpenseCategory, pk=category_id)
category.name_en = name_en
category.name_ar = name_ar
category.description = description
category.save()
messages.success(request, _('Expense category updated successfully.'))
else:
# Create new category
ExpenseCategory.objects.create(
name_en=name_en,
name_ar=name_ar,
description=description
)
messages.success(request, _('Expense category added successfully.'))
return redirect('expense_categories')
categories = ExpenseCategory.objects.all().order_by('-id')
return render(request, 'core/expense_categories.html', {'categories': categories})"""
with open(file_path, 'r') as f:
content = f.read()
if search_text in content:
new_content = content.replace(search_text, replace_text)
with open(file_path, 'w') as f:
f.write(new_content)
print("Successfully patched expense_categories_view")
else:
print("Could not find the target function to replace")