# from _typeshed import Self from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Decision1(Page): form_model = 'player' form_fields = ['period'] def vars_for_template(self): group = self.group period1_point = group.period1_visitor * Constants.multiplier period2_point = group.period2_visitor * Constants.multiplier period3_point = group.period3_visitor * Constants.multiplier period4_point = group.period4_visitor * Constants.multiplier period5_point = group.period5_visitor * Constants.multiplier period6_point = group.period6_visitor * Constants.multiplier return dict( period1_point = period1_point, period2_point = period2_point, period3_point = period3_point, period4_point = period4_point, period5_point = period5_point, period6_point = period6_point, ) class Decision1_wait(WaitPage): after_all_players_arrive = 'cal_ritoku' class Result(Page): def before_next_page(self): ritokus = [p.ritoku for p in self.player.in_all_rounds()] self.player.total_ritoku = sum(ritokus) class Pose(Page): def is_displayed(self): return self.round_number == 5 class FinalResult(Page): def is_displayed(self): return self.round_number == 5 page_sequence = [ Decision1, Decision1_wait, Result, FinalResult, Pose ]