# coding=utf-8 from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) from otree_tools.models import fields as tool_models from django import forms import csv import random from otreeutils.surveys import generate_likert_field author = 'Team Chemistry' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'team_chemistry' players_per_group = None belbin_title = ['Что я могу предложить команде:', 'Что характеризует меня как члена команды:', 'Когда я работаю с другими над проектом:', 'Мое отношение к групповой работе:', 'Я чувствую удовлетворение от работы, потому что:', 'Когда задание трудное и незнакомое:', 'Проблемы, возникающие при работе в группах:'] with open('team_chemistry/tests_belbin_1.csv') as questions_file: belbin1_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_belbin_2.csv') as questions_file: belbin2_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_belbin_3.csv') as questions_file: belbin3_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_belbin_4.csv') as questions_file: belbin4_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_belbin_5.csv') as questions_file: belbin5_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_belbin_6.csv') as questions_file: belbin6_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_belbin_7.csv') as questions_file: belbin7_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_mmpi.csv') as questions_file: mmpi_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_cattell.csv') as questions_file: cattell_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_myers_briggs.csv') as questions_file: myers_briggs_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_kilmann.csv') as questions_file: kilmann_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_adizes_1.csv') as questions_file: adizes1_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_adizes_2.csv') as questions_file: adizes2_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_adizes_3.csv') as questions_file: adizes3_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_adizes_4.csv') as questions_file: adizes4_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_adizes_5.csv') as questions_file: adizes5_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_adizes_6.csv') as questions_file: adizes6_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_adizes_7.csv') as questions_file: adizes7_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_adizes_8.csv') as questions_file: adizes8_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_adizes_9.csv') as questions_file: adizes9_questions = list(csv.DictReader(questions_file)) with open('team_chemistry/tests_adizes_10.csv') as questions_file: adizes10_questions = list(csv.DictReader(questions_file)) belbin_num_rounds = 7 mmpi_num_rounds = len(mmpi_questions) cattell_num_rounds = len(cattell_questions) myers_briggs_num_rounds = len(myers_briggs_questions) kilmann_num_rounds = len(kilmann_questions) adizes_num_rounds = 10 num_rounds = belbin_num_rounds + mmpi_num_rounds + cattell_num_rounds + myers_briggs_num_rounds +\ kilmann_num_rounds + adizes_num_rounds class Subsession(BaseSubsession): def creating_session(self): print('in creating_session', self.round_number) print('num_rounds', Constants.num_rounds) if self.round_number > 0: for p in self.get_players(): if self.round_number == 1: question_data = p.current_question_belbin_1() p.q_belbin0 = question_data[0]['question'] p.q_belbin1 = question_data[1]['question'] p.q_belbin2 = question_data[2]['question'] p.q_belbin3 = question_data[3]['question'] p.q_belbin4 = question_data[4]['question'] p.q_belbin5 = question_data[5]['question'] p.q_belbin6 = question_data[6]['question'] p.q_belbin7 = question_data[7]['question'] if self.round_number == 2: question_data = p.current_question_belbin_2() p.q_belbin0 = question_data[0]['question'] p.q_belbin1 = question_data[1]['question'] p.q_belbin2 = question_data[2]['question'] p.q_belbin3 = question_data[3]['question'] p.q_belbin4 = question_data[4]['question'] p.q_belbin5 = question_data[5]['question'] p.q_belbin6 = question_data[6]['question'] p.q_belbin7 = question_data[7]['question'] if self.round_number == 3: question_data = p.current_question_belbin_3() p.q_belbin0 = question_data[0]['question'] p.q_belbin1 = question_data[1]['question'] p.q_belbin2 = question_data[2]['question'] p.q_belbin3 = question_data[3]['question'] p.q_belbin4 = question_data[4]['question'] p.q_belbin5 = question_data[5]['question'] p.q_belbin6 = question_data[6]['question'] p.q_belbin7 = question_data[7]['question'] if self.round_number == 4: question_data = p.current_question_belbin_4() p.q_belbin0 = question_data[0]['question'] p.q_belbin1 = question_data[1]['question'] p.q_belbin2 = question_data[2]['question'] p.q_belbin3 = question_data[3]['question'] p.q_belbin4 = question_data[4]['question'] p.q_belbin5 = question_data[5]['question'] p.q_belbin6 = question_data[6]['question'] p.q_belbin7 = question_data[7]['question'] if self.round_number == 5: question_data = p.current_question_belbin_5() p.q_belbin0 = question_data[0]['question'] p.q_belbin1 = question_data[1]['question'] p.q_belbin2 = question_data[2]['question'] p.q_belbin3 = question_data[3]['question'] p.q_belbin4 = question_data[4]['question'] p.q_belbin5 = question_data[5]['question'] p.q_belbin6 = question_data[6]['question'] p.q_belbin7 = question_data[7]['question'] if self.round_number == 6: question_data = p.current_question_belbin_6() p.q_belbin0 = question_data[0]['question'] p.q_belbin1 = question_data[1]['question'] p.q_belbin2 = question_data[2]['question'] p.q_belbin3 = question_data[3]['question'] p.q_belbin4 = question_data[4]['question'] p.q_belbin5 = question_data[5]['question'] p.q_belbin6 = question_data[6]['question'] p.q_belbin7 = question_data[7]['question'] if self.round_number == 7: question_data = p.current_question_belbin_7() p.q_belbin0 = question_data[0]['question'] p.q_belbin1 = question_data[1]['question'] p.q_belbin2 = question_data[2]['question'] p.q_belbin3 = question_data[3]['question'] p.q_belbin4 = question_data[4]['question'] p.q_belbin5 = question_data[5]['question'] p.q_belbin6 = question_data[6]['question'] p.q_belbin7 = question_data[7]['question'] mmpi_round_number = self.round_number - Constants.belbin_num_rounds + 1 cattell_round_number = self.round_number - Constants.belbin_num_rounds - Constants.mmpi_num_rounds + 1 myers_briggs_round_number = self.round_number - Constants.belbin_num_rounds - Constants.mmpi_num_rounds - Constants.cattell_num_rounds + 1 kilmann_round_number = self.round_number - Constants.belbin_num_rounds - Constants.mmpi_num_rounds - \ Constants.cattell_num_rounds - Constants.myers_briggs_num_rounds + 1 adizes_round_number = self.round_number - Constants.belbin_num_rounds - Constants.mmpi_num_rounds - \ Constants.cattell_num_rounds - Constants.myers_briggs_num_rounds - Constants.kilmann_num_rounds + 1 if ((self.round_number >= Constants.belbin_num_rounds) and \ (cattell_round_number <= 0) and (mmpi_round_number > 0)): for p in self.get_players(): question_data = p.current_question_mmpi() p.q_mmpi = question_data['question'] if (self.round_number >= (Constants.belbin_num_rounds + Constants.mmpi_num_rounds) and \ (myers_briggs_round_number <= 0) and (cattell_round_number > 0)): for p in self.get_players(): question_data = p.current_question_cattell() p.q_cattell = question_data['question'] if (self.round_number >= (Constants.belbin_num_rounds + Constants.mmpi_num_rounds + Constants.cattell_num_rounds) and \ (kilmann_round_number <= 0) and (myers_briggs_round_number > 0)): for p in self.get_players(): question_data = p.current_question_myers_briggs() p.q_myers_briggs_id = int(question_data['id']) p.q_myers_briggs = question_data['question'] if (self.round_number >= (Constants.belbin_num_rounds + Constants.mmpi_num_rounds + Constants.cattell_num_rounds +\ Constants.myers_briggs_num_rounds + Constants.kilmann_num_rounds)) and (adizes_round_number > 0): print('adizes_round_number', adizes_round_number) for p in self.get_players(): if adizes_round_number == 1: question_data = p.current_question_adizes_1() p.q_adizes0 = question_data[0]['question'] p.q_adizes1 = question_data[1]['question'] p.q_adizes2 = question_data[2]['question'] p.q_adizes3 = question_data[3]['question'] if adizes_round_number == 2: question_data = p.current_question_adizes_2() p.q_adizes0 = question_data[0]['question'] p.q_adizes1 = question_data[1]['question'] p.q_adizes2 = question_data[2]['question'] p.q_adizes3 = question_data[3]['question'] if adizes_round_number == 3: question_data = p.current_question_adizes_3() p.q_adizes0 = question_data[0]['question'] p.q_adizes1 = question_data[1]['question'] p.q_adizes2 = question_data[2]['question'] p.q_adizes3 = question_data[3]['question'] if adizes_round_number == 4: question_data = p.current_question_adizes_4() p.q_adizes0 = question_data[0]['question'] p.q_adizes1 = question_data[1]['question'] p.q_adizes2 = question_data[2]['question'] p.q_adizes3 = question_data[3]['question'] if adizes_round_number == 5: question_data = p.current_question_adizes_5() p.q_adizes0 = question_data[0]['question'] p.q_adizes1 = question_data[1]['question'] p.q_adizes2 = question_data[2]['question'] p.q_adizes3 = question_data[3]['question'] if adizes_round_number == 6: question_data = p.current_question_adizes_6() p.q_adizes0 = question_data[0]['question'] p.q_adizes1 = question_data[1]['question'] p.q_adizes2 = question_data[2]['question'] p.q_adizes3 = question_data[3]['question'] if adizes_round_number == 7: question_data = p.current_question_adizes_7() p.q_adizes0 = question_data[0]['question'] p.q_adizes1 = question_data[1]['question'] p.q_adizes2 = question_data[2]['question'] p.q_adizes3 = question_data[3]['question'] if adizes_round_number == 8: question_data = p.current_question_adizes_8() p.q_adizes0 = question_data[0]['question'] p.q_adizes1 = question_data[1]['question'] p.q_adizes2 = question_data[2]['question'] p.q_adizes3 = question_data[3]['question'] if adizes_round_number == 9: question_data = p.current_question_adizes_9() p.q_adizes0 = question_data[0]['question'] p.q_adizes1 = question_data[1]['question'] p.q_adizes2 = question_data[2]['question'] p.q_adizes3 = question_data[3]['question'] if adizes_round_number == 10: question_data = p.current_question_adizes_10() p.q_adizes0 = question_data[0]['question'] p.q_adizes1 = question_data[1]['question'] p.q_adizes2 = question_data[2]['question'] p.q_adizes3 = question_data[3]['question'] class Group(BaseGroup): pass def make_balbin_field(label): return models.IntegerField( choices=[ [0, '0'], [2, '2'], [3, '3'], [4, '4'], [5, '5'], [6, '6'], [7, '7'], [8, '8'], [9, '9'], [10, '10'] ], label=label, widget=widgets.RadioSelectHorizontal, initial = 0 ) def make_guilford1_field(label): return models.IntegerField( label="", choices=[ [1, '1'], [2, '2'], [3, '3'], ], widget=widgets.RadioSelectHorizontal ) def make_guilford24_field(label): return models.IntegerField( label="", choices=[ [1, '1'], [2, '2'], [3, '3'], [4, '4'], ], widget=widgets.RadioSelectHorizontal ) def make_adizes_field(label): return models.IntegerField( label="", choices=[ [0, '0'], [1, '1'], [2, '2'], [3, '3'], [4, '4'], ], widget=widgets.RadioSelectHorizontal, initial = 0, blank = True ) def make_mmpi_field(label): return models.IntegerField( label="", choices=[ [1, 'Верно'], [2, 'Неверно'], ], widget=widgets.RadioSelect ) def make_teamm_model_field(label): return models.IntegerField( label="", choices=[ [1, 'всегда'], [2, 'иногда'], [3, 'редко'], ], widget=widgets.RadioSelect ) class Player(BasePlayer): # Test_Belbin q_belbin0 = models.StringField() q_belbin1 = models.StringField() q_belbin2 = models.StringField() q_belbin3 = models.StringField() q_belbin4 = models.StringField() q_belbin5 = models.StringField() q_belbin6 = models.StringField() q_belbin7 = models.StringField() sa_belbin0 = make_balbin_field('') sa_belbin1 = make_balbin_field('') sa_belbin2 = make_balbin_field('') sa_belbin3 = make_balbin_field('') sa_belbin4 = make_balbin_field('') sa_belbin5 = make_balbin_field('') sa_belbin6 = make_balbin_field('') sa_belbin7 = make_balbin_field('') # Test_MMPI q_mmpi = models.StringField() sa_mmpi = make_mmpi_field('') # Test_Cattell q_cattell = models.StringField() sa_cattell = models.StringField(widget=widgets.RadioSelect) def sa_cattell_choices(self): qd = self.current_question_cattell() return [ [1, qd['choice1']], [2, qd['choice2']], [3, qd['choice3']] ] # Test Myers Briggs q_myers_briggs_id = models.IntegerField() q_myers_briggs = models.StringField() sa_myers_briggs_cb = tool_models.MultipleChoiceModelField(min_choices=1, max_choices=2) sa_myers_briggs = models.StringField(widget=widgets.RadioSelect) # Test Myers Briggs q_myers_briggs_id = models.IntegerField() q_myers_briggs = models.StringField() # Test Tomas Kilmann sa_kilmann = models.StringField(widget=widgets.RadioSelect) # Test_Adizes q_adizes0 = models.StringField() q_adizes1 = models.StringField() q_adizes2 = models.StringField() q_adizes3 = models.StringField() sa_adizes0 = make_adizes_field('') sa_adizes1 = make_adizes_field('') sa_adizes2 = make_adizes_field('') sa_adizes3 = make_adizes_field('') def sa_myers_briggs_cb_choices(self): qd = self.current_question_myers_briggs() return [ [1, qd['choice1']], [2, qd['choice2']], [3, qd['choice3']] ] def sa_myers_briggs_choices(self): qd = self.current_question_myers_briggs() if self.q_myers_briggs_id in [9, 14, 31, 40, 47, 54, 60, 68, 71, 137, 141, 153]: return [ [1, qd['choice1']], [2, qd['choice2']], [3, qd['choice3']] ] elif (self.q_myers_briggs_id == 71): return [ [1, qd['choice1']], [2, qd['choice2']], [3, qd['choice3']], [4, qd['choice4']], [5, qd['choice5']] ] else: return [ [1, qd['choice1']], [2, qd['choice2']] ] def sa_kilmann_choices(self): qd = self.current_question_kilmann() return [ [1, qd['choice1']], [2, qd['choice2']] ] def current_question_belbin_1(self): self.session.vars['questions'] = Constants.belbin1_questions.copy() return self.session.vars['questions'] def current_question_belbin_2(self): self.session.vars['questions'] = Constants.belbin2_questions.copy() return self.session.vars['questions'] def current_question_belbin_3(self): self.session.vars['questions'] = Constants.belbin3_questions.copy() return self.session.vars['questions'] def current_question_belbin_4(self): self.session.vars['questions'] = Constants.belbin4_questions.copy() return self.session.vars['questions'] def current_question_belbin_5(self): self.session.vars['questions'] = Constants.belbin5_questions.copy() return self.session.vars['questions'] def current_question_belbin_6(self): self.session.vars['questions'] = Constants.belbin6_questions.copy() return self.session.vars['questions'] def current_question_belbin_7(self): self.session.vars['questions'] = Constants.belbin7_questions.copy() return self.session.vars['questions'] def current_question_mmpi(self): self.session.vars['questions'] = Constants.mmpi_questions.copy() return self.session.vars['questions'][self.round_number - Constants.belbin_num_rounds] def current_question_cattell(self): self.session.vars['questions'] = Constants.cattell_questions.copy() return self.session.vars['questions'][self.round_number - Constants.belbin_num_rounds - Constants.mmpi_num_rounds] def current_question_myers_briggs(self): self.session.vars['questions'] = Constants.myers_briggs_questions.copy() return self.session.vars['questions'][self.round_number - Constants.belbin_num_rounds - Constants.mmpi_num_rounds - Constants.cattell_num_rounds] def current_question_kilmann(self): self.session.vars['questions'] = Constants.kilmann_questions.copy() return self.session.vars['questions'][self.round_number - Constants.belbin_num_rounds - Constants.mmpi_num_rounds - Constants.cattell_num_rounds - Constants.myers_briggs_num_rounds] def current_question_adizes_1(self): self.session.vars['questions'] = Constants.adizes1_questions.copy() return self.session.vars['questions'] def current_question_adizes_2(self): self.session.vars['questions'] = Constants.adizes2_questions.copy() return self.session.vars['questions'] def current_question_adizes_3(self): self.session.vars['questions'] = Constants.adizes3_questions.copy() return self.session.vars['questions'] def current_question_adizes_4(self): self.session.vars['questions'] = Constants.adizes4_questions.copy() return self.session.vars['questions'] def current_question_adizes_5(self): self.session.vars['questions'] = Constants.adizes5_questions.copy() return self.session.vars['questions'] def current_question_adizes_6(self): self.session.vars['questions'] = Constants.adizes6_questions.copy() return self.session.vars['questions'] def current_question_adizes_7(self): self.session.vars['questions'] = Constants.adizes7_questions.copy() return self.session.vars['questions'] def current_question_adizes_8(self): self.session.vars['questions'] = Constants.adizes8_questions.copy() return self.session.vars['questions'] def current_question_adizes_9(self): self.session.vars['questions'] = Constants.adizes9_questions.copy() return self.session.vars['questions'] def current_question_adizes_10(self): self.session.vars['questions'] = Constants.adizes10_questions.copy() return self.session.vars['questions'] #def check_correct(self): # self.is_correct = (self.submitted_answer == self.solution) # Demographics member_num = models.StringField(label="Ваш номер:", initial='') group_num = models.StringField(label="Номер Вашей группы:", initial='') age = models.IntegerField(label="Ваш возраст:", min=18, max=90, widget=widgets.Slider(attrs={'step': '1'}), initial=0) gender = models.IntegerField( label="Ваш пол:", choices=[ [1, 'Мужской'], [2, 'Женский'], ], widget=widgets.RadioSelectHorizontal ) studies = models.IntegerField( label="Уровень Вашего образования:", choices=[ [1, 'Начальное.'], [2, 'Среднее общее.'], [3, 'Среднее профессиональное.'], [4, 'Неоконченное высшее.'], [5, 'Высшее.'], [6, 'Бакалавриат высшего образования.'], [7, 'Магистратура.'], [8, 'Аспирантура (интернатура, ординатура, адъюнктура).'], [9, 'Учёная степень кандидата наук.'], [10, 'Учёная степень доктора наук.'], [11, 'МВА - мастер делового администрирования.'], ] ) studies_second = models.IntegerField( label="Дополнительное образование:", choices=[ [1, 'Начальное.'], [2, 'Среднее общее.'], [3, 'Среднее профессиональное.'], [4, 'Неоконченное высшее.'], [5, 'Высшее.'], [6, 'Бакалавриат высшего образования.'], [7, 'Магистратура.'], [8, 'Аспирантура (интернатура, ординатура, адъюнктура).'], [9, 'Учёная степень кандидата наук.'], [10, 'Учёная степень доктора наук.'], [11, 'МВА - мастер делового администрирования.'], ], blank = True ) experience_general = models.IntegerField(label="Общий трудовой стаж:", min=0, max=60, widget=widgets.Slider(attrs={'step': '1'}), initial = 0) company_name = models.StringField(label="Название организации:", initial='') experience_local = models.IntegerField(label="Период Вашей работы в данной компании:", min=0, max=60, widget=widgets.Slider(attrs={'step': '1'}), initial = 0) sector = models.IntegerField( label="Отрасль Вашей компании:", choices=[ [1, 'Автомобильный бизнес.'], [2, 'Военная служба.'], [3, 'Гостиницы, рестораны, общепит, кейтеринг.'], [4, 'Государственная служба.'], [5, 'Государственные организации.'], [6, 'Добывающая отрасль.'], [7, 'ЖКХ.'], [8, 'Информационные технологии, системная интеграция, интернет.'], [9, 'Искусство, культура.'], [10, 'Лесная промышленность, деревообработка.'], [11, 'Медицина, фармацевтика, аптеки.'], [12, 'Металлургия, металлообработка.'], [13, 'Нефть и газ.'], [14, 'Образовательные учреждения.'], [15, 'Общественная деятельность, партии, благотворительность, НКО.'], [16, 'Перевозки, логистика, склад, ВЭД.'], [17, 'Продукты питания.'], [18, 'Промышленное оборудование, техника, станки и комплектующие.'], [19, 'Розничная торговля.'], [20, 'СМИ, маркетинг, реклама, BTL, PR, дизайн, продюсирование.'], [21, 'Сельское хозяйство.'], [22, 'Строительство, недвижимость, эксплуатация, проектирование.'], [23, 'Телекоммуникации, связь.'], [24, 'Товары народного потребления (непищевые).'], [25, 'Тяжелое машиностроение.'], [26, 'Управление многопрофильными активами.'], [27, 'Услуги для бизнеса.'], [28, 'Услуги для населения.'], [29, 'Финансовый сектор.'], [30, 'Химическое производство, удобрения.'], [31, 'Электроника, приборостроение, бытовая техника, компьютеры и оргтехника.'], [32, 'Энергетика.'] ] ) experience = models.IntegerField( label="Текущая профессиональная область:", choices=[ [1, 'Автомобильный бизнес.'], [2, 'Административный персонал.'], [3, 'Банки, инвестиции, лизинг.'], [4, 'Безопасность.'], [5, 'Бухгалтерия, управленческий учет, финансы предприятия.'], [6, 'Военная служба.'], [7, 'Высший менеджмент.'], [8, 'Государственная служба, некоммерческие организации.'], [9, 'Добыча сырья.'], [10, 'Домашний персонал.'], [11, 'Закупки.'], [12, 'Инсталляция и сервис.'], [13, 'Информационные технологии, интернет, телеком.'], [14, 'Искусство, развлечения, масс-медиа.'], [15, 'Консультирование.'], [16, 'Маркетинг, реклама, PR.'], [17, 'Медицина, фармацевтика.'], [18, 'Наука, образование.'], [19, 'Начало карьеры, студенты.'], [20, 'Продажи.'], [21, 'Производство.'], [22, 'Рабочий персонал.'], [23, 'Спортивные клубы, фитнес, салоны красоты.'], [24, 'Страхование.'], [25, 'Строительство, недвижимость.'], [26, 'Транспорт, логистика.'], [27, 'Туризм, гостиницы, рестораны.'], [28, 'Управление персоналом, тренинги.'], [29, 'Юристы.'] ] ) period_work = models.IntegerField(label="Период работы в этой профессиональной области:", min=0, max=60, widget=widgets.Slider(attrs={'step': '1'}), initial=0) remote = models.IntegerField( label="Вы работаете удалённо?", choices=[ [1, 'Нет'], [2, 'Да'], ], widget=widgets.RadioSelect, initial = 1 ) married = models.IntegerField( label="Ваш семейный статус:", choices=[ [1, 'Не женат/не замужем.'], [2, 'Женат/замужем.'], [3, 'Разведён/разведена.'], [4, 'Вдовец/вдова.'], ] ) children_number = models.IntegerField(label="Количество детей:", min=0, max=15, widget=widgets.Slider(attrs={'step': '1'}), initial=0) children_age = models.StringField(label="Возраст Ваших детей через запятую (если они у Вас есть):", initial='') birth_region = models.IntegerField( label="Регион Вашего рождения:", choices=[ [1, 'Алтайский край'], [2, 'Амурская область'], [3, 'Архангельская область'], [4, 'Астраханская область'], [5, 'Белгородская область'], [6, 'Брянская область'], [7, 'Владимирская область'], [8, 'Волгоградская область'], [9, 'Вологодская область'], [10, 'Воронежская область'], [11, 'Еврейская автономная область'], [12, 'Забайкальский край'], [13, 'Ивановская область'], [14, 'Иные территории, включая город и космодром Байконур'], [15, 'Иркутская область'], [16, 'Кабардино-Балкарская Республика'], [17, 'Калининградская область'], [18, 'Калужская область'], [19, 'Камчатский край'], [20, 'Карачаево-Черкесская Республика'], [21, 'Кемеровская область'], [22, 'Кировская область'], [23, 'Костромская область'], [24, 'Краснодарский край'], [25, 'Красноярский край'], [26, 'Курганская область'], [27, 'Курская область'], [28, 'Ленинградская область'], [29, 'Липецкая область'], [30, 'Магаданская область'], [31, 'Москва'], [32, 'Московская область'], [33, 'Мурманская область'], [34, 'Ненецкий автономный округ'], [35, 'Нижегородская область'], [36, 'Новгородская область'], [37, 'Новосибирская область'], [38, 'Омская область'], [39, 'Оренбургская область'], [40, 'Орловская область'], [41, 'Пензенская область'], [42, 'Пермский край'], [43, 'Приморский край'], [44, 'Псковская область'], [45, 'Республика Адыгея(Адыгея)'], [46, 'Республика Алтай'], [47, 'Республика Башкортостан'], [48, 'Республика Бурятия'], [49, 'Республика Дагестан'], [50, 'Республика Ингушетия'], [51, 'Республика Калмыкия'], [52, 'Республика Карелия'], [53, 'Республика Коми'], [54, 'Республика Крым'], [55, 'Республика Марий Эл'], [56, 'Республика Мордовия'], [57, 'Республика Саха(Якутия)'], [58, 'Республика Северная Осетия - Алания'], [59, 'Республика Татарстан(Татарстан)'], [60, 'Республика Тыва'], [61, 'Республика Хакасия'], [62, 'Ростовская область'], [63, 'Рязанская область'], [64, 'Самарская область'], [65, 'Санкт-Петербург'], [66, 'Саратовская область'], [67, 'Сахалинская область'], [68, 'Свердловская область'], [69, 'Севастополь'], [70, 'Смоленская область'], [71, 'Ставропольский край'], [72, 'Тамбовская область'], [73, 'Тверская область'], [74, 'Томская область'], [75, 'Тульская область'], [76, 'Тюменская область'], [77, 'Удмуртская Республика'], [78, 'Ульяновская область'], [79, 'Хабаровский край'], [80, 'Ханты-Мансийский автономный округ - Югра'], [81, 'Челябинская область'], [82, 'Чеченская Республика'], [83, 'Чувашская Республика - Чувашия'], [84, 'Чукотский автономный округ'], [85, 'Ямало-Ненецкий автономный округ'], [86, 'Ярославская область'] ] ) #birth_place = models.StringField( # label="Введите место Вашего рождения (населенный пункт)." #) live_region = models.IntegerField( label="Регион Вашего проживания:", choices=[ [1, 'Алтайский край'], [2, 'Амурская область'], [3, 'Архангельская область'], [4, 'Астраханская область'], [5, 'Белгородская область'], [6, 'Брянская область'], [7, 'Владимирская область'], [8, 'Волгоградская область'], [9, 'Вологодская область'], [10, 'Воронежская область'], [11, 'Еврейская автономная область'], [12, 'Забайкальский край'], [13, 'Ивановская область'], [14, 'Иные территории, включая город и космодром Байконур'], [15, 'Иркутская область'], [16, 'Кабардино-Балкарская Республика'], [17, 'Калининградская область'], [18, 'Калужская область'], [19, 'Камчатский край'], [20, 'Карачаево-Черкесская Республика'], [21, 'Кемеровская область'], [22, 'Кировская область'], [23, 'Костромская область'], [24, 'Краснодарский край'], [25, 'Красноярский край'], [26, 'Курганская область'], [27, 'Курская область'], [28, 'Ленинградская область'], [29, 'Липецкая область'], [30, 'Магаданская область'], [31, 'Москва'], [32, 'Московская область'], [33, 'Мурманская область'], [34, 'Ненецкий автономный округ'], [35, 'Нижегородская область'], [36, 'Новгородская область'], [37, 'Новосибирская область'], [38, 'Омская область'], [39, 'Оренбургская область'], [40, 'Орловская область'], [41, 'Пензенская область'], [42, 'Пермский край'], [43, 'Приморский край'], [44, 'Псковская область'], [45, 'Республика Адыгея(Адыгея)'], [46, 'Республика Алтай'], [47, 'Республика Башкортостан'], [48, 'Республика Бурятия'], [49, 'Республика Дагестан'], [50, 'Республика Ингушетия'], [51, 'Республика Калмыкия'], [52, 'Республика Карелия'], [53, 'Республика Коми'], [54, 'Республика Крым'], [55, 'Республика Марий Эл'], [56, 'Республика Мордовия'], [57, 'Республика Саха(Якутия)'], [58, 'Республика Северная Осетия - Алания'], [59, 'Республика Татарстан(Татарстан)'], [60, 'Республика Тыва'], [61, 'Республика Хакасия'], [62, 'Ростовская область'], [63, 'Рязанская область'], [64, 'Самарская область'], [65, 'Санкт-Петербург'], [66, 'Саратовская область'], [67, 'Сахалинская область'], [68, 'Свердловская область'], [69, 'Севастополь'], [70, 'Смоленская область'], [71, 'Ставропольский край'], [72, 'Тамбовская область'], [73, 'Тверская область'], [74, 'Томская область'], [75, 'Тульская область'], [76, 'Тюменская область'], [77, 'Удмуртская Республика'], [78, 'Ульяновская область'], [79, 'Хабаровский край'], [80, 'Ханты-Мансийский автономный округ - Югра'], [81, 'Челябинская область'], [82, 'Чеченская Республика'], [83, 'Чувашская Республика - Чувашия'], [84, 'Чукотский автономный округ'], [85, 'Ямало-Ненецкий автономный округ'], [86, 'Ярославская область'] ] ) period_live = models.IntegerField(label="Период Вашего проживания в данном регионе:", min=0, max=90, widget=widgets.Slider(attrs={'step': '1'}), initial = 0) #leader = models.IntegerField( # label="Вы являетесь лидером команды?", # choices=[ # [1, 'Нет'], # [2, 'Да'], # ], widget=widgets.RadioSelect, initial = 1 #) leader = tool_models.MultipleChoiceModelField(label="Вы являетесь лидером команды?", choices=[ [1, 'Нет'], [2, 'Да'], ], min_choices=1, max_choices=2) def leader_choice(self): self.session.vars['leader'] = self.leader return self.session.vars['leader'] # Test_Guilford # Block 1 sa_guilford11 = make_guilford1_field('') sa_guilford12 = make_guilford1_field('') sa_guilford13 = make_guilford1_field('') sa_guilford14 = make_guilford1_field('') sa_guilford15 = make_guilford1_field('') sa_guilford16 = make_guilford1_field('') sa_guilford17 = make_guilford1_field('') sa_guilford18 = make_guilford1_field('') sa_guilford19 = make_guilford1_field('') sa_guilford110 = make_guilford1_field('') sa_guilford111 = make_guilford1_field('') sa_guilford112 = make_guilford1_field('') sa_guilford113 = make_guilford1_field('') sa_guilford114 = make_guilford1_field('') # Block 2 sa_guilford21 = make_guilford24_field('') sa_guilford22 = make_guilford24_field('') sa_guilford23 = make_guilford24_field('') sa_guilford24 = make_guilford24_field('') sa_guilford25 = make_guilford24_field('') sa_guilford26 = make_guilford24_field('') sa_guilford27 = make_guilford24_field('') sa_guilford28 = make_guilford24_field('') sa_guilford29 = make_guilford24_field('') sa_guilford210 = make_guilford24_field('') sa_guilford211 = make_guilford24_field('') sa_guilford212 = make_guilford24_field('') sa_guilford213 = make_guilford24_field('') sa_guilford214 = make_guilford24_field('') sa_guilford215 = make_guilford24_field('') # Block 3 sa_guilford31 = models.IntegerField( label="", choices=[ [1, 'Довольный служащий - своему начальнику.'], [2, 'Благодарный ученик - своему преподавателю.'], [3, 'Недовольный человек - своему знакомому.'], ], widget=widgets.RadioSelect, ) sa_guilford32 = models.IntegerField( label="", choices=[ [1, 'Улыбающийся преподаватель - студенту.'], [2, 'Врач - пациенту.'], [3, 'Рассерженный милиционер - канючащему пьянице.'], ], widget=widgets.RadioSelect, ) sa_guilford33 = models.IntegerField( label="", choices=[ [1, 'Отец - победителю.'], [2, 'Друг - победителю.'], [3, 'Проигравший - победителю.'], ], widget=widgets.RadioSelect, ) sa_guilford34 = models.IntegerField( label="", choices=[ [1, 'Ревнивая девушка - другу.'], [2, 'Обрадованный мальчик - другу.'], [3, 'Восхищенная девушка - другу. '], ], widget=widgets.RadioSelect, ) sa_guilford35 = models.IntegerField( label="", choices=[ [1, 'Рассерженная мать - ребенку.'], [2, 'Заинтригованный прохожий - играющему ребенку.'], [3, 'Учитель - примерному ученику.'], ], widget=widgets.RadioSelect, ) sa_guilford36 = models.IntegerField( label="", choices=[ [1, 'Мать - сыну.'], [2, 'Боец - противнику.'], [3, 'Нагруженная жена - мужу.'], ], widget=widgets.RadioSelect, ) sa_guilford37 = models.IntegerField( label="", choices=[ [1, 'Психиатр - пациенту.'], [2, 'Прохожий - пострадавшему в аварии.'], [3, 'Гид - туристу.'], ], widget=widgets.RadioSelect, ) sa_guilford38 = models.IntegerField( label="", choices=[ [1, 'Жена - мужу.'], [2, 'Мать - ребенку.'], [3, 'Тренер - спортсмену.'], ], widget=widgets.RadioSelect, ) sa_guilford39 = models.IntegerField( label="", choices=[ [1, 'Брат - сестре.'], [2, 'Молодой человек - подруге.'], [3, 'Племянник - тетке.'], ], widget=widgets.RadioSelect, ) sa_guilford310 = models.IntegerField( label="", choices=[ [1, 'Поклонник - артисту.'], [2, 'Преподаватель - студенту.'], [3, 'Разгневанный ребенок - побитому им сопернику.'], ], widget=widgets.RadioSelect, ) sa_guilford311 = models.IntegerField( label="", choices=[ [1, 'Рассерженный отец - кричащему сыну.'], [2, 'Пассажир - водителю.'], [3, 'Прохожий - неосторожному ребенку.'], ], widget=widgets.RadioSelect, ) sa_guilford312 = models.IntegerField( label="", choices=[ [1, 'Администратор гостиницы - клиенту.'], [2, 'Коллекционер автографов - "звезде".'], [3, 'Кассир - вкладчику.'], ], widget=widgets.RadioSelect, ) # Block 4 sa_guilford41 = make_guilford24_field('') sa_guilford42 = make_guilford24_field('') sa_guilford43 = make_guilford24_field('') sa_guilford44 = make_guilford24_field('') sa_guilford45 = make_guilford24_field('') sa_guilford46 = make_guilford24_field('') sa_guilford47 = make_guilford24_field('') sa_guilford48 = make_guilford24_field('') sa_guilford49 = make_guilford24_field('') sa_guilford410 = make_guilford24_field('') sa_guilford411 = make_guilford24_field('') sa_guilford412 = make_guilford24_field('') sa_guilford413 = make_guilford24_field('') sa_guilford414 = make_guilford24_field('') # Test_Team_Model sa_team_m1 = make_teamm_model_field('') sa_team_m2 = make_teamm_model_field('') sa_team_m3 = make_teamm_model_field('') sa_team_m4 = make_teamm_model_field('') sa_team_m5 = make_teamm_model_field('') sa_team_m6 = make_teamm_model_field('') sa_team_m7 = make_teamm_model_field('') sa_team_m8 = make_teamm_model_field('') sa_team_m9 = make_teamm_model_field('') sa_team_m10 = make_teamm_model_field('') sa_team_m11 = make_teamm_model_field('') sa_team_m12 = make_teamm_model_field('') sa_team_m13 = make_teamm_model_field('') sa_team_m14 = make_teamm_model_field('') sa_team_m15 = make_teamm_model_field('') # Test_Team_Model sa_team_r1 = models.IntegerField(label="", min=0, max=200, widget=widgets.Slider(attrs={'step': '1'}), blank=True, initial=0) sa_team_r2 = models.IntegerField(label="", min=0, max=200, widget=widgets.Slider(attrs={'step': '1'}), blank=True, initial=0) sa_team_r3 = models.IntegerField(label="", min=0, max=200, widget=widgets.Slider(attrs={'step': '1'}), blank=True, initial=0) sa_team_r4 = models.IntegerField(label="", min=0, max=10, widget=widgets.Slider(attrs={'step': '1'}), blank=True, initial=0) sa_team_r5 = models.IntegerField( label="", choices=[ [1, 'Регулярный'], [2, 'Разовый'], ], widget=widgets.RadioSelect, ) sa_team_r6 = models.IntegerField( label="", choices=[ [1, '0-14'], [2, '15-31'], [3, '32-60'], [4, '61-90'], [5, '> 90'], ], widget=widgets.RadioSelect, ) sa_team_r7 = models.LongStringField(label="Опишите в нескольких предложениях, своими словами, как Вы оцениваете работу команды, с которой Вы работаете, и которая сейчас участвует в тестировании:", initial='')