This question has been flagged
1 Reply
3364 Views

Hi,

I'm trying to get all calendar events for today thru the XML RPC API in Odoo V12 using PHP. 

$calendarEventIds = $this->models->execute_kw(DB, UID, PASSWORD, 'calendar.event', 'search', array(array('start_date', '=', '2019-09-03')));

Somehow if I remove the date filter, I do receive the whole list. So the date filter does not seems to work. Is there something wrong with my syntax?

Stacktrace:

{"faultCode":1,"faultString":"Traceback (most recent call last):\n File \"\/usr\/lib\/python3\/dist-packages\/odoo\/addons\/base\/controllers\/rpc.py\", line 63, in xmlrpc_2\n response = self._xmlrpc(service)\n File \"\/usr\/lib\/python3\/dist-packages\/odoo\/addons\/base\/controllers\/rpc.py\", line 43, in _xmlrpc\n result = dispatch_rpc(service, method, params)\n File \"\/usr\/lib\/python3\/dist-packages\/odoo\/http.py\", line 120, in dispatch_rpc\n result = dispatch(method, params)\n File \"\/usr\/lib\/python3\/dist-packages\/odoo\/service\/model.py\", line 39, in dispatch\n res = fn(db, uid, *params)\n File \"\/usr\/lib\/python3\/dist-packages\/odoo\/service\/model.py\", line 171, in execute_kw\n return execute(db, uid, obj, method, *args, **kw or {})\n File \"\/usr\/lib\/python3\/dist-packages\/odoo\/service\/model.py\", line 97, in wrapper\n return f(dbname, *args, **kwargs)\n File \"\/usr\/lib\/python3\/dist-packages\/odoo\/service\/model.py\", line 178, in execute\n res = execute_cr(cr, uid, obj, method, *args, **kw)\n File \"\/usr\/lib\/python3\/dist-packages\/odoo\/service\/model.py\", line 167, in execute_cr\n return odoo.api.call_kw(recs, method, args, kw)\n File \"\/usr\/lib\/python3\/dist-packages\/odoo\/api.py\", line 745, in call_kw\n return _call_kw_model(method, model, args, kwargs)\n File \"\/usr\/lib\/python3\/dist-packages\/odoo\/api.py\", line 718, in _call_kw_model\n result = method(recs, *args, **kwargs)\n File \"\/usr\/lib\/python3\/dist-packages\/odoo\/models.py\", line 1561, in search\n res = self._search(args, offset=offset, limit=limit, order=order, count=count)\n File \"\/usr\/lib\/python3\/dist-packages\/odoo\/addons\/calendar\/models\/calendar.py\", line 1775, in _search\n event_ids = super(Meeting, self)._search(new_args, offset=0, limit=0, order=None, count=False, access_rights_uid=access_rights_uid)\n File \"\/usr\/lib\/python3\/dist-packages\/odoo\/models.py\", line 4100, in _search\n if expression.is_false(self, args):\n File \"\/usr\/lib\/python3\/dist-packages\/odoo\/osv\/expression.py\", line 225, in is_false\n elif token[1] == 'in' and not token[2]:\nIndexError: string index out of range\n"}}

Kind regards,

Bastiaan    


Avatar
Discard
Best Answer
Hi,

Im not an expert in PHP but i believe the expected syntax is different . please use the below syntax while specifying the domain.
$calendarEventIds = $this->models->execute_kw(DB, UID, PASSWORD, 'calendar.event', 'search', array(array('start_date' = '2019-09-03')));

if that doesn't work try going through Odoo's official documentation on making rpc calls from other languages in the below link. you can see sample codes for php in the right side
https://www.odoo.com/documentation/12.0/webservices/odoo.html
Avatar
Discard