def init_db(): if not SyncLog.table_exists(): SyncLog.create_table() if not User.table_exists(): User.create_table() User.create(username='******', password=make_password('admin'), admin=True) for mod_class in MASTER_CLASSES.keys(): if not MODELS_CLASS[mod_class].table_exists(): MODELS_CLASS[mod_class].create_table() for mod_class in sorted(DEPENDENT_CLASSES.keys()): if not MODELS_CLASS[mod_class].table_exists(): MODELS_CLASS[mod_class].create_table()
def save(self, force_insert=False, only=None, is_update=False): from sync_log import SyncLog from implemented_models import MODELS_CLASS if is_update and self.MOD_NAME in MODELS_CLASS.keys(): exist_id = SyncLog.select().where(SyncLog.to_sync == True, SyncLog.operation == "update", SyncLog.odoo_id == self.odoo_id, SyncLog.model == self.MOD_NAME).limit(1) if not exist_id: sync_date = datetime.now().strftime('%Y-%m-%d %H:%M:%S') log = SyncLog.create(odoo_id=self.odoo_id, model=self.MOD_NAME, operation='update', sync_date=sync_date, to_sync=True) res = super(SyncModel, self).save(force_insert, only) #if is_update and self.MOD_NAME in MODELS_CLASS.keys(): # log.launch_sync() return res
def save(self, force_insert=False, only=None, is_update=False): from sync_log import SyncLog from implemented_models import MODELS_CLASS if is_update and self.MOD_NAME in list(MODELS_CLASS.keys()): exist_id = SyncLog.select().where( SyncLog.to_sync == True, SyncLog.operation == "update", SyncLog.odoo_id == self.odoo_id, SyncLog.model == self.MOD_NAME).limit(1) if not exist_id: sync_date = datetime.now().strftime('%Y-%m-%d %H:%M:%S') log = SyncLog.create(odoo_id=self.odoo_id, model=self.MOD_NAME, operation='update', sync_date=sync_date, to_sync=True) res = super(SyncModel, self).save(force_insert, only) #if is_update and self.MOD_NAME in MODELS_CLASS.keys(): # log.launch_sync() return res
def create(cls, **query): from sync_log import SyncLog from implemented_models import MODELS_CLASS res = super(SyncModel, cls).create(**query) if cls.MOD_NAME in MODELS_CLASS.keys(): sync_date = datetime.now().strftime('%Y-%m-%d %H:%M:%S') log = SyncLog.create(odoo_id=query['odoo_id'], model=cls.MOD_NAME, operation='create', sync_date=sync_date, to_sync=True) #log.launch_sync() return res
def check_sync_data(): print "DENTRO" to_sync_objs = [] for x in SyncLog.select().where(SyncLog.to_sync == True).\ order_by(SyncLog.sync_date).limit(100): to_sync_objs.append(x) print "LEN: ", len(to_sync_objs) if to_sync_objs: res = to_sync_objs[0].multisync_client(to_sync_objs) print "RES: ", res if res: for sync_obj in to_sync_objs: for oth in SyncLog.select().\ where(SyncLog.to_sync == True, SyncLog.model == sync_obj.model, SyncLog.odoo_id == sync_obj.odoo_id, SyncLog.id != sync_obj.id): oth.sync = True oth.to_sync = False oth.save()
def delete_instance(self, *args, **kwargs): from sync_log import SyncLog from implemented_models import MODELS_CLASS if self.MOD_NAME in MODELS_CLASS.keys(): sync_date = datetime.now().strftime('%Y-%m-%d %H:%M:%S') log = SyncLog.create(odoo_id=self.odoo_id, model=self.MOD_NAME, operation='delete', sync_date=sync_date, to_sync=True) res = super(SyncModel, self).delete_instance(*args, **kwargs) #if self.MOD_NAME in MODELS_CLASS.keys(): # log.launch_sync() return res
def create(cls, **query): from sync_log import SyncLog from implemented_models import MODELS_CLASS res = super(SyncModel, cls).create(**query) if cls.MOD_NAME in list(MODELS_CLASS.keys()): sync_date = datetime.now().strftime('%Y-%m-%d %H:%M:%S') log = SyncLog.create(odoo_id=query['odoo_id'], model=cls.MOD_NAME, operation='create', sync_date=sync_date, to_sync=True) #log.launch_sync() return res
def delete_instance(self, *args, **kwargs): from sync_log import SyncLog from implemented_models import MODELS_CLASS if self.MOD_NAME in list(MODELS_CLASS.keys()): sync_date = datetime.now().strftime('%Y-%m-%d %H:%M:%S') log = SyncLog.create(odoo_id=self.odoo_id, model=self.MOD_NAME, operation='delete', sync_date=sync_date, to_sync=True) res = super(SyncModel, self).delete_instance(*args, **kwargs) #if self.MOD_NAME in MODELS_CLASS.keys(): # log.launch_sync() return res