コード例 #1
0
ファイル: base.py プロジェクト: hitandaway100/caba
 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)
コード例 #2
0
    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')