[FIX] audittrail: context={} -> context=None in method signature
authorolt@tinyerp.com <>
Thu, 15 Apr 2010 06:40:01 +0000 (08:40 +0200)
committerolt@tinyerp.com <>
Thu, 15 Apr 2010 06:40:01 +0000 (08:40 +0200)
[FIX] audittrail: indentation problems

bzr revid: olt@tinyerp.com-20100415064001-z8c9l1y5rzlzvpxi

addons/audittrail/audittrail.py

index 45afa43..fe2a5ed 100644 (file)
@@ -1,7 +1,7 @@
 # -*- encoding: utf-8 -*-
 ##############################################################################
 #
-#    OpenERP, Open Source Management Solution  
+#    OpenERP, Open Source Management Solution
 #    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
 #    $Id$
 #
 
 
 import ir
-from osv import fields,osv
+from osv import fields, osv
 import netsvc
 import pooler
 import time
 from tools.translate import _
 
+
 class audittrail_rule(osv.osv):
     _name = 'audittrail.rule'
     _columns = {
@@ -67,7 +68,7 @@ class audittrail_rule(osv.osv):
                  "res_model":'audittrail.log',
                  "src_model":thisrule.object_id.model,
                  "domain":"[('object_id','=',"+str(thisrule.object_id.id)+"),('res_id', '=', active_id)]"
-    
+
             }
             id=self.pool.get('ir.actions.act_window').create(cr, uid, val)
             self.write(cr, uid, [thisrule.id], {"state": "subscribed","action_id":id})
@@ -76,8 +77,6 @@ class audittrail_rule(osv.osv):
             res=self.pool.get('ir.model.data').ir_set(cr, uid, 'action', keyword,'View_log_'+thisrule.object_id.model, [thisrule.object_id.model], value, replace=True, isobject=True, xml_id=False)
         return True
 
-
-
     def unsubscribe(self, cr, uid, ids, *args):
         for thisrule in self.browse(cr, uid, ids):
             if thisrule.id in self.__functions :
@@ -115,6 +114,7 @@ class audittrail_log(osv.osv):
 
 audittrail_log()
 
+
 class audittrail_log_line(osv.osv):
     _name='audittrail.log.line'
     _columns={
@@ -133,47 +133,50 @@ audittrail_log_line()
 
 objects_proxy = netsvc.SERVICES['object'].__class__
 
+
 class audittrail_objects_proxy(objects_proxy):
+    def get_value_text(self, cr, uid, field_name, values, object, context=None):
+        if context is None:
+            context = {}
 
-    def get_value_text(self, cr, uid, field_name, values, object, context={}):
-            pool = pooler.get_pool(cr.dbname)
-            obj=pool.get(object.model)
-            object_name=obj._name
-            obj_ids= pool.get('ir.model').search(cr, uid,[('model','=',object_name)])
-            model_object=pool.get('ir.model').browse(cr,uid,obj_ids)[0]
-            f_id= pool.get('ir.model.fields').search(cr, uid,[('name','=',field_name),('model_id','=',object.id)])
-            if f_id:
-                field=pool.get('ir.model.fields').read(cr, uid,f_id)[0]
-                model=field['relation']
-
-                if field['ttype']=='many2one':
-                    if values:
-                        if type(values)==tuple:
-                            values=values[0]
-                        val=pool.get(model).read(cr,uid,[values],[pool.get(model)._rec_name])
+        pool = pooler.get_pool(cr.dbname)
+        obj=pool.get(object.model)
+        object_name=obj._name
+        obj_ids= pool.get('ir.model').search(cr, uid,[('model','=',object_name)])
+        model_object=pool.get('ir.model').browse(cr,uid,obj_ids)[0]
+        f_id= pool.get('ir.model.fields').search(cr, uid,[('name','=',field_name),('model_id','=',object.id)])
+        if f_id:
+            field=pool.get('ir.model.fields').read(cr, uid,f_id)[0]
+            model=field['relation']
+
+            if field['ttype']=='many2one':
+                if values:
+                    if type(values)==tuple:
+                        values=values[0]
+                    val=pool.get(model).read(cr,uid,[values],[pool.get(model)._rec_name])
+                    if len(val):
+                        return val[0][pool.get(model)._rec_name]
+            elif field['ttype'] == 'many2many':
+                value=[]
+                if values:
+                    for id in values:
+                        val=pool.get(model).read(cr,uid,[id],[pool.get(model)._rec_name])
                         if len(val):
-                            return val[0][pool.get(model)._rec_name]
-                elif field['ttype'] == 'many2many':
-                    value=[]
-                    if values:
-                        for id in values:
-                            val=pool.get(model).read(cr,uid,[id],[pool.get(model)._rec_name])
-                            if len(val):
-                                value.append(val[0][pool.get(model)._rec_name])
-                    return value
+                            value.append(val[0][pool.get(model)._rec_name])
+                return value
 
-                elif field['ttype'] == 'one2many':
+            elif field['ttype'] == 'one2many':
 
-                    if values:
-                        value=[]
-                        for id in values:
-                            val=pool.get(model).read(cr,uid,[id],[pool.get(model)._rec_name])
+                if values:
+                    value=[]
+                    for id in values:
+                        val=pool.get(model).read(cr,uid,[id],[pool.get(model)._rec_name])
+
+                        if len(val):
+                            value.append(val[0][pool.get(model)._rec_name])
+                    return value
+        return values
 
-                            if len(val):
-                                value.append(val[0][pool.get(model)._rec_name])
-                        return value
-            return values
-        
     def create_log_line(self, cr, uid, id, object, lines=[]):
         pool = pooler.get_pool(cr.dbname)
         obj=pool.get(object.model)
@@ -188,7 +191,7 @@ class audittrail_objects_proxy(objects_proxy):
                 new_value='new_value' in line and  line['new_value'] or ''
                 old_value_text='old_value_text' in line and  line['old_value_text'] or ''
                 new_value_text='new_value_text' in line and  line['new_value_text'] or ''
-    
+
                 if fields[0]['ttype']== 'many2one':
                     if type(old_value)==tuple:
                         old_value=old_value[0]
@@ -199,115 +202,115 @@ class audittrail_objects_proxy(objects_proxy):
         return True
 
     def log_fct(self, db, uid, passwd, object, method, fct_src, *args):
-            logged_uids = []
-            pool = pooler.get_pool(db)
-            cr = pooler.get_db(db).cursor()
-            obj=pool.get(object)
-            object_name=obj._name
-            obj_ids= pool.get('ir.model').search(cr, uid,[('model','=',object_name)])
-            model_object=pool.get('ir.model').browse(cr,uid,obj_ids)[0]
-            if method in ('create'):
-                res_id = fct_src( db, uid, passwd, object, method, *args)
-                cr.commit()
-                new_value=pool.get(model_object.model).read(cr,uid,[res_id],args[0].keys())[0]
-                if 'id' in new_value:
-                    del new_value['id']
-                if not len(logged_uids) or uid in logged_uids:
-                    id=pool.get('audittrail.log').create(cr, uid, {"method": method , "object_id": model_object.id, "user_id": uid, "res_id": res_id,"name": "%s %s %s" % (method , model_object.id, time.strftime("%Y-%m-%d %H:%M:%S"))})
-                    lines=[]
-                    for field in new_value:
-                        if new_value[field]:
-                            line={
-                                  'name':field,
-                                  'new_value':new_value[field],
-                                  'new_value_text': self.get_value_text(cr,uid,field,new_value[field],model_object)
-                                  }
-                            lines.append(line)
-                    self.create_log_line(cr,uid,id,model_object,lines)
-                cr.commit()
-                cr.close()
-                return res_id
-
-            if method in ('write'):
-                res_ids=args[0]
-                for res_id in res_ids:
-                    old_values=pool.get(model_object.model).read(cr,uid,res_id,args[1].keys())
-                    old_values_text={}
-                    for field in args[1].keys():
-                        old_values_text[field] = self.get_value_text(cr,uid,field,old_values[field],model_object)
-                    res =fct_src( db, uid, passwd, object, method, *args)
-                    cr.commit()
-                    if res:
-                        new_values=pool.get(model_object.model).read(cr,uid,res_ids,args[1].keys())[0]
-                        if not len(logged_uids) or uid in logged_uids:
-                            id=pool.get('audittrail.log').create(cr, uid, {"method": method, "object_id": model_object.id, "user_id": uid, "res_id": res_id,"name": "%s %s %s" % (method , model_object.id, time.strftime("%Y-%m-%d %H:%M:%S"))})
-                            lines=[]
-                            for field in args[1].keys():
-                                if args[1].keys():
-                                    line={
-                                          'name':field,
-                                          'new_value':field in new_values and new_values[field] or '',
-                                          'old_value':field in old_values and old_values[field] or '',
-                                          'new_value_text': self.get_value_text(cr,uid,field,new_values[field],model_object),
-                                          'old_value_text':old_values_text[field]
-                                          }
-                                    lines.append(line)
-                            cr.commit()
-                            self.create_log_line(cr,uid,id,model_object,lines)
-                    cr.close()
-                    return res
-
-            if method in ('read'):
-                res_ids=args[0]
-                old_values={}
+        logged_uids = []
+        pool = pooler.get_pool(db)
+        cr = pooler.get_db(db).cursor()
+        obj=pool.get(object)
+        object_name=obj._name
+        obj_ids= pool.get('ir.model').search(cr, uid,[('model','=',object_name)])
+        model_object=pool.get('ir.model').browse(cr,uid,obj_ids)[0]
+        if method in ('create'):
+            res_id = fct_src( db, uid, passwd, object, method, *args)
+            cr.commit()
+            new_value=pool.get(model_object.model).read(cr,uid,[res_id],args[0].keys())[0]
+            if 'id' in new_value:
+                del new_value['id']
+            if not len(logged_uids) or uid in logged_uids:
+                id=pool.get('audittrail.log').create(cr, uid, {"method": method , "object_id": model_object.id, "user_id": uid, "res_id": res_id,"name": "%s %s %s" % (method , model_object.id, time.strftime("%Y-%m-%d %H:%M:%S"))})
+                lines=[]
+                for field in new_value:
+                    if new_value[field]:
+                        line={
+                              'name':field,
+                              'new_value':new_value[field],
+                              'new_value_text': self.get_value_text(cr,uid,field,new_value[field],model_object)
+                              }
+                        lines.append(line)
+                self.create_log_line(cr,uid,id,model_object,lines)
+            cr.commit()
+            cr.close()
+            return res_id
+
+        if method in ('write'):
+            res_ids=args[0]
+            for res_id in res_ids:
+                old_values=pool.get(model_object.model).read(cr,uid,res_id,args[1].keys())
+                old_values_text={}
+                for field in args[1].keys():
+                    old_values_text[field] = self.get_value_text(cr,uid,field,old_values[field],model_object)
                 res =fct_src( db, uid, passwd, object, method, *args)
-                if type(res)==list:
-
-                    for v in res:
-                        old_values[v['id']]=v
-                else:
-                    old_values[res['id']]=res
-                for res_id in old_values:
-                    if not len(logged_uids) or uid in logged_uids:
-                        id=pool.get('audittrail.log').create(cr, uid, {"method": method , "object_id": model_object.id, "user_id": uid, "res_id": res_id,"name": "%s %s %s" % (method , model_object.id, time.strftime("%Y-%m-%d %H:%M:%S"))})
-                        lines=[]
-                        for field in old_values[res_id]:
-                            if old_values[res_id][field]:
-                                line={
-                                          'name':field,
-                                          'old_value':old_values[res_id][field],
-                                          'old_value_text': self.get_value_text(cr,uid,field,old_values[res_id][field],model_object)
-                                          }
-                                lines.append(line)
-                    cr.commit()
-                    self.create_log_line(cr,uid,id,model_object,lines)
-                cr.close()
-                return res
-            
-            if method in ('unlink'):
-                res_ids=args[0]
-                old_values={}
-                for res_id in res_ids:
-                    old_values[res_id]=pool.get(model_object.model).read(cr,uid,res_id,[])
-
-                for res_id in res_ids:
+                cr.commit()
+                if res:
+                    new_values=pool.get(model_object.model).read(cr,uid,res_ids,args[1].keys())[0]
                     if not len(logged_uids) or uid in logged_uids:
-                        id=pool.get('audittrail.log').create(cr, uid, {"method": method , "object_id": model_object.id, "user_id": uid, "res_id": res_id,"name": "%s %s %s" % (method, model_object,  time.strftime("%Y-%m-%d %H:%M:%S"))})
+                        id=pool.get('audittrail.log').create(cr, uid, {"method": method, "object_id": model_object.id, "user_id": uid, "res_id": res_id,"name": "%s %s %s" % (method , model_object.id, time.strftime("%Y-%m-%d %H:%M:%S"))})
                         lines=[]
-                        for field in old_values[res_id]:
-                            if old_values[res_id][field]:
+                        for field in args[1].keys():
+                            if args[1].keys():
                                 line={
                                       'name':field,
-                                      'old_value':old_values[res_id][field],
-                                      'old_value_text': self.get_value_text(cr,uid,field,old_values[res_id][field],model_object)
+                                      'new_value':field in new_values and new_values[field] or '',
+                                      'old_value':field in old_values and old_values[field] or '',
+                                      'new_value_text': self.get_value_text(cr,uid,field,new_values[field],model_object),
+                                      'old_value_text':old_values_text[field]
                                       }
                                 lines.append(line)
                         cr.commit()
                         self.create_log_line(cr,uid,id,model_object,lines)
-                res =fct_src( db, uid, passwd, object, method, *args)
                 cr.close()
                 return res
+
+        if method in ('read'):
+            res_ids=args[0]
+            old_values={}
+            res =fct_src( db, uid, passwd, object, method, *args)
+            if type(res)==list:
+
+                for v in res:
+                    old_values[v['id']]=v
+            else:
+                old_values[res['id']]=res
+            for res_id in old_values:
+                if not len(logged_uids) or uid in logged_uids:
+                    id=pool.get('audittrail.log').create(cr, uid, {"method": method , "object_id": model_object.id, "user_id": uid, "res_id": res_id,"name": "%s %s %s" % (method , model_object.id, time.strftime("%Y-%m-%d %H:%M:%S"))})
+                    lines=[]
+                    for field in old_values[res_id]:
+                        if old_values[res_id][field]:
+                            line={
+                                      'name':field,
+                                      'old_value':old_values[res_id][field],
+                                      'old_value_text': self.get_value_text(cr,uid,field,old_values[res_id][field],model_object)
+                                      }
+                            lines.append(line)
+                cr.commit()
+                self.create_log_line(cr,uid,id,model_object,lines)
+            cr.close()
+            return res
+
+        if method in ('unlink'):
+            res_ids=args[0]
+            old_values={}
+            for res_id in res_ids:
+                old_values[res_id]=pool.get(model_object.model).read(cr,uid,res_id,[])
+
+            for res_id in res_ids:
+                if not len(logged_uids) or uid in logged_uids:
+                    id=pool.get('audittrail.log').create(cr, uid, {"method": method , "object_id": model_object.id, "user_id": uid, "res_id": res_id,"name": "%s %s %s" % (method, model_object,  time.strftime("%Y-%m-%d %H:%M:%S"))})
+                    lines=[]
+                    for field in old_values[res_id]:
+                        if old_values[res_id][field]:
+                            line={
+                                  'name':field,
+                                  'old_value':old_values[res_id][field],
+                                  'old_value_text': self.get_value_text(cr,uid,field,old_values[res_id][field],model_object)
+                                  }
+                            lines.append(line)
+                    cr.commit()
+                    self.create_log_line(cr,uid,id,model_object,lines)
+            res =fct_src( db, uid, passwd, object, method, *args)
             cr.close()
+            return res
+        cr.close()
 
     def execute(self, db, uid, passwd, model, method, *args):
         pool = pooler.get_pool(db)
@@ -346,7 +349,6 @@ class audittrail_objects_proxy(objects_proxy):
                 return fct_src(db, uid, passwd, model, method, *args)
         finally:
             cr.close()
-            pass
 
 audittrail_objects_proxy()