Add example survey data

This commit is contained in:
Ramon Wenger 2020-10-20 10:28:01 +02:00
parent 0a9c1680de
commit b3c36fb749
3 changed files with 212 additions and 0 deletions

View File

@ -0,0 +1,182 @@
sample_survey = {
"completeText": "Abschliessen",
"completedHtml": "<p class=\"survey__completed-text\">Sie haben die \u00dcbung abgeschlossen.</p>",
"pageNextText": "Weiter",
"pagePrevText": "Zur\u00fcck",
"pages": [
{
"elements": [
{
"elements": [
{
"choices": [
"Die Armee soll halbiert werden.",
"Alte Banknoten sollen unbeschr\u00e4nkt lange umgetauscht werden k\u00f6nnen. ",
"Die Mindestgeschwindigkeit des Internets soll leicht erh\u00f6ht werden.",
"Alle sollen ihre Arzt- und Spitalkosten zu 100% selbst bezahlen.",
"S\u00e4mtliche Drogen sollen (auch f\u00fcr Minderj\u00e4hrige) legalisiert werden.",
" Kurse f\u00fcr Hundebesitzer sollen nicht mehr obligatorisch sein. ",
"Die Sozialversicherungen sollen weitgehend abgeschafft werden.",
"Das Fungizid (pilzt\u00f6tendes Mittel) Chlorothalonin soll verboten werden.",
"Der gesamte \u00f6ffentliche Raum soll video\u00fcberwacht werden.",
"Die Handelsabkommen mit der EU sollen gek\u00fcndigt werden.",
"Krebserkrankungen sollen in einem nationalen Register erfasst werden.",
"Das Frauenstimmrecht soll abgeschafft werden.",
"S\u00e4mtliche Staatsbetriebe sollen privatisiert werden.",
"Die Einwanderung soll halbiert werden.",
"Benzin und Diesel betriebene Autos sollen verboten werden."
],
"correctAnswer": [
"Die Armee soll halbiert werden.",
"Alle sollen ihre Arzt- und Spitalkosten zu 100% selbst bezahlen.",
"S\u00e4mtliche Drogen sollen (auch f\u00fcr Minderj\u00e4hrige) legalisiert werden.",
"Die Sozialversicherungen sollen weitgehend abgeschafft werden.",
"Der gesamte \u00f6ffentliche Raum soll video\u00fcberwacht werden.",
"Die Handelsabkommen mit der EU sollen gek\u00fcndigt werden.",
"Das Frauenstimmrecht soll abgeschafft werden.",
"S\u00e4mtliche Staatsbetriebe sollen privatisiert werden.",
"Die Einwanderung soll halbiert werden.",
"Benzin und Diesel betriebene Autos sollen verboten werden."
],
"isRequired": True,
"name": "question1",
"requiredErrorText": "Bitte beantworten Sie die Frage.",
"title": "Kreuzen Sie jene Entscheidungen an, die mit grosser Sicherheit ein Referendum bzw. eine Abstimmung zur Folge h\u00e4tten. ",
"type": "checkbox"
}
],
"name": "Name dem Aufgaben",
"type": "panel"
}
],
"name": "Konkordanz-System1",
"title": "Konkordanz-System"
},
{
"elements": [
{
"elements": [
{
"correctAnswer": "Sie sind alle entweder politisch ausgesprochen links oder rechts angesiedelt und sie ziehen grosse Ver\u00e4nderungen nach sich.",
"isRequired": True,
"name": "question2",
"requiredErrorText": "Bitte beantworten Sie die Frage.",
"title": "Halten Sie fest, was die Entscheidungen, welche Sie angekreuzt haben, gemeinsam haben: ",
"type": "comment"
},
{
"correctAnswer": "In einer Konkordanzregierung sind mehrere Parteien vertreten, weshalb bei Entscheidungen immer ein Kompromiss bzw. ein Interessenausgleich gesucht werden muss. Weil in unserer Regierung neben einer Mittepartei sowohl linke als auch rechte Parteien vertreten sind, liegt der Kompromiss daher in der politischen Mitte.",
"isRequired": True,
"name": "question3",
"requiredErrorText": "Bitte beantworten Sie die Frage.",
"title": "Erkl\u00e4ren Sie anhand der Begriffe Kompromiss, Interessenausgleich und politische Mitte, weshalb Entscheidungen unserer Konkordanz-Regierung vom Volk und dem Parlament meistens akzeptiert werden, selbst wenn die linken und rechten Parteien damit nicht (ganz) zufrieden sind: ",
"type": "comment"
}
],
"name": "panel1",
"type": "panel"
}
],
"name": "Konkordanz-System2",
"title": "Konkordanz-System"
},
{
"elements": [
{
"elements": [
{
"choices": [
"Gleichheit resp. Gerechtigkeit durch Gleichheit",
"Wirtschaftlichkeit (Kosten-Nutzen-Verh\u00e4ltnis)",
"Ber\u00fccksichtigung regionaler Eigenheiten und B\u00fcrgerinnenn\u00e4he (b\u00fcrgernahe Probleml\u00f6sung)"
],
"correctAnswer": "Wirtschaftlichkeit (Kosten-Nutzen-Verh\u00e4ltnis)",
"isRequired": True,
"name": "question2",
"requiredErrorText": "Bitte beantworten Sie die Frage.",
"title": "Lehrpl\u00e4ne sollten vom Bund vorgegeben werden. Es kostet eine Menge Geld, wenn jeder Kanton seine eigenen Lehrmittel produzieren muss.",
"type": "radiogroup"
},
{
"choices": [
"Gleichheit resp. Gerechtigkeit durch Gleichheit",
"Wirtschaftlichkeit (Kosten-Nutzen-Verh\u00e4ltnis)",
"Ber\u00fccksichtigung regionaler Eigenheiten und B\u00fcrgerinnenn\u00e4he (b\u00fcrgernahe Probleml\u00f6sung)"
],
"correctAnswer": "Ber\u00fccksichtigung regionaler Eigenheiten und B\u00fcrgerinnenn\u00e4he (b\u00fcrgernahe Probleml\u00f6sung)",
"isRequired": True,
"name": "question3",
"requiredErrorText": "Bitte beantworten Sie die Frage.",
"title": "Gratis-Freizeitangebote sollten auf Gemeinde-Ebene organisiert werden, um den spezifischen Bed\u00fcrfnissen von St\u00e4dten, D\u00f6rfern und Quartieren gerecht zu werden.",
"type": "radiogroup"
}
],
"name": "Name dem Aufgaben",
"title": "Bestimmen Sie in der folgenden \u00dcbung, mit welchem Beurteilungskriterium jeweils argumentiert wird.",
"type": "panel"
}
],
"name": "Bundesstaat Schweiz1",
"title": "Bundesstaat Schweiz"
},
{
"elements": [
{
"elements": [
{
"choices": [
"Gleichheit resp. Gerechtigkeit durch Gleichheit",
"Wirtschaftlichkeit (Kosten-Nutzen-Verh\u00e4ltnis)",
"Ber\u00fccksichtigung regionaler Eigenheiten und B\u00fcrgerinnenn\u00e4he (b\u00fcrgernahe Probleml\u00f6sung)"
],
"correctAnswer": "Gleichheit resp. Gerechtigkeit durch Gleichheit",
"isRequired": True,
"name": "question4",
"requiredErrorText": "Bitte beantworten Sie die Frage.",
"title": "Das Strassennetz sollte auf Bundesebene finanziert werden, weil kleinere Kantone ihre Strassen unm\u00f6glich selber bezahlen k\u00f6nnten. Was dazu f\u00fchren w\u00fcrde, dass kleinere Kantone ein schlechteres Strassennetz h\u00e4tten als gr\u00f6ssere.",
"type": "radiogroup"
},
{
"choices": [
"Gleichheit resp. Gerechtigkeit durch Gleichheit",
"Wirtschaftlichkeit (Kosten-Nutzen-Verh\u00e4ltnis)",
"Ber\u00fccksichtigung regionaler Eigenheiten und B\u00fcrgerinnenn\u00e4he (b\u00fcrgernahe Probleml\u00f6sung)"
],
"correctAnswer": "Ber\u00fccksichtigung regionaler Eigenheiten und B\u00fcrgerinnenn\u00e4he (b\u00fcrgernahe Probleml\u00f6sung)",
"isRequired": True,
"name": "question5",
"requiredErrorText": "Bitte beantworten Sie die Frage.",
"title": "Kantone sollten die H\u00f6he der Sozialleistungen selber bestimmen d\u00fcrfen, weil die H\u00f6he der Lebenskosten von Region zu Region variiert.",
"type": "radiogroup"
},
{
"choices": [
"Gleichheit resp. Gerechtigkeit durch Gleichheit",
"Wirtschaftlichkeit (Kosten-Nutzen-Verh\u00e4ltnis)",
"Ber\u00fccksichtigung regionaler Eigenheiten und B\u00fcrgerinnenn\u00e4he (b\u00fcrgernahe Probleml\u00f6sung)"
],
"correctAnswer": "Gleichheit resp. Gerechtigkeit durch Gleichheit",
"isRequired": True,
"name": "question6",
"requiredErrorText": "Bitte beantworten Sie die Frage.",
"title": "Stipendien f\u00fcr Sch\u00fclerInnen und StudentInnen sollten schweizweit nach denselben Kriterien vergeben werden, damit niemand aufgrund seines Wohnortes benachteiligt wird.",
"type": "radiogroup"
}
],
"name": "panel1",
"title": "Bestimmen Sie in der folgenden \u00dcbung, mit welchem Beurteilungskriterium jeweils argumentiert wird.",
"type": "panel"
}
],
"name": "Bundesstaat Schweiz2",
"title": "Bundesstaat Schweiz"
}
],
"questionErrorLocation": "bottom",
"requiredText": "",
"sendResultOnPageNext": True,
"showProgressBar": "bottom",
"showQuestionNumbers": "off",
"title": "\u00dcbung"
}

View File

@ -0,0 +1,15 @@
from django.core.management import BaseCommand
from surveys.factories import SurveyFactory
from surveys.models import Survey
from .data.survey_data import sample_survey
class Command(BaseCommand):
def handle(self, *args, **options):
Survey.objects.all().delete()
survey = SurveyFactory.create(data=sample_survey)
# todo: create more surveys randomly?

View File

@ -0,0 +1,15 @@
from factory.django import DjangoModelFactory
import factory
from surveys.models import Survey
from faker import Faker
fake = Faker('de_CH')
class SurveyFactory(DjangoModelFactory):
class Meta:
model = Survey
title = factory.LazyAttribute(lambda x: fake.sentence(nb_words=3))
data = 'null'