from patch.include import *
from tqdm import tqdm


@app_context(commit=True)
def ldap_default():
    """
    Для тестирования патча: ( cd /opt/eva-app; python3 -m patch.202310061532_ldap_default )
    Здесь можно работать с моделями через models.CmfTask и т.д.
    Для прогрессбара используйте:
    for task in tqdm(models.CmfTask.list()):
        ...
    """
    print('Запуск патча ldap_default')
    if not config.IS_BOX_VERSION:
        return
    for plug in tqdm(models.CmfAuthLdapPlugin.list(fields=['default_groups'])):
        if not plug.default_groups:
            plug.default_groups = [models.CmfPersonGroup.user_group()]
            plug.save()


if __name__ == "__main__":
    ldap_default()
