from patch.include import *
from tqdm import tqdm


@app_context(commit=True)
def update_notify_rules_default_template():
    """
    Для тестирования патча: ( cd /opt/eva-app; python3 -m patch.202410211438_update_notify_rules_default_template )
    Здесь можно работать с моделями через models.CmfTask и т.д.
    Для прогрессбара используйте:
    for task in tqdm(models.CmfTask.list()):
        ...
    """
    print('Запуск патча update_notify_rules_default_template')
    from cmf.system_data import scaffold_email_templates
    scaffold_email_templates()
    with cmfutil.disable_acl(), cmfutil.disable_notify():
        default_template = models.CmfEmailTemplate.get(code="system:default")
        models.CmfProjectNotifySchemeRule.bulk_update(filter=[['email_template', '==', None]], values={'email_template_id': default_template.id.value})


if __name__ == "__main__":
    update_notify_rules_default_template()
