from patch.include import *
from tqdm import tqdm


@app_context(commit=True)
def add_task_registry_to_project():
    """
    Для тестирования патча: ( cd /opt/eva-app; python3 -m patch.202506090902_add_task_registry_to_project )
    Здесь можно работать с моделями через models.CmfTask и т.д.
    Для прогрессбара используйте:
    for task in tqdm(models.CmfTask.list()):
        ...
    """
    print('Запуск патча add_task_registry_to_project')
    for project in tqdm(models.CmfProject.list()):
        node = models.CmfRegistry.get(filter=[['type', '=', 'CmfTask'], ['tree_parent', '=', project]])
        if not node:
            node = models.CmfRegistry(tree_parent=project, parent=project, name="Задачи", type="CmfTask", system=True)
            node.tree_hidden = not project.show_all_tasks.value
            node.save()


if __name__ == "__main__":
    add_task_registry_to_project()
