def putEventTopic(self, mid, cur_topic='top'): """eventbase.htmlのトピック用のパラメータを埋め込む. """ self.html_param['cur_topic'] = cur_topic # イベントTopのURL. url = UrlMaker.battleevent_top(mid) self.html_param['url_battleevent_top'] = self.makeAppLinkUrl(url) # イベント説明のURL. url = UrlMaker.battleevent_explain(mid) self.html_param['url_battleevent_explain'] = self.makeAppLinkUrl(url) # ランキングのURL. url = UrlMaker.battleevent_ranking(mid) self.html_param['url_battleevent_ranking'] = self.makeAppLinkUrl(url) table = ( 'detail', 'prizes', 'nomination', 'faq', ) for k in table: self.html_param['url_explain_%s' % k] = self.makeAppLinkUrl(UrlMaker.battleevent_explain(mid, k)) # 贈り物. if BackendApi.get_battleeventpresent_master_by_eventdid(self.getModelMgr(), mid, using=settings.DB_READONLY): self.html_param['url_battleevent_present'] = self.makeAppLinkUrl(UrlMaker.battleevent_present()) # ガチャページ. url = OSAUtil.addQuery(UrlMaker.gacha(), Defines.URLQUERY_GTYPE, Defines.GachaConsumeType.GTYPE_NAMES[Defines.GachaConsumeType.OMAKE]) self.html_param['url_battleevent_gacha'] = self.makeAppLinkUrl(url)
def process(self): args = self.getUrlArgs('/battleeventranking/') eventid = args.getInt(0) view_myrank = args.getInt(1) == 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: if settings_sub.IS_LOCAL: raise CabaretError(u'引数がおかしい') self.redirectToTop() return # 開催中判定. cur_eventmaster = self.getCurrentBattleEvent(quiet=True) if cur_eventmaster and cur_eventmaster.id == eventid: is_opened = True if not self.checkBattleEventUser(do_check_battle_open=False, do_check_regist=False, do_check_emergency=False): return else: is_opened = False self.html_param['is_opened'] = is_opened # イベント情報. self.html_param['battleevent'] = Objects.battleevent(self, eventmaster) self.putEventTopic(eventid, 'ranking') v_player = self.getViewerPlayer() uid = v_player.id url_battleevent_ranking = UrlMaker.battleevent_ranking(eventid, False) url_battleevent_myrank = UrlMaker.battleevent_ranking(eventid, True) # 初心者判定. is_beginer = BackendApi.check_battleevent_beginer( model_mgr, uid, eventmaster, using=settings.DB_READONLY) self.html_param['is_beginer'] = is_beginer # ランキング. view_beginer = self.request.get(Defines.URLQUERY_BEGINER) == "1" if view_beginer and not is_beginer: view_myrank = False self.putRanking(uid, eventid, view_myrank, url_battleevent_ranking, url_battleevent_myrank, view_beginer=view_beginer) if eventmaster.is_goukon: self.writeAppHtml('gcevent/ranking') else: self.writeAppHtml('btevent/ranking')