-
Notifications
You must be signed in to change notification settings - Fork 23.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Master survey typeform clone dbe #41450
Open
dbeguin
wants to merge
25
commits into
odoo:master
Choose a base branch
from
odoo-dev:master-survey-typeform-clone-dbe
base: master
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 Add math floor and ceil functions in qweb context rendering. It allows to use some math methods directly in templates to avoid unnecessary data preparation in controllers that lead to a lot of hard to read code mixed with important code. Notably in survey we will use them for some pagination within statistics rendering. 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 odoo#40765
…lated on title 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 Question model holds two fields for its title: ``title`` and ``question``. Question is simply a related on title, making the two fields completely redundant. It is mainly due to historical reasons, when updating models for certifications and eLearning. In this commit we keep only title field and remove the question related field as it adds unnecessary complexity to the model. 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 odoo#40765
… collect 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 ``input_type`` field exists on user input model to tell whether answer has been created through invite or through manual click on a survey page. It has been added a long time ago when surveys were either open to everyone, either closed and on invite only. Since eLearning and certification surveys access mode on surveys has evolved. Notably being able to distinguish invite from manual survey user input is not necessary anymore. Indeed what is important is the way people can reach the survey, not how they created their user input. Invitation creates token and this can be used if people effectively want to find invitation-related user inputs. Since 09ea5c7 manual entries still in draft are garbage collected. Reason is still unclear as it is not obvious that tons of unnecessary entries will be created. As this seems like unnecessary optimization this commit removes that feature along with the input_type field. 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 odoo#40765
…ced by methods 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 In this commit we remove some remaining of URL fields that are better found using methods. Both survey and user input holds a "start" url field that is replaced by a method call ``get_start_url`` on both survey (generic) and user input (token specific) models. We also introduced a ``get_print_url`` method doing the same for the printable version of survey / user input. 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 odoo#40765
…category field 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 Survey model holds a ``category`` field whose purpose is to be able to somehow categorize surveys according to their use. However using this field is not easy as it is hidden and is a simple selection field. Module should add their own key. Its sole use is in ``hr_recruitment_survey`` which is a niche module. Let us clean models and lessen model complexity. 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 odoo#40765
…nswer 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 In this commit 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; 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 odoo#40765
…user_input.line 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 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. 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 odoo#40765
…ion_done 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 In this commit we rename thanks_you_message field. Indeed for certifications or recruitment form, "thank you" is not really the unique content you would get in a post-survey message. We therefore rename it to description_done to better indicate its use. 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 odoo#40765
…tion 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 All certification related fields on survey model begin with certification_ . Only the boolean one telling if a survey is a certification or not is called certificate. In order to ease grep and ordering it is renamed to certification. 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 odoo#40765
…_success_min 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 ``passing_score`` field name is not really the best name we could find. Renaming the field using a ``scoring_`` prefix allow to know this field is linked to the scoring mechanism. 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 odoo#40765
…g_percentage 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 ``quiz_score`` field name is related to the old "quiz" behavior of surveys that is replaced by certifications and scoring mechanisms. Let us propagate the renaming, beginning with a ``scoring_`` prefix. 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 odoo#40765
…ing_success 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 ``quizz_passed`` field name is related to the old "quiz" behavior of surveys that is replaced by certifications and scoring mechanisms. Let us propagate the renaming, beginning with a ``scoring_`` prefix. 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 odoo#40765
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 Survey user input model holds two token field. One is used to distinguish a pool of attempts linked to a given invite: ``invite_token``. The other one is used to control access to a specific user input. It means that ``invite_token`` indicates a set of user inputs and each of them is accessed through its own ``token``. To be coherent with other naming in odoo this latter field is renamed to ``access_token``. 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 odoo#40765
… fields 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 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; 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 odoo#40765
…efined_question_ids 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 ``question_ids`` field name is quite difficult to understand as we wonder why there is such a field on user input model. As its purpose is to store questions user has to answer (randomly chosen or all chosen) let us rename it to ``predefined_question_ids``. Moreover starting from now on if it is now given at create it is automatically computed. Classic flows go through ``urvey._create_answer()`` method that prepare them accordingly. However tests or demo data do not necessarily go through that method and it makes scoring fail (notably). 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 odoo#40765
…ld names match 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 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. 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 odoo#40765
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 Clean code about constraints and line creation in user input line model. Indeed it is quite unnecessarily complicated and does not cover all use cases correctly. 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 odoo#40765
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 This commit lints JS files located in survey as some typos and mistakes were recentl introduced. Code related to routes is also slightly reorganized to better understand file main sections. 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 odoo#40765
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 So much impressive retro engineering. 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 * graph_data: holding all necessary but minimalist data for graph display if question allows it; * table_data: holdign all necessary but minimalist data for table / summary display; 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 imp pagination; 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 odoo#40765
…e small ref on finished screen too
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.