Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class AnswerArea(TimeStampedModel):
- """
- Class for an answer containing the following attributes:
- - font_style: JSON which may contain the following keys:
- * font_family: Raleway (for now)
- * font_size: Integer value, the size of the text, in SP
- * font_color_selector: JSON (default_color, selected_color, other) ARGB string values (default: #000000)
- * typeface: List of typeface strings, may contain values: Bold / Italic / Underline / Strikethrough / Default
- * slider_font_size_selector: JSON (default_value, selected_value, other) - Integer values, (default: 12sp)
- * vertical_alignment: top / middle / bottom (default: bottom)
- * horizontal_alignment: left / center / right (default: left)
- - margins: JSON which may contain the following keys:
- * left: Integer value (default: 0dp)
- * right: Integer value (default: 0dp)
- * top: Integer value (default: 0dp)
- * bottom: Integer value (default: 0dp)
- - configurations: JSON which may contain the following keys:
- * max_length: Integer value
- * min_length: Integer value
- * min_selected_buttons: Integer value
- * max_selected_buttons: Integer value
- * number_of_stars: Integer value
- * start_value: Integer value
- * end_value: Integer value
- * step: Integer value
- * label_step: Integer value
- * randomize_answers: true / false
- * order: ASC / DESC (default: ASC)
- * default_value: Integer Value
- * double_ended_slider: true / false
- * fit_content: true / false
- - style: JSON which may contain the following keys:
- * button_width: Integer value
- * button_height: Integer value
- * button_spacing: Integer value
- * border_width: Integer value (default: 0dp)
- * corner_radius: Integer value (default: 0dp)
- * border_color_selector: JSON (default_color, selected_color)
- * background_color_selector: JSON (default_color, selected_color)
- * layout_direction: horizontal / vertical (default: vertical)
- * label_vertical_alignment: above / below / inside (default: below)
- * thumb_color: ARGB string value
- * thumb_radius: Integer value
- * slider_height: Integer value
- - column: JSON which may contain the following keys:
- * margins: JSON (left, right, top, bottom)
- * border_width: Integer value (default: 0dp)
- * corner_radius: Integer value (default: 0dp)
- * border_color_selector: JSON (default_color, selected_color)
- * background_color_selector: JSON (default_color, selected_color)
- - answer_type: Open-Ended / Star Rating / Slider / Single/Multiple Choice / Ranking / Number Picker
- """
- font_style = JSONField(null=True, blank=True)
- margins = JSONField(null=True, blank=True)
- configurations = JSONField(null=True, blank=True)
- style = JSONField(null=True, blank=True)
- column = JSONField(null=True, blank=True)
- answer_type = models.PositiveSmallIntegerField(choices=ANSWER_TYPES.CHOICES)
- class MediaArea(TimeStampedModel):
- """
- Class for media area containing the following attributes:
- - margins: JSON which may contain the following keys:
- * left: Integer value (default: 0dp)
- * right: Integer value (default: 0dp)
- * top: Integer value (default: 0dp)
- * bottom: Integer value (default: 0dp)
- - type (required): Video / Audio / Image
- - url (required): URL string value
- """
- margins = JSONField(null=True, blank=True, help_text=_('It may contain: left, right, top, bottom.'))
- TYPES = Choices(
- ('IMAGE', 1, _('Image')),
- ('VIDEO', 2, _('Video')),
- ('AUDIO', 3, _('Audio')),
- )
- type = models.PositiveSmallIntegerField(choices=TYPES.CHOICES)
- # url = models.URLField()
- url = models.FileField(upload_to='upload/screens', null=True, blank=True)
- class QuestionArea(TimeStampedModel):
- """
- Class for a question containing the following attributes:
- - text (required): The question text
- - font_style: JSON which may contain the following keys:
- * font_size: Integer value, the size of the text, in SP
- * font_color: ARGB string value starting with #
- * font_family: String representing font family name
- * typeface: List of typeface strings, may contain values: Bold / Italic / Underline / Strikethrough
- * vertical_alignment: top / bottom / middle
- * horizontal_alignment: left / right / center
- - margins: JSON which may contain the following keys:
- * left: Integer value (default: 0dp)
- * right: Integer value (default: 0dp)
- * top: Integer value (default: 0dp)
- * bottom: Integer value (default: 0dp)
- """
- text = models.TextField(default='', help_text=_('The question text.'))
- font_style = JSONField(null=True, blank=True, help_text=_('It may contain: font_size, font_color, typeface, vertical_alignment, horizontal_alignment.'))
- margins = JSONField(null=True, blank=True, help_text=_('It may contain: left, right, top, bottom.'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement