from netforce.model import get_model from netforce import migration from netforce.access import set_active_user, set_active_company class Migration(migration.Migration): _name="clinic.repos.invoice" _version="2.10.0" def migrate(self): set_active_user(1) set_active_company(1) dom=[ ['department_id','=',2], ['date','>=','2015-08-18'], ['date','<=','2015-08-18'], ] hdcase_ids=set() for hdcase in get_model('clinic.hd.case').search_browse(dom): reset=False for inv in hdcase.invoices: if inv.state=='waiting_payment': inv.to_draft() inv.delete() reset=True hdcase_ids.update({hdcase.id}) if reset: for line in hdcase.lines: line.write({ 'state': 'draft', }) ids=list(hdcase_ids) for hdcase in get_model('clinic.hd.case').browse(ids): print('remake_invoice ---> ', hdcase.number) ctx={ 'is_migrate': True, } hdcase.make_invoices(context=ctx) print("Done!") return True Migration.register()