Example #1
0
 def migrate_question(self, old_question, position):
     question = SurveyQuestion()
     question.position = position
     question.title = _sanitize(old_question.questionValue)
     question.description = _sanitize(old_question.description)
     if old_question.help:
         help_text = _sanitize(old_question.help)
         question.description += "\n\nHelp: {}".format(help_text) if question.description else help_text
     question.is_required = old_question.required
     question.field_data = {}
     class_name = old_question.__class__.__name__
     if class_name == 'Textbox':
         question.field_type = 'text'
     elif class_name == 'Textarea':
         question.field_type = 'text'
         question.field_data['multiline'] = True
     elif class_name == 'Password':
         question.field_type = 'text'
     elif class_name in ('Checkbox', 'Radio', 'Select'):
         question.field_data['options'] = []
         question.field_type = 'single_choice' if class_name in ('Radio', 'Select') else 'multiselect'
         if question.field_type == 'single_choice':
             question.field_data['display_type'] = class_name.lower()
         if class_name == 'Radio':
             question.field_data['radio_display_type'] = 'vertical'
         for option in old_question.choiceItems:
             question.field_data['options'].append({'option': option, 'id': unicode(uuid4())})
     self.print_success(" - Question: {}".format(question.title))
     return question
Example #2
0
 def migrate_question(self, old_question, position):
     question = SurveyQuestion()
     question.position = position
     question.title = _sanitize(old_question.questionValue)
     question.description = _sanitize(old_question.description)
     if old_question.help:
         help_text = _sanitize(old_question.help)
         question.description += "\n\nHelp: {}".format(
             help_text) if question.description else help_text
     question.is_required = old_question.required
     question.field_data = {}
     class_name = old_question.__class__.__name__
     if class_name == 'Textbox':
         question.field_type = 'text'
     elif class_name == 'Textarea':
         question.field_type = 'text'
         question.field_data['multiline'] = True
     elif class_name == 'Password':
         question.field_type = 'text'
     elif class_name in ('Checkbox', 'Radio', 'Select'):
         question.field_data['options'] = []
         question.field_type = 'single_choice' if class_name in (
             'Radio', 'Select') else 'multiselect'
         if question.field_type == 'single_choice':
             question.field_data['display_type'] = class_name.lower()
         if class_name == 'Radio':
             question.field_data['radio_display_type'] = 'vertical'
         for option in old_question.choiceItems:
             question.field_data['options'].append({
                 'option': option,
                 'id': unicode(uuid4())
             })
     self.print_success(" - Question: {}".format(question.title))
     return question
Example #3
0
 def migrate_question(self, old_question, position):
     question = SurveyQuestion()
     question.position = position
     question.title = _sanitize(old_question.questionValue)
     question.description = _sanitize(old_question.description)
     if old_question.help:
         help_text = _sanitize(old_question.help)
         question.description += "\n\nHelp: {}".format(help_text) if question.description else help_text
     question.is_required = old_question.required
     question.field_data = {}
     class_name = old_question.__class__.__name__
     if class_name == "Textbox":
         question.field_type = "text"
     elif class_name == "Textarea":
         question.field_type = "text"
         question.field_data["multiline"] = True
     elif class_name == "Password":
         question.field_type = "text"
     elif class_name in ("Checkbox", "Radio", "Select"):
         question.field_data["options"] = []
         question.field_type = "single_choice" if class_name in ("Radio", "Select") else "multiselect"
         if question.field_type == "single_choice":
             question.field_data["display_type"] = class_name.lower()
         if class_name == "Radio":
             question.field_data["radio_display_type"] = "vertical"
         for option in old_question.choiceItems:
             question.field_data["options"].append({"option": option, "id": unicode(uuid4())})
     self.print_success(" - Question: {}".format(question.title))
     return question