Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
1 Rispondi
11051 Visualizzazioni

I am a drupal developer and am accustomed to the concept of hooks. In a nutshell a hook is a way to jump into the workflow for adding, altering or listening to an event, say for instance "before saving an user" event.

Now lets say for instance that in my custom module I want to grab the invoice data right before it is about to be saved into the database and after all the installed modules have done their bit.

How do I get my module to hook to that particular point in the workflow, what I would call event.

In my use case I would like to get that data and save it somewhere else in real time.

Avatar
Abbandona
Autore

The answer of this question here http://help.openerp.com/question/5677/how-to-trigger-function-on-object-write/ might be what I am looking for, I will try that out.

Risposta migliore

I always thought doing hooks is a bit "old school" development practice :)

In order to hook your code on an existing object, you never have to define hooks or connect to existing hooks. We use standard inheritances practices between objects.

Suppose you have an object like this:

class sale_order(osv.osv):
  __name__='sale.order'
  def my_method(self, **args):
     # This method do something
     return True

If you want to hook to the my_method, you create an object that inherits from the sale.order object and extend it.

class sale_order(osv.osv):
  _inherit = 'sale.order'
  def my_method(self, **args):
     # do something before
     value = super(sale_order, self).my_method(self, **args)
     # do something after
     return value
Avatar
Abbandona

And how can you redefine a method of a class like mail.thread?

Post correlati Risposte Visualizzazioni Attività
9
mar 24
116101
2
mar 16
9505
1
mar 15
2923
2
mar 15
8880
2
mar 15
4130