from patch.include import *
from tqdm import tqdm
from cmf.system_data import scaffold_event_type, scaffold_project_notify_scheme, init_system_users


@app_context(commit=True)
def patch():
    """
    Для тестирования патча: ( cd /opt/eva-app; python3 -m patch.20220XXXXXXX_PATCHNAME )
    Здесь можно работать с моделями через models.CmfTask и т.д.
    Для прогрессбара используйте:
    for task in tqdm(models.CmfTask.list()):
        ...
    """
    with cmfutil.disable_acl(), cmfutil.disable_notify():
        init_system_users()
        scaffold_event_type()
        scaffold_project_notify_scheme()

        for project in tqdm(models.CmfProject.list(notify_scheme=None)):
            project.notify_scheme = models.CmfProjectNotifyScheme.get(code='system:default')
            project.save(only_data=True)


if __name__ == "__main__":
    patch()
