Erstellung von einem UrlHandler (Url, die man von aussen ansprechen kann)

Erstellung von einem UrlHandler (Url, die man von aussen ansprechen kann)

In diesem Artikel wird erklärt wie man einen UrlHandler implentiert, der von aussen erreichbar ist.

Beispiel:
http://localhost:8069/get_release_info/454

Die Funktion get_release_info kann man von aussen ansprechen, einen Parameter (eq_access_code) übergeben und bekommt ein Ergebnis (eq_latest_release) zurück

Es wurde im odoo-myodoo\modules\eq_releasemanager implementiert

 

Controller.py:

class ReleaseHelper(http.Controller): @http.route('/get_release_info/', auth='public') def get_release_info_no_input(self): """ Simple handler for the case when somebody will try to call our function without code @retung: empty string """ return "" @http.route('/get_release_info/<string:code>', auth='public') def get_release_info(self, code): """ This function will be called extern from releasemanager, gets code as input and returns laste release data @code: access code @return: last release or empty string if code not provided or wrong """ if code is None: return "" eq_servers = http.request.env['eq_servers.table'].sudo() records = eq_servers.search([('eq_access_code', '=', code)]) if records: return records[0].eq_last_release return ""