コード例 #1
0
 def makeUrlSelf(self):
     return UrlMaker.cabaclubcastselect(self.__mid, self.__cardid)
コード例 #2
0
    def __process_store(self, cabaclub_store_set):
        """店舗画面.
        """
        uid = cabaclub_store_set.playerdata.uid
        store_mid = cabaclub_store_set.master.id
        if cabaclub_store_set.playerdata.is_open and cabaclub_store_set.get_current_eventmaster(
                self.__now):
            # 最後に閲覧した時間.
            data = CabaClubRecentlyViewedTime.get(uid, store_mid)
            if data and data.vtime < cabaclub_store_set.playerdata.etime:
                # 前回見たのがイベント発生前.
                self.appRedirect(
                    self.makeAppLinkUrlRedirect(
                        UrlMaker.cabaclubeventanim(store_mid)))
                return
        # 店舗情報.
        obj_cabaclubstore = Objects.cabaclubstore(self, cabaclub_store_set,
                                                  self.__now)
        # アイテム.
        obj_cabaclubitemdata = Objects.cabaclubitemdata(
            self, cabaclub_store_set, self.__now)
        # 配置されているキャスト.
        cardlist = self.getStoreCastList(store_mid)

        # 経営スキル
        cardlist_has_skill = BackendApi.filter_has_cabaclubskill(cardlist)
        cabaclub_skills = Counter()
        if cardlist_has_skill:
            for card in cardlist_has_skill:
                skill = card.master.getSkill()
                cabaclub_skills[skill.name] += 1
        self.html_param['cabaclub_skills'] = cabaclub_skills

        obj_cardlist = []
        for card in cardlist:
            obj_card = Objects.card(self, card)
            obj_card['url_change'] = self.makeAppLinkUrl(
                UrlMaker.cabaclubcastselect(store_mid, card.id))
            obj_card['url_remove'] = self.makeAppLinkUrl(
                UrlMaker.cabaclubcastremove(store_mid, card.id))
            obj_cardlist.append(obj_card)
        # キャスト追加リンク.
        url_addmember = None
        if len(cardlist) < cabaclub_store_set.master.cast_num_max:
            url_addmember = self.makeAppLinkUrl(
                UrlMaker.cabaclubcastselect(store_mid))

        # 店舗に設定可能なキャストを習得する
        setable_cardlist = BackendApi.get_cabaclub_setable_cardlist(
            self.getModelMgr(), uid, self.__now, using=settings.DB_READONLY)

        # HTML書き込み.
        url = UrlMaker.cabaclubdeckselect(self.__mid)
        self.html_param.update(
            cabaclubstore=obj_cabaclubstore,
            cabaclubitemdata=obj_cabaclubitemdata,
            cardlist=obj_cardlist,
            url_addmember=url_addmember,
            ctype=self.__ctype,
            cast_set=True if cardlist else False,
            cast_add=True if setable_cardlist else False,
            url_cabaclub_deckselect_add=self.makeAppLinkUrl(url),
            url_cabaclub_deckselect_remove=self.makeAppLinkUrl(
                OSAUtil.addQuery(url, Defines.URLQUERY_REM, 'rem')),
        )
        if cabaclub_store_set.playerdata.is_open:
            # 閲覧時間の更新.
            CabaClubRecentlyViewedTime.create(uid, store_mid,
                                              self.__now).save()
            self.writeAppHtml('cabaclub/store_opened')
        else:
            # 使用できるアイテム.
            self.setFromPage(Defines.FromPages.CABACLUB_STORE, store_mid)
            BackendApi.put_cabaclubitem_uselead_info(self, cabaclub_store_set,
                                                     self.__now)
            self.writeAppHtml('cabaclub/store_closed')