from patch.include import *
from tqdm import tqdm


@app_context(commit=True)
def sd_wf_rule_fix2():
    """
    Для тестирования патча: ( cd /opt/eva-app; python3 -m patch.202312221507_sd_wf_rule_fix2 )
    Добавляет :default в лоджиктайпы для согласования, исправляет запись
    """
    print('Запуск патча sd_wf_rule_fix2')

    with cmfutil.disable_acl(), cmfutil.disable_notify():
        bad_lt = models.CmfLogicType.get(code='task.doc_need_watch:dokument_trebuet_oznakomlenija')
        if bad_lt:
            bad_lt.code = 'task.doc_need_watch:default'
            bad_lt.save(only_data=True)
        bad_lt = models.CmfLogicType.get(code='task.doc_need_approve:utverdit__dokument')
        if bad_lt:
            bad_lt.code = 'task.doc_need_approve:default'
            bad_lt.save(only_data=True)

        bad_lt = models.CmfLogicType.get(code='task.doc_need_approve')
        if bad_lt:
            bad_lt.code = 'task.doc_need_approve:default'
            bad_lt.save(only_data=True)

        bad_lt = models.CmfLogicType.get(code='task.doc_need_watch')
        if bad_lt:
            bad_lt.code = 'task.doc_need_watch:default'
            bad_lt.save(only_data=True)

    from cmf.system_data import scaffold_logic_type
    scaffold_logic_type()
    commit_all_ds()


if __name__ == "__main__":
    sd_wf_rule_fix2()
