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 ""