from otree.api import Currency as c, currency_range, safe_json from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants, Player class Welcome(Page): form_model = Player form_fields = ['device_type', 'operating_system', 'browser', 'screen_width', 'screen_height', 'time_start','lang'] class GenderAge(Page): def vars_for_template(self): return {'lang': self.player.lang} form_model = Player form_fields = ['age', 'gender', 'time_genderage'] class StudentInteractions(Page): def vars_for_template(self): return {'lang': self.player.lang} form_model = Player form_fields = {'email_student', 'email_student_number', 'email_student_frequency', 'whatsapp_student', 'whatsapp_student_number', 'whatsapp_student_frequency', 'telephone_student', 'telephone_student_number', 'telephone_student_frequency', 'zoom_student', 'zoom_student_number', 'zoom_student_frequency', 'personal_student', 'personal_student_number', 'personal_student_frequency', 'time_studentinteractions'} class ConjointPackages(Page): def vars_for_template(self): return {'randomnumber_vl_1': self.player.randomnumber_vl_1, 'randomnumber_vl_2': self.player.randomnumber_vl_2, 'randomnumber_tut_1': self.player.randomnumber_tut_1, 'randomnumber_tut_2': self.player.randomnumber_tut_2, 'randomnumber_ex_1': self.player.randomnumber_ex_1, 'randomnumber_ex_2': self.player.randomnumber_ex_2, 'lang':self.player.lang } form_model = Player form_fields = ['choice_package_corona', 'choice_package_no_corona', 'time_conjoint'] class ExpectedGrade(Page): def vars_for_template(self): return {'lang': self.player.lang} form_model = Player form_fields = ['grade', 'time_expected_grade'] class ScaloParty(Page): def vars_for_template(self): return {'lang': self.player.lang} form_model = Player form_fields = ['scalo_cdu', 'scalo_csu', 'scalo_spd', 'scalo_gruene', 'scalo_fdp', 'scalo_linke', 'scalo_afd', 'time_scaloparty'] class ScaloPerson(Page): def vars_for_template(self): return {'lang': self.player.lang} form_model = Player form_fields = ['scalo_pep1', 'scalo_pep2', 'scalo_pep3', 'scalo_pep4', 'scalo_pep5', 'scalo_pep6', 'scalo_pep7', 'scalo_pep8', 'scalo_pep9', 'scalo_pep10', 'scalo_pep11', 'scalo_pep12', 'scalo_pep13', 'time_scaloperson'] class LeftRight(Page): def vars_for_template(self): return {'lang': self.player.lang} form_model = Player form_fields = ['lr_CDU', 'lr_CSU', 'lr_SPD', 'lr_Gruene', 'lr_FDP', 'lr_Linke', 'lr_AfD', 'lr_self', 'time_leftright'] class VoteParticipation(Page): def vars_for_template(self): return {'lang': self.player.lang} form_model = Player form_fields = ['sunday_question', 'sunday_question_uni', 'time_voteparticipation'] class PoliticalQuestions(Page): def vars_for_template(self): return {'lang':self.player.lang} form_model = Player form_fields = ['question_one', 'question_two', 'question_three', 'question_four', 'question_five', 'question_six', 'question_seven','time_political_qs'] class Postcode(Page): def vars_for_template(self): return {'lang': self.player.lang} form_model = Player form_fields = ['postcode','time_postcode'] class Matriculationnumber(Page): def vars_for_template(self): return {'lang': self.player.lang} form_model = Player form_fields = ['matriculationnr','time_matriculationnr'] class RandomNumber(Page): def vars_for_template(self): return {'rnumber': safe_json(self.player.rnumber), 'lang': self.player.lang} form_model = Player form_fields = ['rnumbercheck','time_rnumber'] class FirstEndPage(Page): def vars_for_template(self): return {'lang': self.player.lang} form_model = Player form_fields = ['time_firstendpage'] class End(Page): def vars_for_template(self): return {'lang': self.player.lang} form_model = Player form_fields = ['time_endpage'] page_sequence = [Welcome, GenderAge, StudentInteractions, ConjointPackages, ExpectedGrade, ScaloParty, ScaloPerson, LeftRight, VoteParticipation, PoliticalQuestions, Postcode, Matriculationnumber, RandomNumber, FirstEndPage, End]