from patch.include import *
from tqdm import tqdm


@app_context(commit=True)
def cust_fields():
    """
    Для тестирования патча: ( cd /opt/eva-app; python3 -m patch.202404191025_cust_fields )
    Здесь можно работать с моделями через models.CmfTask и т.д.
    Для прогрессбара используйте:
    for task in tqdm(models.CmfTask.list()):
        ...
    """
    print('Запуск патча cust_fields')
    for ui_form in tqdm(models.CmfUiForm.slist(fields=['ui_form_groups.name'], include_deleted=True)):
        if '_descr' not in [obj.name for obj in ui_form.ui_form_groups]:
            print('Созадим системную группу _descr')
            group = models.CmfUiFormGroup(name='_descr', system=True, parent=ui_form.id, type='tab')
            group.save()
            models.CmfUiFormField(parent=ui_form.id, ui_form_group=group, name='text').save()


if __name__ == "__main__":
    cust_fields()
