Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
1 Antworten
5345 Ansichten

Hello, I need to schedule a method from my own module. I set as Object the name of my model (_name) and the name of my method in Method. I tried to schedule it every minute to check if it works, but even if the scheduled time changes, the method is not called. My class is a Transient model and the method works if I call it manually.

Here is a screen:

http://it.tinypic.com/r/zldz13/8 

(I tried to set Arguments to '()' too)

And the piece of code from models.py that i want to schedule just for test (I put only the used method):

class prova(models.TransientModel):
_name = 'prove.prove'


def regola_restrizione(self, cr, uid, ids, context={}):

username = 'admin'
pwd = 'admin'
dbname = 'TestScheduler'

sock_common = xmlrpclib.ServerProxy('http://localhost:8069/xmlrpc/common')
uid = sock_common.login(dbname, username, pwd)
sock = xmlrpclib.ServerProxy'http://localhost:8069/xmlrpc/object')

rule = {

'model_id': '79',
'domain_force': "['|',('user_id','=',user.id),('user_id','=',False)]",
'active': 'TRUE',
'name': 'PROVA',
'global': 'FALSE',
'perm_unlink': 'TRUE',
'perm_write': 'TRUE',
'perm_read': 'TRUE',
'perm_create': 'TRUE',
'groups': [(6, 0, [9])]
}

sock.execute(dbname, uid, pwd, 'ir.rule', 'create', rule)

return True


Is there a way to know if I set the fields correctly and Odoo could 'catch' my method?

Any help is appreciated.

Avatar
Verwerfen
Beste Antwort

Hi,

You just need to make one change inside your method defination as like below.

def regola_restrizione(self, cr, uid, ids=[ ], context={}): # Cause while calling from cron job Odoo will not pass ids.

I hope your issue will resolve. 

Avatar
Verwerfen
Autor

Thank you very much, it works :)

Verknüpfte Beiträge Antworten Ansichten Aktivität
2
Apr. 23
2853
1
März 15
5851
0
März 15
5548
0
Mai 21
3593
2
Apr. 20
15712