diff --git a/rapids/models.py b/rapids/models.py
index 05ce8014..0eeeb10c 100644
--- a/rapids/models.py
+++ b/rapids/models.py
@@ -37,6 +37,10 @@ def image_directory_path(instance, filename):
return u"rapids/picture/{0}".format(filename)
+def get_answer_compare(string):
+ s = string.strip().lower()
+ s = s.translate(str.maketrans('', '', string.punctuation.replace("#", "")))
+ return s
class Abnormality(models.Model):
name = models.CharField(max_length=200,
@@ -101,12 +105,7 @@ class Answer(models.Model):
def clean(self):
if self.answer:
- self.answer = self.answer.strip()
-
- s = self.answer.lower()
- s = s.translate(str.maketrans('', '', string.punctuation.replace("#", "")))
-
- self.answer_compare = s
+ self.answer_compare = get_answer_compare(self.answer)
@reversion.register
@@ -255,6 +254,14 @@ class Rapid(models.Model):
def get_unmarked_answer_count(self):
return len(self.get_unmarked_answers())
+ def get_compare_answers(self):
+ return set(
+ [
+ i.answer_compare
+ for i in self.answers.filter()
+ ]
+ )
+
def get_marked_answers(self):
return set(
[
@@ -300,6 +307,18 @@ class Rapid(models.Model):
#def GetNonFeedbackQuestionImages(self):
#return self.get_images()
+ def get_suggested_answers(self):
+ answers = []
+ for r in self.region.all():
+ for a in self.abnormality.all():
+ answers.append("{} {}".format(r.name, a.name))
+
+ compare_answers = self.get_compare_answers()
+
+ new_answers = [a for a in answers if get_answer_compare(a) not in compare_answers]
+
+ return new_answers
+
class RapidImage(models.Model):
rapid = models.ForeignKey(Rapid,
diff --git a/rapids/templates/rapids/question_display_block.html b/rapids/templates/rapids/question_display_block.html
index 0b2eab14..8a1abb15 100755
--- a/rapids/templates/rapids/question_display_block.html
+++ b/rapids/templates/rapids/question_display_block.html
@@ -59,9 +59,21 @@
{% endfor %}
{% endif %}
+Suggested answers
+ {% for ans in question.get_suggested_answers %}
+
+
+