diff --git a/addons/audittrail/audittrail.py b/addons/audittrail/audittrail.py index f280dd0ab36..196e5f664e6 100644 --- a/addons/audittrail/audittrail.py +++ b/addons/audittrail/audittrail.py @@ -301,6 +301,8 @@ class audittrail_objects_proxy(object_proxy): @return: Returns result as per method of Object proxy """ + uid_orig = uid + uid = 1 res2 = args pool = pooler.get_pool(db) cr = pooler.get_db(db).cursor() @@ -314,13 +316,13 @@ class audittrail_objects_proxy(object_proxy): model = model_pool.browse(cr, uid, model_id) if method in ('create'): - res_id = fct_src(db, uid, model.model, method, *args) + res_id = fct_src(db, uid_orig, model.model, method, *args) cr.commit() resource = resource_pool.read(cr, uid, res_id, args[0].keys()) vals = { "method": method, "object_id": model.id, - "user_id": uid, + "user_id": uid_orig, "res_id": resource['id'], } if 'id' in resource: @@ -343,7 +345,7 @@ class audittrail_objects_proxy(object_proxy): elif method in ('read'): res_ids = args[0] old_values = {} - res = fct_src(db, uid, model.model, method, *args) + res = fct_src(db, uid_orig, model.model, method, *args) if type(res) == list: for v in res: old_values[v['id']] = v @@ -353,7 +355,7 @@ class audittrail_objects_proxy(object_proxy): vals = { "method": method, "object_id": model.id, - "user_id": uid, + "user_id": uid_orig, "res_id": res_id, } @@ -382,7 +384,7 @@ class audittrail_objects_proxy(object_proxy): vals = { "method": method, "object_id": model.id, - "user_id": uid, + "user_id": uid_orig, "res_id": res_id, } @@ -399,7 +401,7 @@ class audittrail_objects_proxy(object_proxy): lines.append(line) self.create_log_line(cr, uid, log_id, model, lines) - res = fct_src(db, uid, model.model, method, *args) + res = fct_src(db, uid_orig, model.model, method, *args) cr.commit() cr.close() return res @@ -426,7 +428,7 @@ class audittrail_objects_proxy(object_proxy): old_values_text[field] = self.get_value_text(cr, uid, field, resource[field], model) old_values[resource_id] = {'text':old_values_text, 'value': old_value} - res = fct_src(db, uid, model.model, method, *args) + res = fct_src(db, uid_orig, model.model, method, *args) cr.commit() if res_ids: @@ -437,7 +439,7 @@ class audittrail_objects_proxy(object_proxy): vals = { "method": method, "object_id": model.id, - "user_id": uid, + "user_id": uid_orig, "res_id": resource_id, } @@ -472,6 +474,8 @@ class audittrail_objects_proxy(object_proxy): @return: Returns result as per method of Object proxy """ + uid_orig = uid + uid = 1 pool = pooler.get_pool(db) model_pool = pool.get('ir.model') rule_pool = pool.get('audittrail.rule') @@ -489,13 +493,13 @@ class audittrail_objects_proxy(object_proxy): if model_name == 'audittrail.rule': rule = True if not rule: - return fct_src(db, uid, model, method, *args) + return fct_src(db, uid_orig, model, method, *args) if not model_id: - return fct_src(db, uid, model, method, *args) + return fct_src(db, uid_orig, model, method, *args) rule_ids = rule_pool.search(cr, uid, [('object_id', '=', model_id), ('state', '=', 'subscribed')]) if not rule_ids: - return fct_src(db, uid, model, method, *args) + return fct_src(db, uid_orig, model, method, *args) for thisrule in rule_pool.browse(cr, uid, rule_ids): for user in thisrule.user_id: @@ -503,13 +507,13 @@ class audittrail_objects_proxy(object_proxy): if not logged_uids or uid in logged_uids: if method in ('read', 'write', 'create', 'unlink'): if getattr(thisrule, 'log_' + method): - return self.log_fct(db, uid, model, method, fct_src, *args) + return self.log_fct(db, uid_orig, model, method, fct_src, *args) elif method not in ('default_get','read','fields_view_get','fields_get','search','search_count','name_search','name_get','get','request_get', 'get_sc', 'unlink', 'write', 'create'): if thisrule.log_action: - return self.log_fct(db, uid, model, method, fct_src, *args) + return self.log_fct(db, uid_orig, model, method, fct_src, *args) - return fct_src(db, uid, model, method, *args) + return fct_src(db, uid_orig, model, method, *args) try: res = my_fct(db, uid, model, method, *args) return res @@ -517,6 +521,8 @@ class audittrail_objects_proxy(object_proxy): cr.close() def exec_workflow(self, db, uid, model, method, *args, **argv): + uid_orig = uid + uid = 1 pool = pooler.get_pool(db) logged_uids = [] fct_src = super(audittrail_objects_proxy, self).exec_workflow @@ -532,21 +538,21 @@ class audittrail_objects_proxy(object_proxy): if obj_name == 'audittrail.rule': rule = True if not rule: - return super(audittrail_objects_proxy, self).exec_workflow(db, uid, model, method, *args, **argv) + return super(audittrail_objects_proxy, self).exec_workflow(db, uid_orig, model, method, *args, **argv) if not model_ids: - return super(audittrail_objects_proxy, self).exec_workflow(db, uid, model, method, *args, **argv) + return super(audittrail_objects_proxy, self).exec_workflow(db, uid_orig, model, method, *args, **argv) rule_ids = rule_pool.search(cr, uid, [('object_id', 'in', model_ids), ('state', '=', 'subscribed')]) if not rule_ids: - return super(audittrail_objects_proxy, self).exec_workflow(db, uid, model, method, *args, **argv) + return super(audittrail_objects_proxy, self).exec_workflow(db, uid_orig, model, method, *args, **argv) for thisrule in rule_pool.browse(cr, uid, rule_ids): for user in thisrule.user_id: logged_uids.append(user.id) if not logged_uids or uid in logged_uids: if thisrule.log_workflow: - return self.log_fct(db, uid, model, method, fct_src, *args) - return super(audittrail_objects_proxy, self).exec_workflow(db, uid, model, method, *args, **argv) + return self.log_fct(db, uid_orig, model, method, fct_src, *args) + return super(audittrail_objects_proxy, self).exec_workflow(db, uid_orig, model, method, *args, **argv) return True finally: