from patch.include import *
from tqdm import tqdm


@app_context(commit=True)
def remove_system_tasks_from_fullsearch():
    """
    Для тестирования патча: ( cd /opt/eva-app; python3 -m patch.202511051056_remove_system_tasks_from_fullsearch )
    Здесь можно работать с моделями через models.CmfTask и т.д.
    Для прогрессбара используйте:
    for task in tqdm(models.CmfTask.list()):
        ...
    """
    print('Запуск патча remove_system_tasks_from_fullsearch')

    with cmfutil.disable_acl(), cmfutil.disable_notify():
        filter = [["obj_name", 'ILIKE', 'Обработайте задачи уволенного сотрудника%'], ['obj_model', '=', 'CmfTask']]
        models.CmfFullSearch.bulk_delete(filter=filter)

        # Оперативные планы ганта, которых 1 задача на проект
        filter = [["obj_logic_type_code", '==', 'task.gantt_project:default'], ['obj_model', '=', 'CmfTask']]
        models.CmfFullSearch.bulk_delete(filter=filter)

        filter = [['obj_name', 'LIKE', "Необходимо утвердить %"], ['obj_model', '=', 'CmfTask']]
        models.CmfFullSearch.bulk_delete(filter=filter)

        filter = [['obj_name', '=', "Необходимо ознакомиться с документом"], ['obj_model', '=', 'CmfTask']]
        models.CmfFullSearch.bulk_delete(filter=filter)


if __name__ == "__main__":
    remove_system_tasks_from_fullsearch()
