Files
project_v19/dashboard_survey/models/__pycache__/models.cpython-312.pyc
T

54 lines
4.1 KiB
Plaintext
Raw Normal View History

2026-07-01 14:41:49 +07:00
Ë
÷ýi
ãóBddlmZmZmZGddej«Zy)é)ÚmodelsÚfieldsÚapicóœeZdZdZdZdZdZdZejddd¬ «Z
ejd
d d¬ «Z ejd d
d¬ «Z ejddd¬ «Z
ejgd¢dd¬ «Zej dd¬ «Zej$dd¬ «Zej(dd¬ «Zej,dd¬ «ZdZy)ÚSurveyDashboardViewzsurvey.dashboard.viewzSurvey Dashboard ViewFzcreate_date descÚ question_idz
survey.surveyÚSurveyT)ÚstringÚreadonlyzsurvey.user_inputz
User Inputz res.partnerÚ
Respondentzsurvey.questionÚQuestion) )Ú
simple_choicez Multiple choice: only one answer)Úmultiple_choicez)Multiple choice: multiple answers allowed)Útext_boxzMultiple Lines Text Box)Úchar_boxzSingle Line Text Box)Ú
numerical_boxzNumerical Value)ÚscaleÚScale)ÚdateÚDate)ÚdatetimeÚDatetime)ÚmatrixÚMatrixz
Question Typez Answer ValueÚCountz
Response DateÚ Completedcó˜|jjjd«|jjjd«y)Nz)DROP VIEW IF EXISTS survey_dashboard_viewu«
CREATE VIEW survey_dashboard_view AS (
SELECT
ROW_NUMBER() OVER () as id,
sui.id as user_input_id,
sui.survey_id as survey_id,
sui.partner_id as partner_id,
sq.id as question_id,
sq.question_type as answer_type,
-- ✅ FIX: Explicitly cast ALL branches to TEXT
CASE
WHEN sq.question_type = 'matrix' THEN
CONCAT(sqa_row.value::text, ': ', sqa_col.value::text)
WHEN sq.question_type IN ('simple_choice', 'multiple_choice') THEN
sqa_col.value::text
ELSE COALESCE(
uls.value_text_box::text,
uls.value_char_box::text,
uls.value_date::text,
uls.value_datetime::text,
uls.value_numerical_box::text,
uls.value_scale::text,
''
)
END as answer_value,
1 as response_count,
sui.create_date as create_date,
(sui.state = 'done') as is_done
FROM survey_user_input sui
LEFT JOIN survey_user_input_line uls ON uls.user_input_id = sui.id
LEFT JOIN survey_question sq ON sq.id = uls.question_id
-- Joins for Multiple Choice and Matrix answers
LEFT JOIN survey_question_answer sqa_col ON uls.suggested_answer_id = sqa_col.id
LEFT JOIN survey_question_answer sqa_row ON uls.matrix_row_id = sqa_row.id
WHERE sui.state IN ('done')