from patch.include import *
from tqdm import tqdm
from common.models.cmf_active_entity import CmfActiveEntity


@app_context(commit=True)
def patch():
    with cmfutil.disable_acl(), cmfutil.disable_notify():
        for model in tqdm(CmfActiveEntity.iter_subclasses()):
            for obj_data in model.list(filter=['cmf_owner_assistant', '!=', None],
                                       fields=['cmf_owner_assistant', 'cmf_owner_assistants']):
                obj_data.cmf_owner_assistants.append(obj_data.cmf_owner_assistant)
                obj_data.save(only_data=True)


if __name__ == "__main__":
    patch()
