from tqdm import tqdm
from patch.include import *


@app_context(commit=True)
def patch():
    for task in tqdm(models.CmfTask.list(fields=['cache_fields'])):
        task.save(only_data=True)  # recalc obj.cache_fields and save,
        task.is_changed = True  # Хак, чтобы пересчитались карточки
        models.CmfCard.all_update_obj_fields(task)
    for deal in tqdm(models.CmfDeal.list(fields=['cache_fields'])):
        deal.save(only_data=True)  # recalc obj.cache_fields and save,
        deal.is_changed = True  # Хак, чтобы пересчитались карточки
        models.CmfCard.all_update_obj_fields(deal)


if __name__ == "__main__":
    patch()
