def makeScoreRecordObj(self, scorerecord, battleresult=None, rank_beginer=None): """ランク情報. """ rank = None if scorerecord: rank = BackendApi.get_battleevent_rank(scorerecord.mid, scorerecord.uid) return Objects.battleevent_score(self, scorerecord, rank, battleresult, rank_beginer=rank_beginer)
def process(self): args = self.getUrlArgs('/battleeventexplain/') eventid = args.getInt(0) ope = args.get(1) model_mgr = self.getModelMgr() eventmaster = None if eventid: eventmaster = BackendApi.get_battleevent_master(model_mgr, eventid, using=settings.DB_READONLY) if eventmaster is None: raise CabaretError(u'閲覧できないイベントです', CabaretError.Code.ILLEGAL_ARGS) v_player = self.getViewerPlayer() uid = v_player.id # 開催中判定. cur_eventmaster = self.getCurrentBattleEvent(quiet=True) if cur_eventmaster and cur_eventmaster.id == eventid: is_opened = True do_check_loginbonus = not cur_eventmaster.is_goukon if not self.checkBattleEventUser(do_check_battle_open=False, do_check_regist=False, do_check_emergency=False, do_check_loginbonus=do_check_loginbonus): return else: is_opened = False self.html_param['is_opened'] = is_opened # イベント情報. self.html_param['battleevent'] = Objects.battleevent(self, eventmaster) # スコア. scorerecord = BackendApi.get_battleevent_scorerecord(model_mgr, eventid, uid, using=settings.DB_READONLY) rank = BackendApi.get_battleevent_rank(eventid, uid) self.html_param['battleevent_score'] = Objects.battleevent_score(self, scorerecord, rank) self.putEventTopic(eventid, 'explain') self.html_param['current_topic'] = ope table = { 'detail' : self.__proc_detail, 'prizes' : self.__proc_prizes, 'nomination' : self.__proc_nomination, 'faq' : self.__proc_faq, } for k in table.keys(): self.html_param['url_explain_%s' % k] = self.makeAppLinkUrl(UrlMaker.battleevent_explain(eventid, k)) table.get(ope, self.__proc_detail)(eventmaster, is_opened)