def getEffectBackUrl(handler): model_mgr = handler.getModelMgr() v_player = handler.getViewerPlayer() uid = v_player.id if BackendApi.check_raidevent_lead_opening(model_mgr, uid, using=settings.DB_READONLY): # イベントOPを見ないといけない. url = UrlMaker.raidevent_opening() elif BackendApi.check_raidevent_lead_bigboss( model_mgr, uid, using=settings.DB_READONLY): # 大ボス演出を見ないといけない. url = UrlMaker.raidevent_bigboss() elif BackendApi.check_scoutevent_lead_opening( model_mgr, uid, using=settings.DB_READONLY): # イベントOPを見ないといけない. url = UrlMaker.scoutevent_opening() elif BackendApi.check_battleevent_lead_opening( model_mgr, uid, using=settings.DB_READONLY): # イベントOPを見ないといけない. url = UrlMaker.battleevent_opening() elif not BackendApi.check_battleevent_loginbonus_received( model_mgr, uid, using=settings.DB_READONLY, now=OSAUtil.get_now()): # イベントログインボーナスを受け取らないといけない. url = UrlMaker.battleevent_loginbonus() else: url = UrlMaker.present() return url
def checkBattleEventUser(self, do_check_opening=True, do_check_battle_open=True, do_check_regist=True, do_check_loginbonus=True, do_check_emergency=True): """ユーザーチェック. """ model_mgr = self.getModelMgr() if do_check_opening: uid = self.getViewerPlayer().id cur_eventmaster = self.getCurrentBattleEvent(quiet=True) if cur_eventmaster: if BackendApi.check_battleevent_lead_opening(model_mgr, uid, cur_eventmaster.id, using=settings.DB_READONLY): # オープニングを見ていない. url = UrlMaker.battleevent_opening() self.appRedirect(self.makeAppLinkUrlRedirect(url)) return False config = BackendApi.get_current_battleeventconfig(model_mgr, using=settings.DB_READONLY) is_battleopen = self.isBattleOpen() if do_check_battle_open and not is_battleopen: # バトルが閉じている. url = UrlMaker.battleevent_top(config.mid) self.appRedirect(self.makeAppLinkUrlRedirect(url)) return False elif do_check_emergency and config.is_emergency: # 緊急停止. url = UrlMaker.battleevent_top(config.mid) self.appRedirect(self.makeAppLinkUrlRedirect(url)) return False else: cur_group = self.getCurrentBattleGroup(do_search_log=not is_battleopen) if do_check_regist and cur_group is None: # イベントに参加していない. if is_battleopen: url = UrlMaker.battleevent_regist() else: url = UrlMaker.battleevent_top(config.mid) self.appRedirect(self.makeAppLinkUrlRedirect(url)) return False elif do_check_loginbonus: rankrecord = self.getCurrentBattleRankRecord() if rankrecord and rankrecord.isNeedUpdate(config): url = UrlMaker.battleevent_loginbonus() self.appRedirect(self.makeAppLinkUrlRedirect(url)) return False return True