from patch.include import *
from tqdm import tqdm


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

    with cmfutil.disable_acl(), cmfutil.disable_notify():
        for a in models.CmfAsset.list():
            if a.ui_view_form == 'crud':
                a.ui_view_form='asset'
                a.save(only_data=True, emit=False, notify=False)
        
        for a in models.CmfAssetScheme.list():
            if a.ui_view_form == 'crud':
                a.ui_view_form='assetscheme'
                a.save(only_data=True, emit=False, notify=False)

        for a in models.CmfAssetCat.list():
            if a.ui_view_form == 'crud':
                a.ui_view_form='assetcat'
                a.save(only_data=True, emit=False, notify=False)

        for a in models.CmfAssetTypeCat.list():
            if a.ui_view_form == 'crud':
                a.ui_view_form='assettypecat'
                a.save(only_data=True, emit=False, notify=False)


if __name__ == "__main__":
    asset_uiforms()
