Reset Value Berdasarkan Tanggal

Assalamualaikum warahmatullahi wabarakatuh.
Pada kesempatan kali ini saya akan membahas bagaimana mereset nilai field berdasarkan tanggal yang di pilih nya, fungsi ini digunakan di job position dimana di setiap job nya diberikan kuota untuk setiap bulan nya bisa melakukan berapa transkasi dan akan meereset berdasarkan tanggal reset nya kemudian kuota nya akan tereset berdasarkan range reset nya mau daily atau weekly berdasarkan keebutuhan usernya


untuk kode nya :


@api.onchange("date_reset", "range_reset")
def _onchange_kuota(self):
for record in self:
if record.date_reset and record.range_reset:
current_date = fields.Date.today()
reset_date = record.date_reset

if record.range_reset == "daily":
reset_date += timedelta(days=1)
elif record.range_reset == "weekly":
reset_date += timedelta(days=(7 - reset_date.weekday()) % 7)
elif record.range_reset == "monthly":
reset_date = reset_date.replace(day=1) + timedelta(days=32)
reset_date = reset_date.replace(day=1)
elif record.range_reset == "yearly":
reset_date = reset_date.replace(month=1, day=1) + timedelta(
days=366
)
reset_date = reset_date.replace(month=1, day=1)

if current_date > reset_date:
record.kuota = 0.0
else:
record.kuota = record._origin.kuota




Mendapatkan Titik Koordinat Teks di PDF