Skip to content

Commit

Permalink
Fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
tienne-B committed Jun 8, 2024
1 parent 0e83c2a commit 6fc57e6
Showing 1 changed file with 19 additions and 10 deletions.
29 changes: 19 additions & 10 deletions tabbycat/adjfeedback/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class Meta:
constraints = [UniqueConstraint(fields=['question', 'feedback'])]


class BooleanAnswerMixin:
class BooleanAnswer(models.Model):
ANSWER_TYPE = bool

# Note: by convention, if no answer is chosen for a boolean answer, an
Expand All @@ -47,55 +47,64 @@ class BooleanAnswerMixin:
answer = models.BooleanField(verbose_name=_("answer"))


class IntegerAnswerMixin:
class IntegerAnswer(models.Model):
ANSWER_TYPE = int
answer = models.IntegerField(verbose_name=_("answer"))

class Meta:
abstract = True


class FloatAnswerMixin:
class FloatAnswer(models.Model):
ANSWER_TYPE = float
answer = models.FloatField(verbose_name=_("answer"))

class Meta:
abstract = True

class StringAnswerMixin:

class StringAnswer(models.Model):
ANSWER_TYPE = str
answer = models.TextField(verbose_name=_("answer"))

class Meta:
abstract = True


class ArrayAnswerMixin:
class ArrayAnswer(models.Model):
ANSWER_TYPE = list
answer = ArrayField(base_field=models.TextField(), verbose_name=_("answer"))


class AdjudicatorFeedbackBooleanAnswer(BooleanAnswerMixin, AdjudicatorFeedbackAnswer):
class AdjudicatorFeedbackBooleanAnswer(BooleanAnswer, AdjudicatorFeedbackAnswer):

class Meta(AdjudicatorFeedbackAnswer.Meta):
verbose_name = _("adjudicator feedback boolean answer")
verbose_name_plural = _("adjudicator feedback boolean answers")


class AdjudicatorFeedbackIntegerAnswer(IntegerAnswerMixin, AdjudicatorFeedbackAnswer):
class AdjudicatorFeedbackIntegerAnswer(IntegerAnswer, AdjudicatorFeedbackAnswer):

class Meta(AdjudicatorFeedbackAnswer.Meta):
verbose_name = _("adjudicator feedback integer answer")
verbose_name_plural = _("adjudicator feedback integer answers")


class AdjudicatorFeedbackFloatAnswer(FloatAnswerMixin, AdjudicatorFeedbackAnswer):
class AdjudicatorFeedbackFloatAnswer(FloatAnswer, AdjudicatorFeedbackAnswer):

class Meta(AdjudicatorFeedbackAnswer.Meta):
verbose_name = _("adjudicator feedback float answer")
verbose_name_plural = _("adjudicator feedback float answers")


class AdjudicatorFeedbackStringAnswer(StringAnswerMixin, AdjudicatorFeedbackAnswer):
class AdjudicatorFeedbackStringAnswer(StringAnswer, AdjudicatorFeedbackAnswer):

class Meta(AdjudicatorFeedbackAnswer.Meta):
verbose_name = _("adjudicator feedback string answer")
verbose_name_plural = _("adjudicator feedback string answers")


class AdjudicatorFeedbackManyAnswer(ArrayAnswerMixin, AdjudicatorFeedbackAnswer):
class AdjudicatorFeedbackManyAnswer(ArrayAnswer, AdjudicatorFeedbackAnswer):

class Meta(AdjudicatorFeedbackAnswer.Meta):
verbose_name = _("adjudicator feedback multiple select answer")
Expand Down

0 comments on commit 6fc57e6

Please sign in to comment.