← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 704922] Re: Trigger on store function field doesn't work in inherits object

 

Hi,

First of all thank you to have a look on that one ! I just updated to
today version and it seems I always have this trouble... According to my
test case:

1) Install basic OpenERP with analytic_multicurrency, hr_timesheet &
hr_timesheet_sheet

2) Create a line from menu : Accounting -> Journal Entries -> Analytic
Journal Items => You can see the second "Amount Currency" in form view
computed right (in my case 10 hours at 30 EUR = 300 EUR).

3) The same but from menu : Human Ressources -> Time Tracking -> Working
Hours => You can also see the second "Amount Currency computed right.

4) When you try from Human Ressources -> Time Tracking -> My Timesheet
and encode a line here, everything is fine unless you check that line
from the menu of point 2).

So if you take the menu described in 2) to verify the line entered from
"My Timesheet", you'll see the "Amount Currency" function field empty :(

This is may be because of 2 inherit : first one hr.analytic.line
inherits account.analytic.line. And in hr_timesheet_sheet, you inherit
hr.analytic.line once more... But well, even looking at the code
closely, I cannot understand that...


Hope this help.

Regards,

Joël

** Changed in: openobject-server
       Status: Incomplete => New

-- 
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.
https://bugs.launchpad.net/bugs/704922

Title:
  Trigger on store function field doesn't work in inherits object

Status in OpenERP Server:
  New

Bug description:
  Hi,

  
  This is a quite complex one affecting last v6.0 :( Also to explain, I'll try...

  Situation :

  - Add a store field on account.analytic.line with the following:

  'aa_currency_id': fields.function(_get_account_currency, method=True, type='many2one', relation='res.currency', string='Account currency',
                    store={
                        'account.analytic.account': (_get_account_line, ['company_id'], 50),
                        'account.analytic.line': (lambda self,cr,uid,ids,c={}: ids, ['amount','unit_amount'],10),
                    },
                    help="The related analytic account currency."),

  - This will trigger any modifications done on the related analytic
  account or in the amount or unit_amount field of analytic lines. When
  the trigger is trigged, the value of aa_curency_id is re-computed by
  _get_account_currency.

  This works perfectly as expected, the trigger works. But then you
  install hr_timesheet module which inherits account.analytic.line and
  try to change something in the hr.analytic.timesheet, the trigger on
  the account.analytic.line isn't trigged !!!

  You can find a working example in the c2c_multicost_base module of
  extra-addons for v 5.0, in v5.0 this works perfectly. Changing the
  hr.analytic.timesheet will trig the account.analytic.line.

  I expect this to work also n v 6.0. A trigger put on an object A
  should be trigged also when an inherits object B change some values in
  the inherited object A.

  Thanks to have a look, this sould be very important I think.

  Regards,

  Joël





References