from otree.api import * from otree.models import player doc = """ Your app description """ class C(BaseConstants): NAME_IN_URL = 'survey' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 # label_for_questions = "Sind Sie tendenziell dafür oder dagegen?" choices_for_item_questions = ["Dafür", "Dagegen", "Ist mir egal"] choices_for_AB_questions = ["A", "B", "Beide gleich gut"] class Group(BaseGroup): pass class Subsession(BaseSubsession): pass class Player(BasePlayer): count_coinsY = models.IntegerField(initial=0) count_coinsN = models.IntegerField(initial=0) mix_coinsY = models.IntegerField(initial=0) mix_coinsN = models.IntegerField(initial=0) mixf_coins = models.IntegerField(initial=0) like_speed_limit = models.StringField(label="Tempolimit auf 130 km/h auf Autobahnen festlegen", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) like_engine_ban = models.StringField(label="Verbot der klassischen Verbrennungsmotoren ab 2030 (außer E-fuels)", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) CSpeedLimitY = models.StringField(label="Maßnahme 1: Tempolimit auf 130 km/h auf Autobahnen festlegen
" "Maßnahme 2: Verbot der klassischen Verbrennungsmotoren ab 2030 " "(außer E-fuels)", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CSpeedLimitN = models.StringField(label="Maßnahme 1: Tempolimit auf 130 km/h auf Autobahnen festlegen
" "Maßnahme 2: Verbot der klassischen Verbrennungsmotoren ab 2030 " "(außer E-fuels)", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) like_charg_station = models.StringField(label="Ausbau der Ladesäulen Infrastruktur für E-Mobilität", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) like_e_fund = models.StringField(label="Einen „Fonds für Transformationszuschüsse“ einrichten, der Pendlerinnen " "und Pendlern mit niedrigem Einkommen beim Umstieg auf ein emissionsfreies " "Auto helfen soll", choices=["Dafür", "Dagegen", "Ist mir egal"], widget=widgets.RadioSelect, initial=0) CECarY = models.StringField(label="Maßnahme 1: Ausbau der Ladesäulen Infrastruktur für E-Mobilität
" "Maßnahme 2: Einen „Fonds für Transformationszuschüsse“ einrichten, " "der Pendlerinnen und Pendlern mit niedrigem Einkommen beim Umstieg auf ein " "emissionsfreies Auto helfen soll", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CECarN = models.StringField(label="Maßnahme 1: Ausbau der Ladesäulen Infrastruktur für E-Mobilität
" "Maßnahme 2: Einen „Fonds für Transformationszuschüsse“ einrichten, der " "Pendlerinnen und Pendlern mit niedrigem Einkommen beim Umstieg auf ein " "emissionsfreies Auto helfen soll", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) like_euro_ticket = models.StringField( label="Günstige Bahnfahrscheine nach dem Modell des „9 Euro Tickets“ einführen", choices=["Dafür", "Dagegen", "Ist mir egal"], widget=widgets.RadioSelect, initial=0) like_train_invest = models.StringField( label="Große staatliche Investitionen in die Bahninfrastruktur (Züge und Schienen) und den " "Börsengang der Bahn nicht umsetzen", choices=["Dafür", "Dagegen", "Ist mir egal"], widget=widgets.RadioSelect, initial=0) CTrainInvestY = models.StringField( label="Maßnahme 1: Günstige Bahnfahrscheine nach dem Modell des „9 Euro Tickets“ einführen / " "Maßnahme 2: Große staatliche Investitionen in die Bahninfrastruktur (Züge und Schienen) " "und den Börsengang der Bahn nicht umsetzen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CTrainInvestN = models.StringField( label="Maßnahme 1: Günstige Bahnfahrscheine nach dem Modell des „9 Euro Tickets“ einführen
" "Maßnahme 2: Große staatliche Investitionen in die Bahninfrastruktur (Züge und Schienen) " "und den Börsengang der Bahn nicht umsetzen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) like_women_quota = models.StringField(label="Frauenquote in allen deutschen börsennotierten Unternehmen einführen", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) like_child_care = models.StringField(label="Recht auf eine gebührenfreie öffentliche Kinderbetreuung", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) CWomenCareY = models.StringField( label="Maßnahme 1: Frauenquote in allen deutschen börsennotierten Unternehmen einführen
" "Maßnahme 2: Recht auf eine gebührenfreie öffentliche Kinderbetreuung", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CWomenCareN = models.StringField( label="Maßnahme 1: Frauenquote in allen deutschen börsennotierten Unternehmen einführen
" "Maßnahme 2: Recht auf eine gebührenfreie öffentliche Kinderbetreuung", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) like_manager_limit = models.StringField( label="Verbindliche Obergrenzen für Manager- und Vorstandsgehälter festlegen", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) like_manager_tax = models.StringField( label="Managergehälter oberhalb von 500.000 Euro nicht mehr als Betriebsausgaben steuerlich absetzbar zulassen", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) CManagerTaxY = models.StringField( label="Maßnahme 1: Verbindliche Obergrenzen für Manager- und Vorstandsgehälter festlegen
" "Maßnahme 2: Managergehälter oberhalb von 500.000 Euro nicht mehr als Betriebsausgaben " "steuerlich absetzbar zulassen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CManagerTaxN = models.StringField( label="Maßnahme 1: Verbindliche Obergrenzen für Manager- und Vorstandsgehälter festlegen
" "Maßnahme 2: Managergehälter oberhalb von 500.000 Euro nicht mehr als Betriebsausgaben " "steuerlich absetzbar zulassen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) like_inheritance_tax = models.StringField(label="Erbschaftssteuer erhöhen", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) like_wealth_tax = models.StringField(label="Vermögensteuer wieder einführen", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) CInheritanceWealthY = models.StringField(label="Maßnahme 1: Erbschaftssteuer erhöhen
" "Maßnahme 2: Vermögensteuer wieder einführen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CInheritanceWealthN = models.StringField(label="Maßnahme 1: Erbschaftssteuer erhöhen
" "Maßnahme 2: Vermögensteuer wieder einführen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) like_basic_taxallowance = models.StringField(label="Grundfreibetrag der Einkommensteuer erhöhen um kleine und " "mittlere Einkommen zu entlasten", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) like_top_tax = models.StringField(label="Spitzensteuersatz erhöhen", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) CBasicTaxY = models.StringField( label="Maßnahme 1: Grundfreibetrag der Einkommensteuer erhöhen um kleine und mittlere " "Einkommen zu entlasten
" "Maßnahme 2: Spitzensteuersatz erhöhen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect) CBasicTaxN = models.StringField(label="Maßnahme 1: Grundfreibetrag der Einkommensteuer erhöhen um kleine und " "mittlere Einkommen zu entlasten
Maßnahme 2: Spitzensteuersatz erhöhen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) like_migrant_social = models.StringField(label="Einfacheren Zugang zu Sozialleistungen für Geflüchtete ermöglichen", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) like_migrant_work = models.StringField(label="Zugang zu Arbeitsplätzen für Geflüchtete erleichtern", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) CMigrantWorkY = models.StringField( label="Maßnahme 1: Einfacheren Zugang zu Sozialleistungen für Geflüchtete ermöglichen
" "Maßnahme 2: Zugang zu Arbeitsplätzen für Geflüchtete erleichtern", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMigrantWorkN = models.StringField( label="Maßnahme 1: Einfacheren Zugang zu Sozialleistungen für Geflüchtete ermöglichen
" "Maßnahme 2: Zugang zu Arbeitsplätzen für Geflüchtete erleichtern", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) like_nuclear_out = models.StringField(label="Am Atomausstieg festhalten", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) like_coal_out = models.StringField(label="Kohleausstieg 2030 „vollenden“ (derzeit 2038)", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) CNuclearCoalY = models.StringField(label="Maßnahme 1: Am Atomausstieg festhalten
" "Maßnahme 2: Kohleausstieg 2030 „vollenden“ (derzeit 2038)", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CNuclearCoalN = models.StringField( label="Maßnahme 1: Am Atomausstieg festhalten
" "Maßnahme 2: Kohleausstieg 2030 „vollenden“ (derzeit 2038)", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) #Fragen Rechts: like_soli = models.StringField(label="Abschaffung des Solis für hohe Einkommen", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) like_high_income = models.StringField(label="Erhöhung der Einkommensgrenze ab der der Spitzensteuersatz greift", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) CSoliY = models.StringField(label="Maßnahme 1: Abschaffung des Solis für hohe Einkommen
" "Maßnahme 2: Erhöhung der Einkommensgrenze ab der der Spitzensteuersatz greift", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CSoliN = models.StringField( label="Maßnahme 1: Abschaffung des Solis für hohe Einkommen
" "Maßnahme 2: Erhöhung der Einkommensgrenze ab der der Spitzensteuersatz greift", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) like_car_promise = models.StringField(label="Versprechen an die deutsche Autoindustrie, allen Antriebsarten eine " "Zukunft zu erhalten", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) like_car_promotion = models.StringField(label="Staatliche Absatzförderung der Automobilindustrie in Deutschland", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) CCarPromiseY = models.StringField( label="Maßnahme 1: Versprechen an die deutsche Autoindustrie, allen Antriebsarten " "eine Zukunft zu erhalten
Maßnahme 2: Staatliche Absatzförderung der " "Automobilindustrie in Deutschland", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CCarPromiseN = models.StringField( label="Maßnahme 1: Versprechen an die deutsche Autoindustrie, allen Antriebsarten eine Zukunft zu " "erhalten
" "Maßnahme 2: Staatliche Absatzförderung der Automobilindustrie in Deutschland", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) like_data_storage = models.StringField(label="Regelung zur Speicherung und zum Abruf von Telefonnummern und " "IP-Adressen einführen (Vorratsdatenspeicherung)", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) like_police_presence = models.StringField(label="Mehr Polizeipräsenz, Videoüberwachung mit intelligenter Technik " "im öffentlichen Raum, automatisierte Gesichtserkennung und " "Gefährder-Haft einführen", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) CDataPoliceY = models.StringField(label="Maßnahme 1: Regelung zur Speicherung und zum Abruf von Telefonnummern " "und IP-Adressen einführen (Vorratsdatenspeicherung)
Maßnahme 2: " "Mehr Polizeipräsenz, Videoüberwachung mit intelligenter Technik im " "öffentlichen Raum, automatisierte Gesichtserkennung und Gefährder-Haft " "einführen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CDataPoliceN = models.StringField( label="Maßnahme 1: Regelung zur Speicherung und zum Abruf von Telefonnummern und IP-Adressen " "einführen (Vorratsdatenspeicherung)
Maßnahme 2: Mehr Polizeipräsenz, Videoüberwachung mit " "intelligenter Technik im öffentlichen Raum, automatisierte Gesichtserkennung und Gefährder-Haft " "einführen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) like_asylum_limit = models.StringField(label="Einführung einer jährlichen Obergrenze von Asylanträgen", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) like_dublin = models.StringField(label="Stellung von Asylanträgen nur in Ankunftsland in Europa erlauben " "(Dublin Verfahren)", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) CAsylumDublinY = models.StringField(label="Maßnahme 1: Einführung einer jährlichen Obergrenze von Asylanträgen " "
Maßnahme 2: Stellung von Asylanträgen nur in Ankunftsland in Europa" "erlauben (Dublin Verfahren)", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CAsylumDublinN = models.StringField( label="Maßnahme 1: Einführung einer jährlichen Obergrenze von Asylanträgen
Maßnahme 2: Stellung von " "Asylanträgen nur in Ankunftsland in Europa erlauben (Dublin Verfahren)" "einführen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) like_tax_cap = models.StringField(label="Keinen höheren Spitzensteuersatz und keine Vermögenssteuer einführen", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) like_social_cap = models.StringField(label="Sozialausgaben des Bundes deckeln", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) CCapY = models.StringField(label="Maßnahme 1: Keinen höheren Spitzensteuersatz und keine Vermögenssteuer " "einführen
Maßnahme 2: Sozialausgaben des Bundes deckeln", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CCapN = models.StringField(label="Maßnahme 1: Keinen höheren Spitzensteuersatz und keine Vermögenssteuer " "einführen
Maßnahme 2: Sozialausgaben des Bundes deckeln", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) like_comptax_eliminate = models.StringField(label="Gewerbesteuer abschaffen", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) like_comptax_percent = models.StringField(label="Unternehmenssteuern bei 25 Prozent deckeln", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) CComptaxY = models.StringField( label="Maßnahme 1:Gewerbesteuer abschaffen
Maßnahme 2: Unternehmenssteuern bei 25 " "Prozent deckeln", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CComptaxN = models.StringField( label="Maßnahme 1:Gewerbesteuer abschaffen
Maßnahme 2: Unternehmenssteuern bei 25 " "Prozent deckeln", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) like_co_price = models.StringField(label="CO2-Preis auf einen moderaten Anstieg deckeln", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) like_commute = models.StringField(label="Erhöhung der Pendlerpauschale angemessen zu Kraftstoffpreisen", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) CCommuteY = models.StringField( label="Maßnahme 1: CO2-Preis auf einen moderaten Anstieg deckeln
Maßnahme 2: Erhöhung der " "Pendlerpauschale angemessen zu Kraftstoffpreisen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CCommuteN = models.StringField( label="Maßnahme 1: CO2-Preis auf einen moderaten Anstieg deckeln
Maßnahme 2: Erhöhung der " "Pendlerpauschale angemessen zu Kraftstoffpreisen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) like_market = models.StringField(label="Klimaschutz (abgesehen von wenigen Ausnahmen) durch die Kräfte des " "Marktes erreichen, Aussetzen von Maßnahmen zur Emissionsvermeidung", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) like_certificates = models.StringField(label="EU-weiten Emissionshandel mit CO2-Zertifikaten einführen", choices=C.choices_for_item_questions, widget=widgets.RadioSelect, initial=0) CCertificatesY = models.StringField( label="Maßnahme 1: Klimaschutz (abgesehen von wenigen Ausnahmen) durch die Kräfte des Marktes erreichen, " "Aussetzen von Maßnahmen zur Emissionsvermeidung
Maßnahme 2: EU-weiten Emissionshandel mit " "CO2-Zertifikaten einführen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CCertificatesN = models.StringField( label="Maßnahme 1: Klimaschutz (abgesehen von wenigen Ausnahmen) durch die Kräfte des Marktes erreichen, " "Aussetzen von Maßnahmen zur Emissionsvermeidung
Maßnahme 2: EU-weiten Emissionshandel mit " "CO2-Zertifikaten einführen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) # gemischte Fragen Links CMix1Y = models.StringField(label="Maßnahme 1: Frauenquote in allen deutschen börsennotierten Unternehmen
" "Maßnahme 2: Tempolimit auf 130 km/h auf Autobahnen festlegen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix1N = models.StringField(label="Maßnahme 1: Frauenquote in allen deutschen börsennotierten Unternehmen
" "Maßnahme 2: Tempolimit auf 130 km/h auf Autobahnen festlegen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix2Y = models.StringField(label="Maßnahme 1: Verbot der klassischen Verbrennungsmotoren ab 2030 (außer E-fuels) " "
Maßnahme 2: Verbindliche Obergrenzen für Manager- " "und Vorstandsgehälter festlegen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix2N = models.StringField(label="Maßnahme 1: Verbot der klassischen Verbrennungsmotoren ab 2030 (außer E-fuels) " "
Maßnahme 2: Verbindliche Obergrenzen für Manager- " "und Vorstandsgehälter festlegen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix3Y = models.StringField(label="Maßnahme 1: Recht auf eine gebührenfreie öffentliche Kinderbetreuung" "
Maßnahme 2: Ausbau der Ladesäulen Infrastruktur für E-Mobilität ", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix3N = models.StringField(label="Maßnahme 1: Recht auf eine gebührenfreie öffentliche Kinderbetreuung" "
Maßnahme 2: Ausbau der Ladesäulen Infrastruktur für E-Mobilität ", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix4Y = models.StringField(label="Maßnahme 1: Einen „Fonds für Transformationszuschüsse“ einrichten, " "der Pendlerinnen und Pendlern mit niedrigem Einkommen beim Umstieg auf ein " "emissionsfreies Auto helfen soll
Maßnahme 2: Erbschaftssteuer erhöhen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix4N = models.StringField(label="Maßnahme 1: Einen „Fonds für Transformationszuschüsse“ einrichten, " "der Pendlerinnen und Pendlern mit niedrigem Einkommen beim Umstieg auf ein " "emissionsfreies Auto helfen soll
Maßnahme 2: Erbschaftssteuer erhöhen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix5Y = models.StringField(label="Maßnahme 1: Vermögensteuer wieder einführen
Maßnahme 2: Kohleausstieg " "2030 „vollenden“ (derzeit 2038)", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix5N = models.StringField(label="Maßnahme 1: Vermögensteuer wieder einführen
Maßnahme 2: Kohleausstieg " "2030 „vollenden“ (derzeit 2038)", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix6Y = models.StringField(label="Maßnahme 1: Managergehälter oberhalb von 500.000 Euro nicht mehr als " "Betriebsausgaben steuerlich absetzbar zulassen
Maßnahme 2: Günstige " "Bahnfahrscheine nach dem Modell des „9 Euro Tickets“ einführen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix6N = models.StringField(label="Maßnahme 1: Managergehälter oberhalb von 500.000 Euro nicht mehr als " "Betriebsausgaben steuerlich absetzbar zulassen
Maßnahme 2: Günstige " "Bahnfahrscheine nach dem Modell des „9 Euro Tickets“ einführen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix7Y = models.StringField(label="Maßnahme 1: Große staatliche Investitionen in die Bahninfrastruktur (Züge und " "Schienen) und den Börsengang der Bahn nicht umsetzen
Maßnahme 2: " "Grundfreibetrag der Einkommensteuer erhöhen um kleine und mittlere Einkommen " "zu entlasten", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix7N = models.StringField(label="Maßnahme 1: Große staatliche Investitionen in die Bahninfrastruktur (Züge und " "Schienen) und den Börsengang der Bahn nicht umsetzen
Maßnahme 2: " "Grundfreibetrag der Einkommensteuer erhöhen um kleine und mittlere Einkommen " "zu entlasten", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix8Y = models.StringField(label="Maßnahme 1: Einfacheren Zugang zu Sozialleistungen für Geflüchtete ermöglichen " "
Maßnahme 2: Am Atomausstieg festhalten", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix8N = models.StringField(label="Maßnahme 1: Einfacheren Zugang zu Sozialleistungen für Geflüchtete ermöglichen " "
Maßnahme 2: Am Atomausstieg festhalten", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix9Y = models.StringField(label="Maßnahme 1: Spitzensteuersatz erhöhen" "
Maßnahme 2: Zugang zu Arbeitsplätzen für Geflüchtete erleichtern ", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix9N = models.StringField(label="Maßnahme 1: Spitzensteuersatz erhöhen" "
Maßnahme 2: Zugang zu Arbeitsplätzen für Geflüchtete erleichtern ", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) # gemischte Fragen Rechts CMix10Y = models.StringField(label="Maßnahme 1: Erhöhung der Einkommensgrenze ab der der Spitzensteuersatz greift " "
Maßnahme 2: Versprechen an die deutsche Autoindustrie, " "allen Antriebsarten eine Zukunft zu erhalten", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix10N = models.StringField(label="Maßnahme 1: Erhöhung der Einkommensgrenze ab der der Spitzensteuersatz greift " "
Maßnahme 2: Versprechen an die deutsche Autoindustrie, " "allen Antriebsarten eine Zukunft zu erhalten", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix11Y = models.StringField(label="Maßnahme 1: Staatliche Absatzförderung der Automobilindustrie in Deutschland " "
Maßnahme 2: Regelung zur Speicherung und zum Abruf von Telefonnummern " "und IP-Adressen einführen (Vorratsdatenspeicherung)", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix11N = models.StringField(label="Maßnahme 1: Staatliche Absatzförderung der Automobilindustrie in Deutschland " "
Maßnahme 2: Regelung zur Speicherung und zum Abruf von Telefonnummern " "und IP-Adressen einführen (Vorratsdatenspeicherung)", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix12Y = models.StringField(label="Maßnahme 1: Abschaffung des Solis für hohe Einkommen
Maßnahme 2: Mehr " "Polizeipräsenz, Videoüberwachung mit intelligenter Technik im öffentlichen " "Raum, automatisierte Gesichtserkennung und Gefährder-Haft einführen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix12N = models.StringField(label="Maßnahme 1: Abschaffung des Solis für hohe Einkommen
Maßnahme 2: Mehr " "Polizeipräsenz, Videoüberwachung mit intelligenter Technik im öffentlichen " "Raum, automatisierte Gesichtserkennung und Gefährder-Haft einführen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix13Y = models.StringField(label="Maßnahme 1: Einführung einer jährlichen Obergrenze von Asylanträgen
" "Maßnahme 2: Erhöhung der Pendlerpauschale angemessen zu Kraftstoffpreisen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix13N = models.StringField(label="Maßnahme 1: Einführung einer jährlichen Obergrenze von Asylanträgen
" "Maßnahme 2: Erhöhung der Pendlerpauschale angemessen zu Kraftstoffpreisen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix14Y = models.StringField(label="Maßnahme 1: Stellung von Asylanträgen nur in Ankunftsland in Europa erlauben " "(Dublin Verfahren)
Maßnahme 2: Keinen höheren Spitzensteuersatz und " "keine Vermögenssteuer einführen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix14N = models.StringField(label="Maßnahme 1: Stellung von Asylanträgen nur in Ankunftsland in Europa erlauben " "(Dublin Verfahren)
Maßnahme 2: Keinen höheren Spitzensteuersatz und " "keine Vermögenssteuer einführen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix15Y = models.StringField(label="Maßnahme 1: Sozialausgaben des Bundes deckeln
Maßnahme 2: CO2-Preis auf " "einen moderaten Anstieg deckeln", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix15N = models.StringField(label="Maßnahme 1: Sozialausgaben des Bundes deckeln
Maßnahme 2: CO2-Preis auf " "einen moderaten Anstieg deckeln", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix16Y = models.StringField(label="Maßnahme 1: Gewerbesteuer abschaffen
Maßnahme 2: EU-weiten " "Emissionshandel mit CO2-Zertifikaten einführen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix16N = models.StringField(label="Maßnahme 1: Gewerbesteuer abschaffen
Maßnahme 2: EU-weiten " "Emissionshandel mit CO2-Zertifikaten einführen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix17Y = models.StringField(label="Maßnahme 1: Unternehmenssteuern bei 25 Prozent deckeln
Maßnahme 2: " "Klimaschutz (abgesehen von wenigen Ausnahmen) durch die Kräfte des Marktes " "erreichen, Aussetzen von Maßnahmen zur Emissionsvermeidung", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMix17N = models.StringField(label="Maßnahme 1: Unternehmenssteuern bei 25 Prozent deckeln
Maßnahme 2: " "Klimaschutz (abgesehen von wenigen Ausnahmen) durch die Kräfte des Marktes " "erreichen, Aussetzen von Maßnahmen zur Emissionsvermeidung", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMixF1 = models.StringField(label="Maßnahme 1: Tempolimit auf 130 km/h auf Autobahnen festlegen
Maßnahme 2: " "Abschaffung des Solis für hohe Einkommen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMixF2 = models.StringField(label="Maßnahme 1: Verbot der klassischen Verbrennungsmotoren ab 2030 (außer E-fuels) " "
Maßnahme 2: Erhöhung der Einkommensgrenze ab der der Spitzensteuersatz " "greift", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMixF3 = models.StringField(label="Maßnahme 1: Frauenquote in allen deutschen börsennotierten Unternehmen " "einführen
Maßnahme 2: Staatliche Absatzförderung der Automobilindustrie " "in Deutschland", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMixF4 = models.StringField(label="Maßnahme 1: Recht auf eine gebührenfreie öffentliche Kinderbetreuung
" "Maßnahme 2: Versprechen an die deutsche Autoindustrie, allen Antriebsarten " "eine Zukunft zu erhalten", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMixF5 = models.StringField(label="Maßnahme 1: Erbschaftssteuer erhöhen
Maßnahme 2: Mehr Polizeipräsenz, " "Videoüberwachung mit intelligenter Technik im öffentlichen Raum, " "automatisierte Gesichtserkennung und Gefährder-Haft einführen", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) CMixF6 = models.StringField(label="Maßnahme 1: Vermögensteuer wieder einführen
Maßnahme 2: Regelung zur " "Speicherung und zum Abruf von Telefonnummern und IP-Adressen einführen (" "Vorratsdatenspeicherung)", choices=C.choices_for_AB_questions, widget=widgets.RadioSelect, initial=0) # PAGES class Welcome(Page): form_model = "player" class SpeedLimit(Page): def is_displayed(player: Player): return player.count_coinsY < 3 or player.count_coinsN < 3 template_name = "_templates/global/ItemPage.html" form_fields = ["like_speed_limit"] form_model = "player" class EngineBan(Page): def is_displayed(player: Player): return (player.count_coinsY < 3 or player.count_coinsN < 3) and player.like_speed_limit != "Ist mir egal" template_name = "_templates/global/ItemPage.html" form_fields = ["like_engine_ban"] form_model = "player" class ABSpeedLimitY(Page): template_name = "_templates/global/ABPage.html" form_fields = ["CSpeedLimitY"] form_model = "player" def is_displayed(player: Player): return player.count_coinsY < 3 and player.like_speed_limit == "Dafür" and player.like_engine_ban == "Dafür" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsY = player.count_coinsY + 1 class ABSpeedLimitN(Page): template_name = "_templates/global/ABPage.html" form_fields = ["CSpeedLimitN"] form_model = "player" def is_displayed(player: Player): return player.count_coinsN < 3 and player.like_speed_limit == "Dagegen" and player.like_engine_ban == "Dagegen" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsN = player.count_coinsN + 1 class ChargStation(Page): def is_displayed(player: Player): return player.count_coinsY < 3 or player.count_coinsN < 3 template_name = "_templates/global/ItemPage.html" form_fields = ["like_charg_station"] form_model = "player" class EFund(Page): def is_displayed(player: Player): return (player.count_coinsY < 3 or player.count_coinsN < 3) and player.like_charg_station != "Ist mir egal" template_name = "_templates/global/ItemPage.html" form_fields = ["like_e_fund"] form_model = "player" class ABECarY(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsY < 3 and player.like_charg_station == "Dafür" and player.like_e_fund == "Dafür" form_fields = ["CECarY"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsY = player.count_coinsY + 1 class ABECarN(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsN < 3 and player.like_charg_station == "Dagegen" and player.like_e_fund == "Dagegen" form_fields = ["CECarN"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsN = player.count_coinsN + 1 class EuroTicket(Page): def is_displayed(player: Player): return player.count_coinsY < 3 or player.count_coinsN < 3 template_name = "_templates/global/ItemPage.html" form_fields = ["like_euro_ticket"] form_model = "player" class TrainInvest(Page): def is_displayed(player: Player): return (player.count_coinsY < 3 or player.count_coinsN < 3) and player.like_euro_ticket != "Ist mir egal" template_name = "_templates/global/ItemPage.html" form_fields = ["like_train_invest"] form_model = "player" class ABTrainInvestY(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsY < 3 and player.like_euro_ticket == "Dafür" and player.like_train_invest == "Dafür" form_fields = ["CTrainInvestY"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsY = player.count_coinsY + 1 class ABTrainInvestN(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsN < 3 and player.like_euro_ticket == "Dagegen" and player.like_train_invest == "Dagegen" form_fields = ["CTrainInvestN"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsN = player.count_coinsN + 1 class WomenQuota(Page): def is_displayed(player: Player): return player.count_coinsY < 3 or player.count_coinsN < 3 template_name = "_templates/global/ItemPage.html" form_fields = ["like_women_quota"] form_model = "player" class ChildCare(Page): def is_displayed(player: Player): return (player.count_coinsY < 3 or player.count_coinsN < 3) and player.like_women_quota != "Ist mir egal" template_name = "_templates/global/ItemPage.html" form_fields = ["like_child_care"] form_model = "player" class ABWomenCareY(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsY < 3 and player.like_women_quota == "Dafür" and player.like_child_care == "Dafür" form_fields = ["CWomenCareY"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsY = player.count_coinsY + 1 class ABWomenCareN(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsN < 3 and player.like_women_quota == "Dagegen" and player.like_child_care == "Dagegen" form_fields = ["CWomenCareN"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsN = player.count_coinsN + 1 class ManagerLimit(Page): def is_displayed(player: Player): return player.count_coinsY < 3 or player.count_coinsN < 3 template_name = "_templates/global/ItemPage.html" form_fields = ["like_manager_limit"] form_model = "player" class ManagerTax(Page): def is_displayed(player: Player): return (player.count_coinsY < 3 or player.count_coinsN < 3) and player.like_manager_limit != "Ist mir egal" template_name = "_templates/global/ItemPage.html" form_fields = ["like_manager_tax"] form_model = "player" class ABManagerTaxY(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsY < 3 and player.like_manager_limit == "Dafür" and player.like_manager_tax == "Dafür" form_fields = ["CManagerTaxY"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsY = player.count_coinsY + 1 class ABManagerTaxN(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsN < 3 and player.like_manager_limit == "Dagegen" and player.like_manager_tax == "Dagegen" form_fields = ["CManagerTaxN"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsN = player.count_coinsN + 1 class InheritanceTax(Page): def is_displayed(player: Player): return player.count_coinsY < 3 or player.count_coinsN < 3 template_name = "_templates/global/ItemPage.html" form_fields = ["like_inheritance_tax"] form_model = "player" class WealthTax(Page): def is_displayed(player: Player): return (player.count_coinsY < 3 or player.count_coinsN < 3) and player.like_inheritance_tax != "Ist mir egal" template_name = "_templates/global/ItemPage.html" form_fields = ["like_wealth_tax"] form_model = "player" class ABInheritanceWealthY(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsY < 3 and player.like_inheritance_tax == "Dafür" and player.like_wealth_tax == "Dafür" form_fields = ["CInheritanceWealthY"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsY = player.count_coinsY + 1 class ABInheritanceWealthN(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsN < 3 and player.like_inheritance_tax == "Dagegen" and player.like_wealth_tax == "Dagegen" form_fields = ["CInheritanceWealthN"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsN = player.count_coinsN + 1 class BasicTaxallowance(Page): def is_displayed(player: Player): return player.count_coinsY < 3 or player.count_coinsN < 3 template_name = "_templates/global/ItemPage.html" form_fields = ["like_basic_taxallowance"] form_model = "player" class TopTax(Page): def is_displayed(player: Player): return (player.count_coinsY < 3 or player.count_coinsN < 3) and player.like_basic_taxallowance != "Ist mir egal" template_name = "_templates/global/ItemPage.html" form_fields = ["like_top_tax"] form_model = "player" class ABBasicTaxY(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsY < 3 and player.like_basic_taxallowance == "Dafür" and player.like_top_tax == "Dafür" form_fields = ["CBasicTaxY"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsY = player.count_coinsY + 1 class ABBasicTaxN(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsN < 3 and player.like_basic_taxallowance == "Dagegen" and player.like_top_tax == "Dagegen" form_fields = ["CBasicTaxN"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsN = player.count_coinsN + 1 class MigrantSocial(Page): def is_displayed(player: Player): return player.count_coinsY < 3 or player.count_coinsN < 3 template_name = "_templates/global/ItemPage.html" form_fields = ["like_migrant_social"] form_model = "player" class MigrantWork(Page): def is_displayed(player: Player): return (player.count_coinsY < 3 or player.count_coinsN < 3) and player.like_migrant_social != "Ist mir egal" template_name = "_templates/global/ItemPage.html" form_fields = ["like_migrant_work"] form_model = "player" class ABMigrantWorkY(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsY < 3 and player.like_migrant_social == "Dafür" and player.like_migrant_work == "Dafür" form_fields = ["CMigrantWorkY"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsY = player.count_coinsY + 1 class ABMigrantWorkN(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsN < 3 and player.like_migrant_social == "Dagegen" and player.like_migrant_work == "Dagegen" form_fields = ["CMigrantWorkN"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsN = player.count_coinsN + 1 class NuclearOut(Page): def is_displayed(player: Player): return player.count_coinsY < 3 or player.count_coinsN < 3 template_name = "_templates/global/ItemPage.html" form_fields = ["like_nuclear_out"] form_model = "player" class CoalOut(Page): def is_displayed(player: Player): return (player.count_coinsY < 3 or player.count_coinsN < 3) and player.like_nuclear_out != "Ist mir egal" template_name = "_templates/global/ItemPage.html" form_fields = ["like_coal_out"] form_model = "player" class ABNuclearCoalY(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsY < 3 and player.like_nuclear_out == "Dafür" and player.like_coal_out == "Dafür" form_fields = ["CNuclearCoalY"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsY = player.count_coinsY + 1 class ABNuclearCoalN(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsN < 3 and player.like_nuclear_out == "Dagegen" and player.like_coal_out == "Dagegen" form_fields = ["CNuclearCoalN"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsN = player.count_coinsN + 1 class Soli(Page): def is_displayed(player: Player): return player.count_coinsY < 3 or player.count_coinsN < 3 template_name = "_templates/global/ItemPage.html" form_fields = ["like_soli"] form_model = "player" class HighIncome(Page): def is_displayed(player: Player): return (player.count_coinsY < 3 or player.count_coinsN < 3) and player.like_soli != "Ist mir egal" template_name = "_templates/global/ItemPage.html" form_fields = ["like_high_income"] form_model = "player" class ABSoliY(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsY < 3 and player.like_soli == "Dafür" and player.like_high_income == "Dafür" form_fields = ["CNuclearCoalY"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsY = player.count_coinsY + 1 class ABSoliN(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsN < 3 and player.like_soli == "Dagegen" and player.like_high_income == "Dagegen" form_fields = ["CSoliN"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsN = player.count_coinsN + 1 class CarPromise(Page): def is_displayed(player: Player): return player.count_coinsY < 3 or player.count_coinsN < 3 template_name = "_templates/global/ItemPage.html" form_fields = ["like_car_promise"] form_model = "player" class CarPromotion(Page): def is_displayed(player: Player): return (player.count_coinsY < 3 or player.count_coinsN < 3) and player.like_car_promise != "Ist mir egal" template_name = "_templates/global/ItemPage.html" form_fields = ["like_car_promotion"] form_model = "player" class ABCarPromiseY(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsY < 3 and player.like_car_promise == "Dafür" and player.like_car_promotion == "Dafür" form_fields = ["CCarPromiseY"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsY = player.count_coinsY + 1 class ABCarPromiseN(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsN < 3 and player.like_car_promise == "Dagegen" and player.like_car_promotion == "Dagegen" form_fields = ["CCarPromiseN"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsN = player.count_coinsN + 1 class DataStorage(Page): def is_displayed(player: Player): return player.count_coinsY < 3 or player.count_coinsN < 3 template_name = "_templates/global/ItemPage.html" form_fields = ["like_data_storage"] form_model = "player" class PolicePresence(Page): def is_displayed(player: Player): return (player.count_coinsY < 3 or player.count_coinsN < 3) and player.like_data_storage != "Ist mir egal" template_name = "_templates/global/ItemPage.html" form_fields = ["like_police_presence"] form_model = "player" class ABDataPoliceY(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsY < 3 and player.like_data_storage == "Dafür" and player.like_police_presence == "Dafür" form_fields = ["CDataPoliceY"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsY = player.count_coinsY + 1 class ABDataPoliceN(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsN < 3 and player.like_data_storage == "Dagegen" and player.like_police_presence == "Dagegen" form_fields = ["CDataPoliceN"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsN = player.count_coinsN + 1 class AsylumLimit(Page): def is_displayed(player: Player): return player.count_coinsY < 3 or player.count_coinsN < 3 template_name = "_templates/global/ItemPage.html" form_fields = ["like_asylum_limit"] form_model = "player" class Dublin(Page): def is_displayed(player: Player): return (player.count_coinsY < 3 or player.count_coinsN < 3) and player.like_asylum_limit != "Ist mir egal" template_name = "_templates/global/ItemPage.html" form_fields = ["like_dublin"] form_model = "player" class ABAsylumDublinY(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsY < 3 and player.like_asylum_limit == "Dafür" and player.like_dublin == "Dafür" form_fields = ["CAsylumDublinY"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsY = player.count_coinsY + 1 class ABAsylumDublinN(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsN < 3 and player.like_asylum_limit == "Dagegen" and player.like_dublin == "Dagegen" form_fields = ["CAsylumDublinN"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsN = player.count_coinsN + 1 class TaxCap(Page): def is_displayed(player: Player): return player.count_coinsY < 3 or player.count_coinsN < 3 template_name = "_templates/global/ItemPage.html" form_fields = ["like_tax_cap"] form_model = "player" class SocialCap(Page): def is_displayed(player: Player): return (player.count_coinsY < 3 or player.count_coinsN < 3) and player.like_tax_cap != "Ist mir egal" template_name = "_templates/global/ItemPage.html" form_fields = ["like_social_cap"] form_model = "player" class ABCapY(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsY < 3 and player.like_tax_cap == "Dafür" and player.like_social_cap == "Dafür" form_fields = ["CCapY"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsY = player.count_coinsY + 1 class ABCapN(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsN < 3 and player.like_tax_cap == "Dagegen" and player.like_social_cap == "Dagegen" form_fields = ["CCapN"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsN = player.count_coinsN + 1 class ComptaxEliminate(Page): def is_displayed(player: Player): return player.count_coinsY < 3 or player.count_coinsN < 3 template_name = "_templates/global/ItemPage.html" form_fields = ["like_comptax_eliminate"] form_model = "player" class ComptaxPercent(Page): def is_displayed(player: Player): return (player.count_coinsY < 3 or player.count_coinsN < 3) and player.like_comptax_eliminate != "Ist mir egal" template_name = "_templates/global/ItemPage.html" form_fields = ["like_comptax_percent"] form_model = "player" class ABComptaxY(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsY < 3 and player.like_comptax_eliminate == "Dafür" and player.like_comptax_percent == "Dafür" form_fields = ["CComptaxY"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsY = player.count_coinsY + 1 class ABComptaxN(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsN < 3 and player.like_comptax_eliminate == "Dagegen" and player.like_comptax_percent == "Dagegen" form_fields = ["CComptaxN"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsN = player.count_coinsN + 1 class CoPrice(Page): def is_displayed(player: Player): return player.count_coinsY < 3 or player.count_coinsN < 3 template_name = "_templates/global/ItemPage.html" form_fields = ["like_co_price"] form_model = "player" class Commute(Page): def is_displayed(player: Player): return (player.count_coinsY < 3 or player.count_coinsN < 3) and player.like_co_price != "Ist mir egal" template_name = "_templates/global/ItemPage.html" form_fields = ["like_commute"] form_model = "player" class ABCommuteY(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsY < 3 and player.like_co_price == "Dafür" and player.like_commute == "Dafür" form_fields = ["CCommuteY"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsY = player.count_coinsY + 1 class ABCommuteN(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsN < 3 and player.like_co_price == "Dagegen" and player.like_commute == "Dagegen" form_fields = ["CCommuteN"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsN = player.count_coinsN + 1 class Market(Page): def is_displayed(player: Player): return player.count_coinsY < 3 or player.count_coinsN < 3 template_name = "_templates/global/ItemPage.html" form_fields = ["like_market"] form_model = "player" class Certificates(Page): def is_displayed(player: Player): return (player.count_coinsY < 3 or player.count_coinsN < 3) and player.like_market != "Ist mir egal" template_name = "_templates/global/ItemPage.html" form_fields = ["like_certificates"] form_model = "player" class ABCertificatesY(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsY < 3 and player.like_market == "Dafür" and player.like_certificates == "Dafür" form_fields = ["CCertificatesY"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsY = player.count_coinsY + 1 class ABCertificatesN(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.count_coinsN < 3 and player.like_market == "Dagegen" and player.like_certificates == "Dagegen" form_fields = ["CCertificatesN"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.count_coinsN = player.count_coinsN + 1 class ABMix1Y(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsY < 2 and player.like_women_quota == "Dafür" and player.like_speed_limit == "Dafür" form_fields = ["CMix1Y"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsY = player.mix_coinsY + 1 class ABMix1N(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsN < 2 and player.like_women_quota == "Dagegen" and player.like_speed_limit == "Dagegen" form_fields = ["CMix1N"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsN = player.mix_coinsN + 1 class ABMix2Y(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsY < 2 and player.like_engine_ban == "Dafür" and player.like_manager_limit == "Dafür" form_fields = ["CMix2Y"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsY = player.mix_coinsY + 1 class ABMix2N(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsN < 2 and player.like_engine_ban == "Dagegen" and player.like_manager_limit == "Dagegen" form_fields = ["CMix2N"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsN = player.mix_coinsN + 1 class ABMix3Y(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsY < 2 and player.like_charg_station == "Dafür" and player.like_child_care == "Dafür" form_fields = ["CMix3Y"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsY = player.mix_coinsY + 1 class ABMix3N(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsN < 2 and player.like_charg_station == "Dagegen" and player.like_child_care == "Dagegen" form_fields = ["CMix3N"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsN = player.mix_coinsN + 1 class ABMix4Y(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsY < 2 and player.like_e_fund == "Dafür" and player.like_inheritance_tax == "Dafür" form_fields = ["CMix4Y"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsY = player.mix_coinsY + 1 class ABMix4N(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsN < 2 and player.like_e_fund == "Dagegen" and player.like_inheritance_tax == "Dagegen" form_fields = ["CMix4N"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsN = player.mix_coinsN + 1 class ABMix5Y(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsY < 2 and player.like_wealth_tax == "Dafür" and player.like_coal_out == "Dafür" form_fields = ["CMix5Y"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsY = player.mix_coinsY + 1 class ABMix5N(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsN < 2 and player.like_wealth_tax == "Dagegen" and player.like_coal_out == "Dagegen" form_fields = ["CMix5N"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsN = player.mix_coinsN + 1 class ABMix6Y(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsY < 2 and player.like_manager_tax == "Dafür" and player.like_euro_ticket == "Dafür" form_fields = ["CMix6Y"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsY = player.mix_coinsY + 1 class ABMix6N(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsN < 2 and player.like_manager_tax == "Dagegen" and player.like_euro_ticket == "Dagegen" form_fields = ["CMix6N"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsN = player.mix_coinsN + 1 class ABMix7Y(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsY < 2 and player.like_basic_taxallowance == "Dafür" and player.like_train_invest == "Dafür" form_fields = ["CMix7Y"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsY = player.mix_coinsY + 1 class ABMix7N(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsN < 2 and player.like_basic_taxallowance == "Dagegen" and player.like_train_invest == "Dagegen" form_fields = ["CMix7N"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsN = player.mix_coinsN + 1 class ABMix8Y(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsY < 2 and player.like_migrant_social == "Dafür" and player.like_nuclear_out == "Dafür" form_fields = ["CMix8Y"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsY = player.mix_coinsY + 1 class ABMix8N(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsN < 2 and player.like_migrant_social == "Dagegen" and player.like_nuclear_out == "Dagegen" form_fields = ["CMix8N"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsN = player.mix_coinsN + 1 class ABMix9Y(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsY < 2 and player.like_top_tax == "Dafür" and player.like_migrant_work == "Dafür" form_fields = ["CMix9Y"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsY = player.mix_coinsY + 1 class ABMix9N(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsN < 2 and player.like_top_tax == "Dagegen" and player.like_migrant_work == "Dagegen" form_fields = ["CMix9N"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsN = player.mix_coinsN + 1 class ABMix10Y(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsY < 2 and player.like_high_income == "Dafür" and player.like_car_promise == "Dafür" form_fields = ["CMix10Y"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsY = player.mix_coinsY + 1 class ABMix10N(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsN < 2 and player.like_high_income == "Dagegen" and player.like_car_promise == "Dagegen" form_fields = ["CMix10N"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsN = player.mix_coinsN + 1 class ABMix11Y(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsY < 2 and player.like_car_promotion == "Dafür" and player.like_data_storage == "Dafür" form_fields = ["CMix11Y"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsY = player.mix_coinsY + 1 class ABMix11N(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsN < 2 and player.like_car_promotion == "Dagegen" and player.like_data_storage == "Dagegen" form_fields = ["CMix11N"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsN = player.mix_coinsN + 1 class ABMix12Y(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsY < 2 and player.like_soli == "Dafür" and player.like_police_presence == "Dafür" form_fields = ["CMix12Y"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsY = player.mix_coinsY + 1 class ABMix12N(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsN < 2 and player.like_soli == "Dagegen" and player.like_police_presence == "Dagegen" form_fields = ["CMix12N"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsN = player.mix_coinsN + 1 class ABMix13Y(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsY < 2 and player.like_asylum_limit == "Dafür" and player.like_commute == "Dafür" form_fields = ["CMix13Y"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsY = player.mix_coinsY + 1 class ABMix13N(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsN < 2 and player.like_asylum_limit == "Dagegen" and player.like_commute == "Dagegen" form_fields = ["CMix13N"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsN = player.mix_coinsN + 1 class ABMix14Y(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsY < 2 and player.like_tax_cap == "Dafür" and player.like_dublin == "Dafür" form_fields = ["CMix14Y"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsY = player.mix_coinsY + 1 class ABMix14N(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsN < 2 and player.like_tax_cap == "Dagegen" and player.like_dublin == "Dagegen" form_fields = ["CMix14N"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsN = player.mix_coinsN + 1 class ABMix15Y(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsY < 2 and player.like_co_price == "Dafür" and player.like_social_cap == "Dafür" form_fields = ["CMix15Y"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsY = player.mix_coinsY + 1 class ABMix15N(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsN < 2 and player.like_co_price == "Dagegen" and player.like_social_cap == "Dagegen" form_fields = ["CMix15N"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsN = player.mix_coinsN + 1 class ABMix16Y(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsY < 2 and player.like_comptax_eliminate == "Dafür" and player.like_certificates == "Dafür" form_fields = ["CMix16Y"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsY = player.mix_coinsY + 1 class ABMix16N(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsN < 2 and player.like_comptax_eliminate == "Dagegen" and player.like_certificates == "Dagegen" form_fields = ["CMix16N"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsN = player.mix_coinsN + 1 class ABMix17Y(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsY < 2 and player.like_market == "Dafür" and player.like_comptax_percent == "Dafür" form_fields = ["CMix17Y"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsY = player.mix_coinsY + 1 class ABMix17N(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return player.mix_coinsN < 2 and player.like_comptax_percent == "Dagegen" and player.like_market == "Dagegen" form_fields = ["CMix17N"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mix_coinsN = player.mix_coinsN + 1 class ABMixF1(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return (player.like_speed_limit == "Dafür" and player.like_soli == "Dagegen") or (player.like_speed_limit == "Dagegen" and player.like_soli == "Dafür") form_fields = ["CMixF1"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mixf_coins = player.mixf_coins + 1 class ABMixF2(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return (player.like_engine_ban == "Dafür" and player.like_high_income == "Dagegen") or (player.like_engine_ban == "Dagegen" and player.like_high_income == "Dafür") form_fields = ["CMixF2"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mixf_coins = player.mixf_coins + 1 class ABMixF3(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return (player.like_car_promotion == "Dafür" and player.like_women_quota == "Dagegen") or (player.like_car_promotion == "Dagegen" and player.like_women_quota == "Dafür") and player.mixf_coins < 2 form_fields = ["CMixF3"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mixf_coins = player.mixf_coins + 1 class ABMixF4(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return (player.like_car_promise == "Dafür" and player.like_child_care == "Dagegen") or (player.like_car_promise == "Dagegen" and player.like_child_care == "Dafür") and player.mixf_coins < 2 form_fields = ["CMixF4"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mixf_coins = player.mixf_coins + 1 class ABMixF5(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return (player.like_inheritance_tax == "Dafür" and player.like_police_presence == "Dagegen") \ or (player.like_inheritance_tax == "Dagegen" and player.like_police_presence == "Dafür") \ and player.mixf_coins < 2 form_fields = ["CMixF5"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mixf_coins = player.mixf_coins + 1 class ABMixF6(Page): template_name = "_templates/global/ABPage.html" def is_displayed(player: Player): return (player.like_wealth_tax == "Dafür" and player.like_data_storage == "Dagegen") or (player.like_wealth_tax == "Dagegen" and player.like_data_storage == "Dafür") and player.mixf_coins < 2 form_fields = ["CMixF6"] form_model = "player" @staticmethod def before_next_page(player: Player, timeout_happened): player.mixf_coins = player.mixf_coins + 1 class ThankYou(Page): form_model = "player" page_sequence = [Welcome, SpeedLimit, EngineBan, ABSpeedLimitY, ABSpeedLimitN, WomenQuota, ChildCare, ABWomenCareY, ABWomenCareN, Soli, HighIncome, ABSoliY, ABSoliN, CarPromise, CarPromotion, ABCarPromiseY, ABCarPromiseN, InheritanceTax, WealthTax, ABInheritanceWealthY, ABInheritanceWealthN, DataStorage, PolicePresence, ABDataPoliceY, ABDataPoliceN, ChargStation, EFund, ABECarY, ABECarN, AsylumLimit, Dublin, ABAsylumDublinY, ABAsylumDublinN, ManagerLimit, ManagerTax, ABManagerTaxY, ABManagerTaxN, TaxCap, SocialCap, ABCapY, ABCapN, EuroTicket, TrainInvest, ABTrainInvestY, ABTrainInvestN, ComptaxEliminate, ComptaxPercent, ABComptaxY, ABComptaxN, BasicTaxallowance, TopTax, ABBasicTaxY, ABBasicTaxN, CoPrice, Commute, ABCommuteY, ABCommuteN, MigrantSocial, MigrantWork, ABMigrantWorkY, ABMigrantWorkN, Market, Certificates, ABCertificatesY, ABCertificatesN, NuclearOut, CoalOut, ABNuclearCoalY, ABNuclearCoalN, ABMix1Y, ABMix1N, ABMix2Y, ABMix2N, ABMix3Y, ABMix3N, ABMix4Y, ABMix4N, ABMix5Y, ABMix5N, ABMix6Y, ABMix6N, ABMix7Y, ABMix7N, ABMix8Y, ABMix8N, ABMix9Y, ABMix9N, ABMix10Y, ABMix10N, ABMix11Y, ABMix11N, ABMix12Y, ABMix12N, ABMix13Y, ABMix13N, ABMix14Y, ABMix14N, ABMix15Y, ABMix15N, ABMix16Y, ABMix16N, ABMix17Y, ABMix17N, ABMixF1, ABMixF2, ABMixF3, ABMixF4, ABMixF5, ABMixF6, ThankYou]