summaryrefslogtreecommitdiff
path: root/addons/website/static/src/xml/website.contentMenu.xml
diff options
context:
space:
mode:
authorOdoo's Mergebot <xmo+roboto@odoo.com>2019-12-05 18:06:56 +0100
committerGitHub <noreply@github.com>2019-12-05 18:06:56 +0100
commit374b57a1537959c39d12011fa9beed154e8fc810 (patch)
treeeb47a5b6981ed74a74b6b8adb495d3b2cc326fc5 /addons/website/static/src/xml/website.contentMenu.xml
parent8c6976a6344d9a5fe284b3df8e2bf89ceeb0595f (diff)
parentf7fb9b96f432a75749154c59134dbe3b947f981e (diff)
[MERGE] survey: clean and rename models, refactor survey results page code
PURPOSE As new features are about to land in survey, notably live interactions [1] and new survey building [2] performing a pre cleaning is necessary. In this PR we clean survey models by: removing unnecessary fields, cleaning some code and finally renaming models. SPECIFICATIONS [REF] survey: remove unused or unnecessary fields to clean models. Some fields are also renamed to better indicate their use. * On survey.survey, remove question field, unnecessary related on title. * On survey.survey, remove unused category field. * On survey.user_input, remove input_type and its garbage collect. * On survey.{survey, user_input}, remove url fields replaced by methods * On survey.survey, rename thanks_you_message to description_done * On survey.survey, rename certificate field to certification * On survey.survey, rename passing_score field to scoring_success_min * On survey.user_input, rename quiz_score field to scoring_percentage * On survey.user_input, rename quizz_passed field to scoring_success * On survey.user_input, rename token field to access_token * On survey.user_input, rename question_ids field to predefined_question_ids [REF] survey: rename some models to ease understanding In this merge we rename the long standing ``survey.label`` model. Indeed a label is something before a question, like an input label. Labels in survey are used for suggested answers and sometimes as rows for matrix answers. After much thoughts we rename ``survey.label`` to ``survey.question.answer``. It indicates this model holds answers. Moreover it is namespaced within the ``survey.question`` model name to avoid conflict with user input / user answer model. As model naming changes, some fields also evolve. In survey.question model * ``labels_id`` is renamed to ``suggested_answer_ids`` to indicate it is used to display suggested values to the user; * ``labels_id_2`` is renamed to ``matrix_row_ids`` to indicate it is used to generate the rows of the matrix-type question. A matrix is therefore done using ``matrix_row_ids`` for rows and ``suggested_answer_ids`` for columns which seems easier to understand; In survey.question.answer (old survey.label) model * ``question_id_2`` is renamed to ``matrix_question_id`` to ease its understanding, notably that it is used for matrix questions; Main user answer model is ``survey.user_input``. It holds lines related to answers given to specific questions. In this commit we rename this model from ``survey.user_input_line`` to ``survey.user_input.line`` to be coherent with general odoo naming guidelines. [REF] survey: on survey.user_input.line, rename value_suggested{_row} A new naming recently introduced for ``survey.question.answer`` has been recently introduced: ``suggested_answer_ids`` and ``matrix_row_ids``. In this commit we propagate that naming to survey.user_input.line model. New naming is * ``suggested_answer_id``: one chosen value for single / multiple choice. It is also used for matrix columns as those indicates the value to give on a given row; * ``matrix_row_id``: the related row of the suggested answer for matrix questions; It adds two benefits * it finishes by _id which is always a good idea for m2o fields; * it better indicate the use; [REF] survey: on survey.{question,user_input.line}, make type and field names match To better understand question type and their input type, we update some of ``survey.question`` ``question_type`` keys : Type----Old type-----New type text----free_text----text_box char----textbox------char_box Untouched question types: ``numerical_box``, ``date``, ``datetime``, ``simple_choice``, ``multiple_choice``, ``matrix``. Those are already understandable. Then ``survey.user_input.line`` ``answer_type`` keys are also updated to match their question type counterparts QuestType--------Old type-----New type text_box---------free_text----text_box char_box---------text---------char_box numerical_box----number-------numerical_box Then ``survey.user_input.line`` fields used to store the value are updated to propagate the new naming AnswerLineType----Old field----------New field text_box----------value_free_text----value_text_box char_box----------value_text---------value_char_box numerical_box-----value_number-------value_numerical_box Untouched answer types and field storing value: ``date``, ``datetime`` still refer to same question type and use value_date / value_datetime fields. ``simple_choice``, ``multiple_choice`` and ``matrix`` still use ``suggestion`` answer type and ``suggested_answer_id`` (+ ``matrix_row_id``) to store link to ``survey.question.answer`` records. [REF] survey: refactor results page Purpose of this merge is to globally rewrite the way statistics are pre computed and used in results page of surveys. Indeed current code is very complex, having a lot of calls to the same methods while taking only part of its results. It also have a mix of model and controller methods, data is computed several times a bit differently, ... In this commit we rewrite that part. Including * a simpler code flow; * a simpler data structure; * use a better naming for methods instead of "prepare_results" called randomly within the code and re-using part of its returned content; * use record sets / records instead of giving sub-elements of a record like question.title, label.value, ... Data structure * simply give a question_and_page_ids to the template that will iterate on pages / questions; * have a graph_data, table_data dictionaries available for graph and table display with simple entries; * graph_data: holding all necessary but minimalist data for graph display if question allows it; * table_data: holding all necessary but minimalist data for table / summary display; * hold record sets of done / failed answers and answer lines; In this commit we also simplify and clean pagination in survey graph results * remove page_range helper tool that can be inlined in the templates directly, doing a simple range; * fix and improve pagination code; [IMP] survey: improve demo data Add a new demo survey about a quiz: a survey with scoring but no certificate. Have almost all possible combinations of questions and options (notably choices to have a scoring) and answer lines in order to be able to, notably, debug the statistics / result page. LINKS [0] Related to Task ID 2061901 (survey models cleaning and preparation) [1] Task ID 1972640 (live interactions) [2] Task ID 2119587 (new frontend for building surveys) PR #40765 closes odoo/odoo#41198 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Diffstat (limited to 'addons/website/static/src/xml/website.contentMenu.xml')
0 files changed, 0 insertions, 0 deletions