Replace counter-arguments with possible answers and unify search inputs.

Models, AI assistant, and UI now show diskussionsfertige Antworten without titles; shared search partial fixes aria-label rendering.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Pirmin Hinderling (fedora)
2026-07-07 22:50:53 +02:00
parent 28aab3b16a
commit 16428f2c16
19 changed files with 237 additions and 101 deletions
+7 -8
View File
@@ -205,23 +205,22 @@ class Source(models.Model):
return self.title
class CounterArgument(models.Model):
class PossibleAnswer(models.Model):
claim = models.ForeignKey(
Claim,
on_delete=models.CASCADE,
related_name='counter_arguments',
related_name='possible_answers',
verbose_name='Behauptung',
)
argument = models.TextField('Gegenargument')
response = models.TextField('Antwort')
answer = models.TextField('Antwort')
class Meta:
verbose_name = 'Gegenargument'
verbose_name_plural = 'Gegenargumente'
verbose_name = 'Mögliche Antwort'
verbose_name_plural = 'Mögliche Antworten'
ordering = ['id']
def __str__(self):
return self.argument[:80]
return self.answer[:80]
def draft_upload_path(instance, filename):
@@ -286,7 +285,7 @@ class ClaimDraft(models.Model):
detailed_explanation = models.TextField('Ausführliche Erklärung', blank=True)
tags = models.JSONField('Schlagwörter', default=list, blank=True)
sources = models.JSONField('Quellen', default=list, blank=True)
counter_arguments = models.JSONField('Gegenargumente', default=list, blank=True)
possible_answers = models.JSONField('Mögliche Antworten', default=list, blank=True)
conversation = models.JSONField('Konversation', default=list, blank=True)
ai_raw_response = models.JSONField('KI-Rohantwort', blank=True, null=True)
error_message = models.TextField('Fehlermeldung', blank=True)