← Back to team overview

openerp-india team mailing list archive

[Bug 1013229] Re: [6.0/6.1/trunk] Audittrail : read_group should be skipped just like others!

 

Hello Reader,

On a very first note, thanks to Edgar Rivero who noticed this out and
brought into attention.

This is a real bug when audittrail is supposed to audit the model on
which have set 'action' (log action) to be audited.

As a rule of thumb, system is supposed to skip some methods which are
not going to alter any data such as name_get, name_search, default_get,
etc.

Among such methods, read_group has been forgotten by audittrail.

You won't face any error if you do a group by on audited model( consider
any example like partner). But if you do a group by on a model with some
domains(any filter is pressed or a custom search applied like name ilike
'ax' any comfortable search), system is supposed to pass domain as the
very first argument and at the end of audittrail,it always expects a set
of ids to be read(read as red), causing into a traceback as shown by
Edgar.

EXAMPLE : Subscribe rule for Partner, log action. Do a simple groupby
after clicking clear--> No error. Click any filter or do any search -->
You will face an error which would say the DOMAIN is supposedly set as
IDS for read() call.

Hence, in future if any method is added/edited in ORM, we have to make
sure that the first argument if not IDS, should either be skipped for
audittrail or managed as a special case(just like create).


This should surely help.

Regards,
Serpent Consulting Services.
http://www.serpentcs.com

-- 
You received this bug notification because you are a member of OpenERP
Indian Team, which is subscribed to OpenERP Addons.
https://bugs.launchpad.net/bugs/1013229

Title:
  [6.0/6.1/trunk] Audittrail : read_group should be skipped just like
  others!

Status in OpenERP Addons (modules):
  Confirmed
Status in OpenERP Addons 6.0 series:
  Won't Fix
Status in OpenERP Addons 6.1 series:
  Confirmed
Status in OpenERP Addons trunk series:
  Confirmed

Bug description:
  Having installed Audittrail:

  1.- I'll Administration > Configuration > Audit Rules 
  2.- I think a new rule on Journal Items, scoring: Log Writes, Log Deletes, Log Creates and Action Log. 
  3.- I'll Accounting > Journal Entries > Journal Items
  4.- I select Group by... 

  And anyone who select generate the following error.

  Traceback (most recent call last):
    File "/home/xxxx/oerp/6.0/server/bin/netsvc.py", line 489, in dispatch
      result = ExportService.getService(service_name).dispatch(method, auth, params)
    File "/home/xxxx/oerp/6.0/server/bin/service/web_services.py", line 599, in dispatch
      res = fn(db, uid, *params)
    File "/home/xxxx/oerp/6.0/modules/audittrail/audittrail.py", line 522, in execute
      res = my_fct(db, uid, model, method, *args)
    File "/home/xxxx/oerp/6.0/modules/audittrail/audittrail.py", line 518, in my_fct
      return self.log_fct(db, uid_orig, model, method, fct_src, *args)
    File "/home/xxxx/oerp/6.0/modules/audittrail/audittrail.py", line 423, in log_fct
      for resource in resource_pool.read(cr, uid, res_ids):
    File "/home/xxxx/oerp/6.0/server/bin/osv/orm.py", line 2944, in read
      result = self._read_flat(cr, user, select, fields, context, load)
    File "/home/xxxx/oerp/6.0/server/bin/osv/orm.py", line 3003, in _read_flat
      cr.execute(query, (tuple(sub_ids),))
    File "/home/xxxx/oerp/6.0/server/bin/sql_db.py", line 78, in wrapper
      return f(self, *args, **kwargs)
    File "/home/xxxx/oerp/6.0/server/bin/sql_db.py", line 131, in execute
      res = self._obj.execute(query, params)
  ProgrammingError:  arguments IN must be expressions of records registration
  LÍNEA 1: ...OM "account_move_line" WHERE account_move_line.id IN ((E'mov...

To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-addons/+bug/1013229/+subscriptions


References