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