diff --git a/addons/survey/controllers/main.py b/addons/survey/controllers/main.py index 7c971d65ab9..5f47305afa0 100644 --- a/addons/survey/controllers/main.py +++ b/addons/survey/controllers/main.py @@ -299,6 +299,24 @@ class Survey(http.Controller): return Binary._content_image_get_response(status, headers, image_base64) + @http.route('/survey/get_question_image////', type='http', auth="public", website=True, sitemap=False) + def survey_get_question_image(self, survey_token, answer_token, question_id, suggested_answer_id): + access_data = self._get_access_data(survey_token, answer_token, ensure_token=True) + if access_data['validity_code'] is not True: + return werkzeug.exceptions.Forbidden() + + survey_sudo, answer_sudo = access_data['survey_sudo'], access_data['answer_sudo'] + + if not survey_sudo.question_ids.filtered(lambda q: q.id == question_id)\ + .suggested_answer_ids.filtered(lambda a: a.id == suggested_answer_id): + return werkzeug.exceptions.NotFound() + + status, headers, image_base64 = request.env['ir.http'].sudo().binary_content( + model='survey.question.answer', id=suggested_answer_id, field='value_image', + default_mimetype='image/png') + + return Binary._content_image_get_response(status, headers, image_base64) + # ---------------------------------------------------------------- # JSON ROUTES to begin / continue survey (ajax navigation) + Tools # ---------------------------------------------------------------- diff --git a/addons/survey/views/survey_templates.xml b/addons/survey/views/survey_templates.xml index 423754adee5..4d0ce27189e 100644 --- a/addons/survey/views/survey_templates.xml +++ b/addons/survey/views/survey_templates.xml @@ -302,9 +302,10 @@