from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Choose_Report(Page): form_model = 'player' form_fields = ['report_unknown', 'report_fb', 'report_line','report_consultant', 'report_profession', 'index_1', 'index_2', 'index_3', 'index_4', 'index_5', 'index_6', 'index_7', 'index_8', 'index_9', 'index_10', 'index_11', 'index_12', 'index_13', 'index_14', 'index_15', 'index_16', 'index_17', 'index_18', 'index_19', 'index_20', 'index_21', 'index_22', 'index_23', 'index_24', 'index_25', 'index_26', 'index_27', 'index_28', 'index_29', 'index_30', ] def error_message(self, values): checked_box = 0 for i in Constants.outside_report: checked_box = values[i] + checked_box if checked_box > 2: return "您最多只能選兩項其他資訊" def before_next_page(self): self.player.showreport() class Report(Page): form_model = 'player' form_fields = ['invdecision'] def invdecision_choices(self): choices = [["要投資", "我要投資:好商品時得到 " + str(Constants.good_inv - self.player.reportCost) + " 萬籌碼,壞商品時只能取回 " + str(Constants.bad_inv - self.player.reportCost) + " 萬籌碼。" ], ["不投資了", "不投資了:保留" +str(self.player.remainInv) + " 萬籌碼。"]] return choices def vars_for_template(self): return { "invdecision_label": "扣除資訊費用 " + str(self.player.reportCost) + " 萬後, 請問您要投資嗎?" } def before_next_page(self): self.player.invresult() class Results(Page): def before_next_page(self): self.player.get_cumchip() class RewardInfo(Page): form_model = 'player' form_fields = ['email', 'mobile'] class Final_Page(Page): pass page_sequence = [ Choose_Report, Report, Results, RewardInfo, Final_Page ]