from odoo import http from odoo.http import request from odoo.addons.website.controllers.main import Website # <-- ADD THIS IMPORT # CHANGE INHERITANCE: http.Controller -> Website class EmployeeBridgeController(Website): def _get_bridge(self, token): return request.env["recruitment.employee.bridge"].sudo().search([ ("access_token", "=", token), ("active", "=", True), ], limit=1) def _render_form(self, bridge): # Removed the 'message' variable as we will use a separate template for success return request.render("employee_bridge.employee_bridge_jod_form_template", { "bridge": bridge, }) @http.route("/employee_bridge/jod/", type="http", auth="public", csrf=False, website=True) def employee_bridge_jod(self, token, **post): bridge = self._get_bridge(token) if not bridge: return request.not_found() if request.httprequest.method == "POST": bridge.write_from_public_form(post) # RENDER A SEPARATE THANK YOU TEMPLATE INSTEAD OF THE FORM return request.render("employee_bridge.employee_bridge_thank_you_template", { "bridge": bridge, }) return self._render_form(bridge) @http.route("/employee_bridge/fetch_related_state_ids", type="json", auth="public", website=True) def fetch_related_state_ids(self, country_id=None): states = request.env["res.country.state"].sudo() return { state.id: state.name for state in states.search([("country_id", "=?", country_id)]) }