from patch.include import *
from tqdm import tqdm


@app_context(commit=True)
def patch():
    """
    Для тестирования патча: ( cd /opt/crm; python3 -m patch.20220XXXXXXX_PATCHNAME )
    Здесь можно работать с моделями через models.CmfTask и т.д.
    Для прогрессбара используйте:
    for task in tqdm(models.CmfTask.list()):
        ...
    """
    projectsList = models.CmfProject.list(logic_prefix='project.agile')

    for project in tqdm(projectsList):
        active_sprints_board = models.CmfKanbanBoard.get(tree_parent=project, name='Активные спринты', system=True)

        if not active_sprints_board:
            active_sprints_board = project.scaffold_active_sprints()
            active_sprints_board.save()


if __name__ == "__main__":
    patch()
