from patch.include import *
from tqdm import tqdm


@app_context(commit=True)
def cust_fields():
    """
    Для тестирования патча: ( cd /opt/eva-app; python3 -m patch. )
    Здесь можно работать с моделями через models.CmfTask и т.д.
    Для прогрессбара используйте:
    for task in tqdm(models.CmfTask.list()):
        ...
    """
    print('Убираем устаревшее поле код из группы Связи')
    for code_field in tqdm(models.CmfUiFormField.list(filter=[['name', '=', 'code'], ['ui_form_group.name', '=', 'Связи']], include_deleted=True)):
        code_field.delete()

    print('Пересчитываем кеш-поля конфигураций полей экранов')
    for conf in models.CmfCustFieldConf.list():
        conf._calc_cache()
        conf.save(only_data=True)


if __name__ == "__main__":
    cust_fields()
