from patch.include import *
from tqdm import tqdm


@app_context(commit=True)
def fix_custom_bool():
    """
    Для тестирования патча: ( cd /opt/eva-app; python3 -m patch.202503261548_fix_custom_bool )
    Здесь можно работать с моделями через models.CmfTask и т.д.
    Для прогрессбара используйте:
    for task in tqdm(models.CmfTask.list()):
        ...
    """
    print('Запуск патча fix_custom_bool')
    for cust_field in tqdm(models.CmfCustField.slist(filter=[['field_custom_type', '==', 'checkbox'], 
                                                             ['cmf_model_name', '==', 'CmfTask']])):
        models.CmfTask.bulk_update(filter=[cust_field.name, '==', None], values={cust_field.name: False})
        cmf_commit()
        

if __name__ == "__main__":
    fix_custom_bool()
