38086-vm/patch_models_timestamp.py
2026-02-06 12:25:31 +00:00

44 lines
1.6 KiB
Python

import os
path = 'core/models.py'
with open(path, 'r') as f:
content = f.read()
# Patch SalePayment
old_sale_payment = """ notes = models.TextField(_("Notes"), blank=True)
created_by = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True, related_name="sale_payments")
def __str__(self):"""
new_sale_payment = """ notes = models.TextField(_("Notes"), blank=True)
created_by = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True, related_name="sale_payments")
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):"""
# Patch PurchasePayment
old_purchase_payment = """ notes = models.TextField(_("Notes"), blank=True)
created_by = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True, related_name="purchase_payments")
def __str__(self):"""
new_purchase_payment = """ notes = models.TextField(_("Notes"), blank=True)
created_by = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True, related_name="purchase_payments")
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):"""
# Check if SalePayment already has created_at
# A simple check: if we find the new pattern, we skip
if new_sale_payment in content:
print("SalePayment already patched.")
else:
content = content.replace(old_sale_payment, new_sale_payment)
if new_purchase_payment in content:
print("PurchasePayment already patched.")
else:
content = content.replace(old_purchase_payment, new_purchase_payment)
with open(path, 'w') as f:
f.write(content)
print("Patched core/models.py")