def _prepareData(self, serverList, serverName, serverTimeLeft):
     if len(serverList) == 1:
         serversDDEnabled = False
     else:
         serversDDEnabled = True
     applyButtonLabel = _ms(RANKED_BATTLES.PRIMETIME_APPLYBTN)
     title = text_styles.epicTitle(RANKED_BATTLES.PRIMETIME_TITLE)
     if self._isEnabled:
         timeLeftStr = time_utils.getTillTimeString(
             serverTimeLeft,
             MENU.HEADERBUTTONS_BATTLE_TYPES_RANKED_AVAILABILITY)
         status = text_styles.main(
             _ms(RANKED_BATTLES.PRIMETIME_STATUS_THISENABLE,
                 server=serverName,
                 time=text_styles.warning(timeLeftStr)))
         mainBackground = RES_ICONS.MAPS_ICONS_RANKEDBATTLES_PRIMETIME_PRIME_TIME_BACK_DEFAULT
         title = text_styles.epicTitle(
             RANKED_BATTLES.PRIMETIME_TITLEWELCOME)
     else:
         applyButtonLabel = _ms(RANKED_BATTLES.PRIMETIME_CONTINUEBTN)
         status = '{} {}\n{}'.format(
             icons.alert(-3),
             text_styles.alert(
                 RANKED_BATTLES.PRIMETIME_STATUS_DISABLEFIRST),
             text_styles.main(RANKED_BATTLES.PRIMETIME_STATUS_DISABLE))
         mainBackground = RES_ICONS.MAPS_ICONS_RANKEDBATTLES_PRIMETIME_PRIME_TIME_BACK_BW
     return {
         'title': title,
         'apply': applyButtonLabel,
         'mainBackground': mainBackground,
         'status': status,
         'serversDDEnabled': serversDDEnabled,
         'serverDDVisible': True
     }
 def __makeGlobalMapBlock(self, globalMapStats, ratings):
     hasGlobalMap = globalMapStats.hasGlobalMap()
     if hasGlobalMap:
         notActual = ratings.getGlobalMapBattlesFor28Days() <= 0
         stats = [{'local': 'rageLevel10',
           'value': formatField(getter=ratings.getGlobalMapEloRating10, formatter=BigWorld.wg_getIntegralFormat),
           'timeExpired': notActual,
           'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_ELO_RAGE_10_BODY},
          {'local': 'rageLevel8',
           'value': formatField(getter=ratings.getGlobalMapEloRating8, formatter=BigWorld.wg_getIntegralFormat),
           'timeExpired': notActual,
           'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_ELO_RAGE_8_BODY},
          {'local': 'rageLevel6',
           'value': formatField(getter=ratings.getGlobalMapEloRating6, formatter=BigWorld.wg_getIntegralFormat),
           'timeExpired': notActual,
           'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_ELO_RAGE_6_BODY},
          {'local': 'battlesCount',
           'value': formatField(getter=ratings.getGlobalMapBattlesFor28Days, formatter=BigWorld.wg_getIntegralFormat),
           'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_BATTLES_COUNT_BODY},
          {'local': 'provinces',
           'value': formatField(getter=globalMapStats.getCurrentProvincesCount, formatter=BigWorld.wg_getIntegralFormat),
           'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_PROVINCE_BODY}]
         statsBlock = self.__makeStatsBlock(stats)
         emptyLbl = ''
     else:
         statsBlock = ()
         if isValueAvailable(globalMapStats.hasGlobalMap):
             emptyLbl = text_styles.standard(CLANS.CLANPROFILE_SUMMARYVIEW_BLOCKLBL_EMPTYGLOBALMAP)
         else:
             emptyLbl = '%s %s' % (icons.alert(), text_styles.standard(CLANS.CLANPROFILE_SUMMARYVIEW_NODATA))
     return {'isShowHeader': True,
      'header': text_styles.highTitle(CLANS.CLANPROFILE_MAINWINDOWTAB_GLOBALMAP),
      'statBlocks': statsBlock,
      'emptyLbl': emptyLbl,
      'isActivated': hasGlobalMap}
 def __makeMainVO(self):
     result = {}
     extra = self.prbEntity.getExtra()
     (_, _, arenaTypeID), _ = self.__currentBuilding
     unitPermissions = self.prbEntity.getPermissions()
     activeConsumes = extra.getConsumables()
     result['mapID'] = arenaTypeID
     arenaType = ArenaType.g_cache.get(arenaTypeID)
     canUseEquipments = self.__battle.itemData.canUseEquipments
     if arenaType is not None:
         mapName = text_styles.main(arenaType.name)
     else:
         mapName = ''
     infoIcon = icons.info()
     result['headerDescr'] = text_styles.standard(
         i18n.makeString(FORTIFICATIONS.FORTCLANBATTLEROOM_HEADER_MAPTITLE,
                         mapName=mapName) + ' ' + infoIcon)
     result['isOrdersBgVisible'] = bool(
         not unitPermissions.canChangeConsumables() and len(activeConsumes))
     result['mineClanName'] = g_clanCache.clanTag
     _, enemyClanAbbev, _ = self.__battle.getOpponentClanInfo()
     result['enemyClanName'] = '[%s]' % enemyClanAbbev
     if not canUseEquipments and unitPermissions.canChangeConsumables():
         result['ordersDisabledMessage'] = icons.alert(
         ) + ' ' + text_styles.alert(
             i18n.makeString(
                 FORTIFICATIONS.FORTCLANBATTLEROOM_HEADER_ORDERSDISABLED))
         result[
             'ordersDisabledTooltip'] = TOOLTIPS.FORTIFICATION_FORTCLANBATTLEROOM_ORDERSDISABLED_DIVISIONMISMATCH
     self.as_setBattleRoomDataS(result)
     return
Esempio n. 4
0
 def __makeMainVO(self):
     result = {}
     extra = self.unitFunctional.getExtra()
     (_, _, arenaTypeID), _ = self.__currentBuilding
     unitPermissions = self.unitFunctional.getPermissions()
     activeConsumes = extra.getConsumables()
     result["mapID"] = arenaTypeID
     arenaType = ArenaType.g_cache.get(arenaTypeID)
     canUseEquipments = self.__battle.itemData.canUseEquipments
     if arenaType is not None:
         mapName = text_styles.main(arenaType.name)
     else:
         mapName = ""
     infoIcon = icons.info()
     result["headerDescr"] = text_styles.standard(
         i18n.makeString(FORTIFICATIONS.FORTCLANBATTLEROOM_HEADER_MAPTITLE, mapName=mapName) + " " + infoIcon
     )
     result["isOrdersBgVisible"] = bool(
         not unitPermissions.canChangeConsumables() and len(activeConsumes) and not canUseEquipments
     )
     result["mineClanName"] = g_clanCache.clanTag
     _, enemyClanAbbev, _ = self.__battle.getOpponentClanInfo()
     result["enemyClanName"] = "[%s]" % enemyClanAbbev
     if not canUseEquipments and unitPermissions.canChangeConsumables():
         result["ordersDisabledMessage"] = (
             icons.alert()
             + " "
             + text_styles.alert(i18n.makeString(FORTIFICATIONS.FORTCLANBATTLEROOM_HEADER_ORDERSDISABLED))
         )
         result["ordersDisabledTooltip"] = TOOLTIPS.FORTIFICATION_FORTCLANBATTLEROOM_ORDERSDISABLED_DIVISIONMISMATCH
     self.as_setBattleRoomDataS(result)
 def showDataUnavailableView(self):
     header = icons.alert() + i18n.makeString(
         MENU.BROWSER_DATAUNAVAILABLE_HEADER)
     description = i18n.makeString(MENU.BROWSER_DATAUNAVAILABLE_DESCRIPTION)
     self.as_loadingStopS()
     self.as_showServiceViewS(header, description)
     self.onError()
Esempio n. 6
0
 def atReturn(self, cd):
     cd.self.as_showMiniClientInfoS(
         '{0} {1}'.format(
             icons.alert(-3),
             text_styles.main(
                 _ms('#miniclient:battle_type_select_popover/message'))),
         _ms('#miniclient:personal_quests_welcome_view/continue_download'))
 def __updateStatus(self):
     prefix = i18n.makeString(FORTIFICATIONS.SETTINGSDEFENCEHOURPOPOVER_DEFENCEHOURTITLE)
     prefix = text_styles.highTitle(prefix)
     if self._isFortFrozen():
         toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_FREEZED)
         icon = RES_ICONS.MAPS_ICONS_LIBRARY_ERRORICON_1
         imageSource = icons.makeImageTag(icon, 16, 16, -4, 0)
         currentStatus = text_styles.error(i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_FREEZED))
         currentStatus = imageSource + " " + currentStatus
     elif self.__defencePeriod:
         toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_ACTIVATED)
         currentStatus = "".join(
             (
                 icons.checkmark(),
                 text_styles.success(" " + i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_ACTIVATED)),
             )
         )
     elif self.__checkConditions():
         toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_CANBEACTIVATED)
         currentStatus = "".join(
             (
                 icons.alert(),
                 text_styles.alert(" " + i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_NOTACTIVATED)),
             )
         )
     else:
         toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_CANNOTBEACTIVATED)
         currentStatus = "".join(
             (
                 icons.notAvailable(),
                 text_styles.standard(" " + i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_NOTAVAILABLE)),
             )
         )
     self.as_setMainStatusS(prefix, currentStatus, toolTip)
 def __makeDefencePeriodData(self):
     alertMessage = ''
     blockBtnEnabled = True
     fort = self.fortCtrl.getFort()
     inProcess, inCooldown = fort.getDefenceHourProcessing()
     if self._isFortFrozen():
         conditionPostfix = text_styles.standard(fort.getDefencePeriodStr())
     else:
         conditionPostfix = text_styles.neutral(fort.getDefencePeriodStr())
     blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_DEFENCEBTNENABLED
     descriptionTooltip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_DEFENCEPERIODDESCRIPTION
     if inProcess:
         defenceHourChangeDay, nextDefenceHour, _ = fort.events[FORT_EVENT_TYPE.DEFENCE_HOUR_CHANGE]
         timestampStart = time_utils.getTimeTodayForUTC(nextDefenceHour)
         value = '%s - %s' % (BigWorld.wg_getShortTimeFormat(timestampStart), BigWorld.wg_getShortTimeFormat(timestampStart + time_utils.ONE_HOUR))
         msgString = i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_INPROGRESS, value=value, date=BigWorld.wg_getShortDateFormat(defenceHourChangeDay))
         alertMessage = text_styles.alert(msgString)
         blockBtnEnabled = False
         blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_DEFENCEBTNDISABLED
     elif inCooldown:
         msgString = i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_RECENTLYSCHEDULED)
         alertMessage = text_styles.alert(msgString)
         blockBtnEnabled = False
         blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_DEFENCEBTNDISABLED
     conditionPrefix = text_styles.main(i18n.makeString(FORTIFICATIONS.settingswindow_blockcondition('defencePeriodTime')))
     blockDescr = text_styles.standard(i18n.makeString(FORTIFICATIONS.settingswindow_blockdescr('defencePeriodTime')))
     if alertMessage:
         alertMessage = icons.alert() + ' ' + alertMessage
     return {'blockBtnEnabled': blockBtnEnabled,
      'blockDescr': blockDescr,
      'blockCondition': conditionPrefix + ' ' + conditionPostfix,
      'alertMessage': alertMessage,
      'blockBtnToolTip': blockBtnToolTip,
      'descriptionTooltip': descriptionTooltip}
 def _buildVO(self):
     deletedTankmen = self.restore.getTankmenBeingDeleted()
     alertImgSrc = ''
     alertText = ''
     alertTooltip = ''
     if not self._tankman.isRestorable():
         alertText = text_styles.alert(
             icons.alert() + _ms(DIALOGS.PROTECTEDDISMISSTANKMAN_ALERT))
         alertTooltip = TOOLTIPS.DISMISSTANKMANDIALOG_CANTRESTORALERT
     elif deletedTankmen:
         alertImgSrc = RES_ICONS.MAPS_ICONS_LIBRARY_ALERTICON
         alertTooltip = makeTooltip(
             TOOLTIPS.DISMISSTANKMANDIALOG_BUFFERISFULL_HEADER,
             _ms(TOOLTIPS.DISMISSTANKMANDIALOG_BUFFERISFULL_BODY,
                 placeCount=self.restore.getMaxTankmenBufferLength(),
                 currCount=len(self.restore.getDismissedTankmen()),
                 tankmanNew=self._tankman.fullUserName,
                 tankmanOld=formatDeletedTankmanStr(deletedTankmen[0])))
     return {
         'alertText': alertText,
         'alertTooltip': alertTooltip,
         'alertImgSrc': alertImgSrc,
         'questionText':
         text_styles.main(_ms(DIALOGS.DISMISSTANKMAN_MESSAGE))
     }
Esempio n. 10
0
 def __makeDefencePeriodData(self):
     alertMessage = ''
     blockBtnEnabled = True
     fort = self.fortCtrl.getFort()
     inProcess, inCooldown = fort.getDefenceHourProcessing()
     if self._isFortFrozen():
         conditionPostfix = text_styles.standard(fort.getDefencePeriodStr())
     else:
         conditionPostfix = text_styles.neutral(fort.getDefencePeriodStr())
     blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_DEFENCEBTNENABLED
     descriptionTooltip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_DEFENCEPERIODDESCRIPTION
     if inProcess:
         defenceHourChangeDay, nextDefenceHour, _ = fort.events[FORT_EVENT_TYPE.DEFENCE_HOUR_CHANGE]
         timestampStart = time_utils.getTimeTodayForUTC(nextDefenceHour)
         value = '%s - %s' % (BigWorld.wg_getShortTimeFormat(timestampStart), BigWorld.wg_getShortTimeFormat(timestampStart + time_utils.ONE_HOUR))
         msgString = i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_INPROGRESS, value=value, date=BigWorld.wg_getShortDateFormat(defenceHourChangeDay))
         alertMessage = text_styles.alert(msgString)
         blockBtnEnabled = False
         blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_DEFENCEBTNDISABLED
     elif inCooldown:
         msgString = i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_RECENTLYSCHEDULED)
         alertMessage = text_styles.alert(msgString)
         blockBtnEnabled = False
         blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_DEFENCEBTNDISABLED
     conditionPrefix = text_styles.main(i18n.makeString(FORTIFICATIONS.settingswindow_blockcondition('defencePeriodTime')))
     blockDescr = text_styles.standard(i18n.makeString(FORTIFICATIONS.settingswindow_blockdescr('defencePeriodTime')))
     if alertMessage:
         alertMessage = icons.alert() + ' ' + alertMessage
     return {'blockBtnEnabled': blockBtnEnabled,
      'blockDescr': blockDescr,
      'blockCondition': conditionPrefix + ' ' + conditionPostfix,
      'alertMessage': alertMessage,
      'blockBtnToolTip': blockBtnToolTip,
      'descriptionTooltip': descriptionTooltip}
    def showWarningDialog(self, dialogID, settings, isCloseWnd):
        def callback(isOk):
            if not self.isDisposed():
                if isOk:
                    self.applySettings(settings, False)
                self.as_confirmWarningDialogS(isOk, dialogID)
                if isCloseWnd and isOk:
                    self.onWindowClose()

        ctx = None
        if dialogID == SETTINGS_DIALOGS.MINIMAP_ALPHA_NOTIFICATION:
            ctx = {
                'icon':
                icons.alert(),
                'alert':
                makeHtmlString(
                    'html_templates:lobby/dialogs', 'minimapAlphaNotification',
                    {
                        'message':
                        backport.text(R.strings.dialogs.
                                      minimapAlphaNotification.message.alert())
                    })
            }
        DialogsInterface.showI18nConfirmDialog(dialogID, callback, ctx)
        return
Esempio n. 12
0
 def __makeGlobalMapBlock(self, globalMapStats, ratings):
     hasGlobalMap = globalMapStats.hasGlobalMap()
     if hasGlobalMap:
         notActual = ratings.getGlobalMapBattlesFor28Days() <= 0
         stats = [{'local': 'rageLevel10',
           'value': formatField(getter=ratings.getGlobalMapEloRating10, formatter=BigWorld.wg_getIntegralFormat),
           'timeExpired': notActual,
           'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_ELO_RAGE_10_BODY},
          {'local': 'rageLevel8',
           'value': formatField(getter=ratings.getGlobalMapEloRating8, formatter=BigWorld.wg_getIntegralFormat),
           'timeExpired': notActual,
           'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_ELO_RAGE_8_BODY},
          {'local': 'rageLevel6',
           'value': formatField(getter=ratings.getGlobalMapEloRating6, formatter=BigWorld.wg_getIntegralFormat),
           'timeExpired': notActual,
           'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_ELO_RAGE_6_BODY},
          {'local': 'battlesCount',
           'value': formatField(getter=ratings.getGlobalMapBattlesFor28Days, formatter=BigWorld.wg_getIntegralFormat),
           'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_BATTLES_COUNT_BODY},
          {'local': 'provinces',
           'value': formatField(getter=globalMapStats.getCurrentProvincesCount, formatter=BigWorld.wg_getIntegralFormat),
           'tooltip': CLANS.CLANPROFILE_SUMMARYVIEW_TOOLTIP_GMAP_PROVINCE_BODY}]
         statsBlock = self.__makeStatsBlock(stats)
         emptyLbl = ''
     else:
         statsBlock = ()
         if isValueAvailable(globalMapStats.hasGlobalMap):
             emptyLbl = text_styles.standard(CLANS.CLANPROFILE_SUMMARYVIEW_BLOCKLBL_EMPTYGLOBALMAP)
         else:
             emptyLbl = '%s %s' % (icons.alert(), text_styles.standard(CLANS.CLANPROFILE_SUMMARYVIEW_NODATA))
     return {'isShowHeader': True,
      'header': text_styles.highTitle(CLANS.CLANPROFILE_MAINWINDOWTAB_GLOBALMAP),
      'statBlocks': statsBlock,
      'emptyLbl': emptyLbl,
      'isActivated': hasGlobalMap}
Esempio n. 13
0
    def atCall(self, cd):
        vehicleItem = g_itemsCache.items.getItem(GUI_ITEM_TYPE.VEHICLE,
                                                 cd.self.nationID,
                                                 cd.self.inNationID)
        if self.__vehicle_is_available(vehicleItem):
            return None
        else:
            cd.avoid()

            def dialogButtonClickHandler(confirm):
                if confirm:
                    BigWorld.callback(
                        0.1, lambda: cd.self._VehicleBuyWindow__requestForBuy(
                            cd.args[0]))
                else:
                    cd.self.as_setEnabledSubmitBtnS(True)

            showDialog(
                SimpleDialogMeta(title=_ms('#miniclient:buy_vehicle/title'),
                                 message=icons.alert() +
                                 _ms('#miniclient:buy_vehicle/message'),
                                 buttons=I18nConfirmDialogButtons(
                                     i18nKey='questsConfirmDialog',
                                     focusedIndex=DIALOG_BUTTON_ID.SUBMIT)),
                dialogButtonClickHandler)
            return None
Esempio n. 14
0
 def __getItemRestoreInfo(self, item):
     """
     Get formatted vehicle restore info
     :param item: <Vehicle>
     :return: <str>
     """
     if item.isRestorePossible():
         if constants.IS_CHINA and item.rentalIsActive:
             return text_styles.alert(
                 MENU.VEHICLE_RESTORELEFT_DISABLEDBYRENT)
         if item.hasLimitedRestore():
             restoreLeftTime = item.restoreInfo.getRestoreTimeLeft()
             timeKey, formattedTime = getTimeLeftInfo(restoreLeftTime)
             msg = i18n.makeString('#menu:vehicle/restoreLeft/%s' % timeKey,
                                   time=formattedTime)
             if restoreLeftTime < time_utils.ONE_DAY:
                 return icons.alert() + text_styles.alert(msg)
             return text_styles.stats(msg)
         if item.hasRestoreCooldown():
             timeKey, formattedTime = getTimeLeftInfo(
                 item.restoreInfo.getRestoreCooldownTimeLeft())
             msg = i18n.makeString('#menu:vehicle/restoreCooldownLeft/%s' %
                                   timeKey,
                                   time=formattedTime)
             return text_styles.stats(msg)
     return ''
 def __updateClubData(self):
     resultVO = _IntroViewVO()
     club = self.getClub()
     if self.clubsState.getStateID() == CLIENT_CLUB_STATE.HAS_CLUB and club:
         profile = self.clubsCtrl.getProfile()
         limits = self.clubsCtrl.getLimits()
         resultVO.setClubLabel(club.getUserName())
         resultVO.setClubDBbID(club.getClubDbID())
         resultVO.setClubLadderChevron(club)
         resultVO.showAdditionalButton(_ms(CYBERSPORT.WINDOW_INTRO_ADDITIONALBTN_LIST), TOOLTIPS.CYBERSPORT_INTRO_ADDITIONALBTN)
         resultVO.moveToTheUnitByCreateButton()
         resultVO.openClubProfileByChevronClick()
         if club.hasActiveUnit():
             unitInfo = club.getUnitInfo()
             resultVO.showCreateButton(_ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_JOINTEAM), TOOLTIPS.CYBERSPORT_INTRO_CREATEBTN_JOINTEAM)
             if unitInfo.isInBattle():
                 isInBattleIcon = icons.makeImageTag(RES_ICONS.MAPS_ICONS_LIBRARY_SWORDSICON, 16, 16, -3, 0)
                 resultVO.setClubDescription(text_styles.neutral('%s %s' % (isInBattleIcon, _ms(CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_TEAMINBATTLE))))
             else:
                 resultVO.setClubDescription(text_styles.neutral(CYBERSPORT.STATICFORMATIONPROFILEWINDOW_STATUSLBL_CLUBISCALLED))
         else:
             canCreateUnit = limits.canCreateUnit(profile, club)
             if canCreateUnit.success:
                 resultVO.setClubDescription(text_styles.neutral(CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_ASSEMBLINGTEAM))
                 resultVO.showCreateButton(_ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_ASSEMBLETEAM), TOOLTIPS.CYBERSPORT_INTRO_CREATEBTN_ASSEMBLETEAM)
             elif canCreateUnit.reason == CLIENT_CLUB_RESTRICTIONS.NOT_ENOUGH_MEMBERS:
                 if club.getPermissions().isOwner():
                     resultVO.setClubDescription(text_styles.main(CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_NOTENOUGHPLAYERS))
                     resultVO.showCreateButton(_ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_ADDPLAYERS), TOOLTIPS.CYBERSPORT_INTRO_CREATEBTN_ADDPLAYERS)
                 else:
                     resultVO.setClubDescription(text_styles.error(CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_OWNERASSEMBLINGTEAM), isBackVisible=True)
                     resultVO.showCreateButton(_ms('#cybersport:window/intro/create/btn/private/seeStaff'), '#tooltips:cyberSport/intro/createBtn/addPlayers/private')
                 resultVO.needAddPlayers()
             else:
                 resultVO.setClubDescription(text_styles.error(CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_NOTENOUGHPERMISSIONS_ASSEMBLINGTEAM), isBackVisible=True)
                 resultVO.showCreateButton(_ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_ASSEMBLETEAM), '#tooltips:StaticFormationProfileWindow/actionBtn/notEnoughPermissions', enabled=False)
     elif self.clubsState.getStateID() == CLIENT_CLUB_STATE.NO_CLUB:
         resultVO.setNoClubChevron(isApplicationSent=False)
         resultVO.setClubLabel(_ms(CYBERSPORT.WINDOW_INTRO_TEAM_HEADER_STATICTEAMS))
         resultVO.setClubDescription(text_styles.main(CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_CREATEORFIND))
         resultVO.showCreateButton(_ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_LOOK), TOOLTIPS.CYBERSPORT_INTRO_CREATEBTN_LOOK)
     elif self.clubsState.getStateID() == CLIENT_CLUB_STATE.SENT_APP:
         resultVO.setNoClubChevron(isApplicationSent=True)
         resultVO.openClubProfileByChevronClick()
         if club is not None:
             resultVO.setClubLabel(club.getUserName())
             resultVO.setClubLadderChevron(club)
         resultVO.setClubDescription(text_styles.neutral(CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_WAITINGFORREQUEST))
         resultVO.showCancelButton(_ms(CYBERSPORT.WINDOW_INTRO_CANCEL_BTN_LABEL), TOOLTIPS.CYBERSPORT_INTRO_CANCELBTN)
         resultVO.showAdditionalButton(_ms(CYBERSPORT.WINDOW_INTRO_ADDITIONALBTN_LIST), TOOLTIPS.CYBERSPORT_INTRO_ADDITIONALBTN)
     else:
         resultVO.fillDefault()
         resultVO.acceptNavigationByChevron(False)
     isBattlesAvailable, _ = self.clubsCtrl.getAvailabilityCtrl().getStatus()
     if not isBattlesAvailable:
         resultVO.setClubDescriptionTooltip(TOOLTIPS_CONSTANTS.LADDER_REGULATIONS)
         resultVO.setClubDescription('{0}{1}'.format(icons.alert(), text_styles.main(CYBERSPORT.LADDERREGULATIONS_WARNING)), True)
     self.as_setStaticTeamDataS(resultVO.getData())
     return
 def __makeVacationData(self):
     alertMessage = ''
     blockBtnEnabled = True
     daysBeforeVacation = -1
     fort = self.fortCtrl.getFort()
     isVacationEnabled = fort.isVacationEnabled()
     inProcess, inCooldown = fort.getVacationProcessing()
     _, vacationEnd = fort.getVacationDate()
     blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNENABLED
     descriptionTooltip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONDESCRIPTION
     conditionPostfix = text_styles.standard(
         i18n.makeString(FORTIFICATIONS.
                         SETTINGSWINDOW_BLOCKCONDITION_VACATIONNOTPLANNED))
     if inProcess or inCooldown:
         blockBtnEnabled = False
         if fort.isOnVacation():
             blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNDISABLED
             daysBeforeVacation = -1
         elif time_utils.getTimeDeltaFromNow(vacationEnd) != 0:
             blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNDISABLED
         else:
             cooldownEnd = vacationEnd + g_fortCache.vacationCooldownTime
             daysBeforeVacation = time_utils.getTimeDeltaFromNow(
                 cooldownEnd) / time_utils.ONE_DAY + 1
             if daysBeforeVacation == 0:
                 blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNDSBLDLESSADAY
                 daysBeforeVacation = -1
             else:
                 blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNDISABLEDNOTPLANNED
                 isVacationEnabled = False
     if isVacationEnabled:
         vacation = fort.getVacationDateTimeStr()
         if not self._isFortFrozen():
             if not fort.isOnVacation():
                 conditionPostfix = text_styles.neutral(vacation)
             else:
                 conditionPostfix = text_styles.success(vacation)
         else:
             conditionPostfix = text_styles.standard(vacation)
     conditionPrefix = text_styles.main(
         i18n.makeString(
             FORTIFICATIONS.settingswindow_blockcondition('vacation')))
     blockDescr = text_styles.standard(
         i18n.makeString(
             FORTIFICATIONS.settingswindow_blockdescr('vacation')))
     if alertMessage:
         alertMessage = icons.alert() + ' ' + alertMessage
     return {
         'blockBtnEnabled': blockBtnEnabled,
         'blockDescr': blockDescr,
         'blockCondition': conditionPrefix + ' ' + conditionPostfix,
         'alertMessage': alertMessage,
         'blockBtnToolTip': blockBtnToolTip,
         'daysBeforeVacation': daysBeforeVacation,
         'descriptionTooltip': descriptionTooltip
     }
Esempio n. 17
0
 def setRecord(self, result, reusable):
     self.isMoneyEnabled = not reusable.isWGMoneyOffline
     self.moneyEnabledTooltip = makeTooltip(
         ' '.join(
             (icons.alert(-3),
              i18n.makeString(TOOLTIPS.BATTLERESULTS_MONEYALERT_HEADER))),
         TOOLTIPS.BATTLERESULTS_MONEYALERT_BODY, None, None)
     self.creditsNotAccrueStr = text_styles.alert(
         BATTLE_RESULTS.COMMON_CREDITS_NOTACCRUED)
     return
Esempio n. 18
0
 def _packUnsupportedBlock(self):
     return formatters.packTitleDescBlock(
         title=text_styles.statusAlert(
             icons.alert(-3) + ' ' +
             _ms(VEHICLE_CUSTOMIZATION.CUSTOMIZATION_TOOLTIP_WARNING_TITLE)
         ),
         desc=text_styles.standard(
             VEHICLE_CUSTOMIZATION.
             CUSTOMIZATION_TOOLTIP_WARNING_REASON_FORWARD),
         padding={'top': -2})
 def __getLocalize(self, value, countIteration):
     headerFormatter = text_styles.promoSubTitle
     bodyFormatter = text_styles.main
     alertIcon = ''
     if countIteration == 0:
         headerFormatter = text_styles.promoTitle
         if not self.__isDefenceHourEnabled:
             bodyFormatter = text_styles.alert
             alertIcon = icons.alert() + ' '
     valueHeader = headerFormatter(self.__getText(value + '/header'))
     valueBody = bodyFormatter(alertIcon + self.__getText(value + '/body'))
     return (valueHeader, valueBody)
 def _populate(self):
     super(FortDisconnectViewComponent, self)._populate()
     state = self.fortState
     warningIcon = icons.alert()
     warningText = warningIcon + i18n.makeString(FORTIFICATIONS.DISCONNECTED_WARNING)
     if state.getStateID() == CLIENT_FORT_STATE.ROAMING:
         warningDescrText = FORTIFICATIONS.DISCONNECTED_WARNINGDESCRIPTIONROAMING
     else:
         warningDescrText = FORTIFICATIONS.DISCONNECTED_WARNINGDESCRIPTIONCENTERUNAVAILABLE
     warningDescrText = i18n.makeString(warningDescrText)
     self.as_setWarningTextsS(warningText, warningDescrText)
     g_eventBus.handleEvent(events.FortEvent(events.FortEvent.VIEW_LOADED), scope=EVENT_BUS_SCOPE.FORT)
 def __makeOffDayData(self):
     alertMessage = ''
     blockBtnEnabled = True
     fort = self.fortCtrl.getFort()
     inProcess, inCooldown = fort.getOffDayProcessing()
     dayOff = fort.getOffDayStr()
     if self._isFortFrozen():
         conditionPostfix = text_styles.standard(dayOff)
     else:
         conditionPostfix = text_styles.neutral(dayOff)
     blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_WEEKENDBTNENABLED
     descriptionTooltip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_DAYOFFDESCRIPTION
     if inProcess:
         offDayChangeDate, nextOffDayUTC, _ = fort.events[
             FORT_EVENT_TYPE.OFF_DAY_CHANGE]
         nextOffDayLocal = adjustOffDayToLocal(
             nextOffDayUTC,
             self.fortCtrl.getFort().getLocalDefenceHour()[0])
         if nextOffDayLocal > NOT_ACTIVATED:
             value = i18n.makeString(
                 MENU.datetime_weekdays_full(str(nextOffDayLocal + 1)))
         else:
             value = i18n.makeString(
                 FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_NOWEEKEND)
         msgString = i18n.makeString(
             FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_INPROGRESS,
             value=value,
             date=BigWorld.wg_getLongDateFormat(offDayChangeDate))
         alertMessage = text_styles.alert(msgString)
         blockBtnEnabled = False
         blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_WEEKENDBTNDISABLED
     elif inCooldown:
         msgString = i18n.makeString(
             FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_RECENTLYSCHEDULED)
         alertMessage = text_styles.alert(msgString)
         blockBtnEnabled = False
         blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_WEEKENDBTNDISABLED
     conditionPrefix = text_styles.main(
         i18n.makeString(
             FORTIFICATIONS.settingswindow_blockcondition('weekEnd')))
     blockDescr = text_styles.standard(
         i18n.makeString(
             FORTIFICATIONS.settingswindow_blockdescr('weekEnd')))
     if alertMessage:
         alertMessage = icons.alert() + ' ' + alertMessage
     return {
         'blockBtnEnabled': blockBtnEnabled,
         'blockDescr': blockDescr,
         'blockCondition': conditionPrefix + ' ' + conditionPostfix,
         'alertMessage': alertMessage,
         'blockBtnToolTip': blockBtnToolTip,
         'descriptionTooltip': descriptionTooltip
     }
 def __getLocalize(self, value, countIteration):
     headerFormatter = text_styles.promoSubTitle
     bodyFormatter = text_styles.main
     alertIcon = ''
     if countIteration == 0:
         headerFormatter = text_styles.promoTitle
         if not self.__isDefenceHourEnabled:
             bodyFormatter = text_styles.alert
             alertIcon = icons.alert() + ' '
     valueHeader = headerFormatter(self.__getText(value + '/header'))
     valueBody = bodyFormatter(alertIcon + self.__getText(value + '/body'))
     return (valueHeader, valueBody)
Esempio n. 23
0
 def __updateActionButton(self, club):
     labels, isEnableActionBtn, action = self.__getButtonInfo(club)
     data = {'buttonLabel': labels[0],
      'statusLbl': labels[1],
      'tooltipHeader': labels[2],
      'tooltipBody': labels[3],
      'action': action,
      'enabled': isEnableActionBtn}
     if isHourInForbiddenList(self.clubsCtrl.getAvailabilityCtrl().getForbiddenHours()):
         data['statusLbl'] = '{0}{1}'.format(icons.alert(), text_styles.main(CYBERSPORT.LADDERREGULATIONS_WARNING))
         data['isTooltipStatus'] = True
         data['tooltipStatus'] = TOOLTIPS_CONSTANTS.LADDER_REGULATIONS
     self.as_updateActionButtonS(data)
Esempio n. 24
0
 def __updateActionButton(self, club):
     labels, isEnableActionBtn, action, canPerformAction = self.__getButtonInfo(club)
     data = {'buttonLabel': labels[0],
      'statusLbl': labels[1],
      'tooltipHeader': labels[2],
      'tooltipBody': labels[3],
      'action': action,
      'enabled': isEnableActionBtn}
     if canPerformAction and isHourInForbiddenList(self.clubsCtrl.getAvailabilityCtrl().getForbiddenHours()):
         data['statusLbl'] = '{0}{1}'.format(icons.alert(), text_styles.main(CYBERSPORT.LADDERREGULATIONS_WARNING))
         data['isTooltipStatus'] = True
         data['tooltipStatus'] = TOOLTIPS_CONSTANTS.LADDER_REGULATIONS
     self.as_updateActionButtonS(data)
 def __makeVacationData(self):
     alertMessage = ""
     blockBtnEnabled = True
     daysBeforeVacation = -1
     fort = self.fortCtrl.getFort()
     isVacationEnabled = fort.isVacationEnabled()
     inProcess, inCooldown = fort.getVacationProcessing()
     _, vacationEnd = fort.getVacationDate()
     blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNENABLED
     descriptionTooltip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONDESCRIPTION
     conditionPostfix = text_styles.standard(
         i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_VACATIONNOTPLANNED)
     )
     if inProcess or inCooldown:
         blockBtnEnabled = False
         if fort.isOnVacation():
             blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNDISABLED
             daysBeforeVacation = -1
         elif time_utils.getTimeDeltaFromNow(vacationEnd) != 0:
             blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNDISABLED
         else:
             cooldownEnd = vacationEnd + g_fortCache.vacationCooldownTime
             daysBeforeVacation = time_utils.getTimeDeltaFromNow(cooldownEnd) / time_utils.ONE_DAY + 1
             if daysBeforeVacation == 0:
                 blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNDSBLDLESSADAY
                 daysBeforeVacation = -1
             else:
                 blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_VACATIONBTNDISABLEDNOTPLANNED
                 isVacationEnabled = False
     if isVacationEnabled:
         vacation = fort.getVacationDateTimeStr()
         if not self._isFortFrozen():
             if not fort.isOnVacation():
                 conditionPostfix = text_styles.neutral(vacation)
             else:
                 conditionPostfix = text_styles.success(vacation)
         else:
             conditionPostfix = text_styles.standard(vacation)
     conditionPrefix = text_styles.main(i18n.makeString(FORTIFICATIONS.settingswindow_blockcondition("vacation")))
     blockDescr = text_styles.standard(i18n.makeString(FORTIFICATIONS.settingswindow_blockdescr("vacation")))
     if alertMessage:
         alertMessage = icons.alert() + " " + alertMessage
     return {
         "blockBtnEnabled": blockBtnEnabled,
         "blockDescr": blockDescr,
         "blockCondition": conditionPrefix + " " + conditionPostfix,
         "alertMessage": alertMessage,
         "blockBtnToolTip": blockBtnToolTip,
         "daysBeforeVacation": daysBeforeVacation,
         "descriptionTooltip": descriptionTooltip,
     }
Esempio n. 26
0
 def _populate(self):
     super(FortDisconnectViewComponent, self)._populate()
     state = self.fortState
     warningIcon = icons.alert()
     warningText = warningIcon + i18n.makeString(
         FORTIFICATIONS.DISCONNECTED_WARNING)
     if state.getStateID() == CLIENT_FORT_STATE.ROAMING:
         warningDescrText = FORTIFICATIONS.DISCONNECTED_WARNINGDESCRIPTIONROAMING
     else:
         warningDescrText = FORTIFICATIONS.DISCONNECTED_WARNINGDESCRIPTIONCENTERUNAVAILABLE
     warningDescrText = i18n.makeString(warningDescrText)
     self.as_setWarningTextsS(warningText, warningDescrText)
     g_eventBus.handleEvent(events.FortEvent(events.FortEvent.VIEW_LOADED),
                            scope=EVENT_BUS_SCOPE.FORT)
Esempio n. 27
0
    def atCall(self, cd):
        vehicleItem = g_itemsCache.items.getItem(GUI_ITEM_TYPE.VEHICLE, cd.self.nationID, cd.self.inNationID)
        if self.__vehicle_is_available(vehicleItem):
            return None
        else:
            cd.avoid()

            def dialogButtonClickHandler(confirm):
                if confirm:
                    BigWorld.callback(0.1, lambda : cd.self._VehicleBuyWindow__requestForMoneyObtain(cd.args[0]))
                else:
                    cd.self.as_setEnabledSubmitBtnS(True)

            showDialog(SimpleDialogMeta(title=_ms(self._localKey % 'title'), message=icons.alert() + _ms(self._localKey % 'message'), buttons=I18nConfirmDialogButtons(i18nKey='questsConfirmDialog', focusedIndex=DIALOG_BUTTON_ID.SUBMIT)), dialogButtonClickHandler)
            return None
def packPerformanceWarningBlock(performanceGroup, leftPadding=0, rightPadding=0):
    attention = R.strings.epic_battle.selectorTooltip.epicBattle.attention
    if performanceGroup == BattleRoyalePerfProblems.HIGH_RISK:
        icon = icons.markerBlocked()
        titleStyle = text_styles.error
        attention = attention.assuredLowPerformance
    elif performanceGroup == BattleRoyalePerfProblems.MEDIUM_RISK:
        icon = icons.alert()
        titleStyle = text_styles.alert
        attention = attention.possibleLowPerformance
    else:
        icon = icons.attention()
        titleStyle = text_styles.stats
        attention = attention.informativeLowPerformance
    return formatters.packTitleDescBlock(title=text_styles.concatStylesWithSpace(icon, titleStyle(backport.text(attention.title()))), desc=text_styles.main(backport.text(attention.description())), padding=formatters.packPadding(left=leftPadding, right=rightPadding))
 def __packPerformanceWarningBlock(self):
     performanceGroup = self.__epicController.getPerformanceGroup()
     attention = R.strings.epic_battle.selectorTooltip.epicBattle.attention
     if performanceGroup == EPIC_PERF_GROUP.HIGH_RISK:
         icon = icons.markerBlocked()
         titleStyle = text_styles.error
         attention = attention.assuredLowPerformance
     elif performanceGroup == EPIC_PERF_GROUP.MEDIUM_RISK:
         icon = icons.alert()
         titleStyle = text_styles.alert
         attention = attention.possibleLowPerformance
     else:
         icon = icons.attention()
         titleStyle = text_styles.stats
         attention = attention.informativeLowPerformance
     return formatters.packTitleDescBlock(title=text_styles.concatStylesWithSpace(icon, titleStyle(backport.text(attention.title()))), desc=text_styles.main(backport.text(attention.description())), padding=formatters.packPadding(left=20, right=20))
 def _packBlocks(self, perfType, *args, **kwargs):
     items = super(PerfAttentionSimpleTooltip, self)._packBlocks(*args, **kwargs)
     message = backport.text(R.strings.tooltips.battle_royale.hangar.perf.dyn(perfType).header())
     problemIcon = None
     if perfType == BattleRoyalePerfProblems.HIGH_RISK:
         problemIcon = icons.notAvailableRed()
         formattedMessage = text_styles.critical(message)
     elif perfType == BattleRoyalePerfProblems.MEDIUM_RISK:
         problemIcon = icons.alert()
         formattedMessage = text_styles.alert(message)
     else:
         formattedMessage = ''
     title = text_styles.concatStylesWithSpace(problemIcon, formattedMessage)
     description = text_styles.main(backport.text(R.strings.tooltips.battle_royale.hangar.perf.dyn(perfType).description()))
     items.append(formatters.packTitleDescBlock(title=title, desc=description))
     return items
 def _buildVO(self):
     from gui.game_control import getRestoreController
     restoreController = getRestoreController()
     deletedTankmen = restoreController.getTankmenBeingDeleted()
     alertImgSrc = ''
     alertText = ''
     alertTooltip = ''
     if not self._tankman.isRestorable():
         alertText = text_styles.alert(icons.alert() + _ms(DIALOGS.PROTECTEDDISMISSTANKMAN_ALERT))
         alertTooltip = TOOLTIPS.DISMISSTANKMANDIALOG_CANTRESTORALERT
     elif len(deletedTankmen) > 0:
         alertImgSrc = RES_ICONS.MAPS_ICONS_LIBRARY_ALERTICON
         alertTooltip = makeTooltip(TOOLTIPS.DISMISSTANKMANDIALOG_BUFFERISFULL_HEADER, _ms(TOOLTIPS.DISMISSTANKMANDIALOG_BUFFERISFULL_BODY, placeCount=restoreController.getMaxTankmenBufferLength(), currCount=len(restoreController.getDismissedTankmen()), tankmanNew=self._tankman.fullUserName, tankmanOld=formatDeletedTankmanStr(deletedTankmen[0])))
     return {'alertText': alertText,
      'alertTooltip': alertTooltip,
      'alertImgSrc': alertImgSrc,
      'questionText': text_styles.main(_ms(DIALOGS.DISMISSTANKMAN_MESSAGE))}
 def __makeOffDayData(self):
     alertMessage = ""
     blockBtnEnabled = True
     fort = self.fortCtrl.getFort()
     inProcess, inCooldown = fort.getOffDayProcessing()
     dayOff = fort.getOffDayStr()
     if self._isFortFrozen():
         conditionPostfix = text_styles.standard(dayOff)
     else:
         conditionPostfix = text_styles.neutral(dayOff)
     blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_WEEKENDBTNENABLED
     descriptionTooltip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_DAYOFFDESCRIPTION
     if inProcess:
         offDayChangeDate, nextOffDayUTC, _ = fort.events[FORT_EVENT_TYPE.OFF_DAY_CHANGE]
         nextOffDayLocal = adjustOffDayToLocal(nextOffDayUTC, self.fortCtrl.getFort().getLocalDefenceHour()[0])
         if nextOffDayLocal > NOT_ACTIVATED:
             value = i18n.makeString(MENU.datetime_weekdays_full(str(nextOffDayLocal + 1)))
         else:
             value = i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_NOWEEKEND)
         msgString = i18n.makeString(
             FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_INPROGRESS,
             value=value,
             date=BigWorld.wg_getLongDateFormat(offDayChangeDate),
         )
         alertMessage = text_styles.alert(msgString)
         blockBtnEnabled = False
         blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_WEEKENDBTNDISABLED
     elif inCooldown:
         msgString = i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_BLOCKCONDITION_RECENTLYSCHEDULED)
         alertMessage = text_styles.alert(msgString)
         blockBtnEnabled = False
         blockBtnToolTip = TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_WEEKENDBTNDISABLED
     conditionPrefix = text_styles.main(i18n.makeString(FORTIFICATIONS.settingswindow_blockcondition("weekEnd")))
     blockDescr = text_styles.standard(i18n.makeString(FORTIFICATIONS.settingswindow_blockdescr("weekEnd")))
     if alertMessage:
         alertMessage = icons.alert() + " " + alertMessage
     return {
         "blockBtnEnabled": blockBtnEnabled,
         "blockDescr": blockDescr,
         "blockCondition": conditionPrefix + " " + conditionPostfix,
         "alertMessage": alertMessage,
         "blockBtnToolTip": blockBtnToolTip,
         "descriptionTooltip": descriptionTooltip,
     }
Esempio n. 33
0
 def __updateStatus(self):
     prefix = i18n.makeString(FORTIFICATIONS.SETTINGSDEFENCEHOURPOPOVER_DEFENCEHOURTITLE)
     prefix = text_styles.highTitle(prefix)
     if self._isFortFrozen():
         toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_FREEZED)
         icon = RES_ICONS.MAPS_ICONS_LIBRARY_ERRORICON_1
         imageSource = icons.makeImageTag(icon, 16, 16, -4, 0)
         currentStatus = text_styles.error(i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_FREEZED))
         currentStatus = imageSource + ' ' + currentStatus
     elif self.__defencePeriod:
         toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_ACTIVATED)
         currentStatus = ''.join((icons.checkmark(), text_styles.success(' ' + i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_ACTIVATED))))
     elif self.__checkConditions():
         toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_CANBEACTIVATED)
         currentStatus = ''.join((icons.alert(), text_styles.alert(' ' + i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_NOTACTIVATED))))
     else:
         toolTip = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTSETTINGSWINDOW_STATUSSTRING_CANNOTBEACTIVATED)
         currentStatus = ''.join((icons.notAvailable(), text_styles.standard(' ' + i18n.makeString(FORTIFICATIONS.SETTINGSWINDOW_STATUSMSG_NOTAVAILABLE))))
     self.as_setMainStatusS(prefix, currentStatus, toolTip)
 def __makeRequest(self, requestFunc, successStatus, errorCallback):
     if self.__retriesCount == 0:
         if not self.__isMaintenance:
             self.as_showWaitingS(
                 backport.msgid(R.strings.waiting.hof.loading()))
         self.__requestProcessing = True
     else:
         self.__retryCallback = None
     response = yield requestFunc()
     if self.__viewDisposed:
         LOG_WARNING(
             'ProfileHof request canceled: ProfileHof view was disposed')
         return
     else:
         if response:
             self.__refreshRequest()
             if self.__isMaintenance:
                 self.as_hideServiceViewS()
                 self.as_setBtnCountersS(self.__getCountersList())
                 self.__isMaintenance = False
             errors = response.getErrors()
             if not errors:
                 self.__status = successStatus
                 self.as_setStatusS(successStatus)
             else:
                 errorCallback(errors[0])
         elif self.__retriesCount < self._requestRetriesCount:
             self.__retriesCount += 1
             self.__retryCallback = BigWorld.callback(
                 self._retryDelay,
                 partial(self.__makeRequest, requestFunc, successStatus,
                         errorCallback))
         else:
             self.__refreshRequest()
             if not self.__isMaintenance:
                 self.__isMaintenance = True
                 header = icons.alert() + i18n.makeString(
                     MENU.BROWSER_DATAUNAVAILABLE_HEADER)
                 description = i18n.makeString(
                     MENU.BROWSER_DATAUNAVAILABLE_DESCRIPTION)
                 self.as_showServiceViewS(header, description)
                 self.as_setBtnCountersS([])
         return
Esempio n. 35
0
 def _prepareData(self, serverList, serverName, serverTimeLeft):
     enableTitle, enableWelcomeTitle, enableBtnTitle, disableTitle, disableStatusTitle, disableStatusDescr, disableBtnTitle = self._getLocaleData()
     enableBackground, disableBackground = self._getImgsData()
     if self._isEnabled:
         timeLeftStr = time_utils.getTillTimeString(serverTimeLeft, MENU.HEADERBUTTONS_BATTLE_TYPES_RANKED_AVAILABILITY)
         status = text_styles.main(_ms(enableTitle, server=serverName, time=text_styles.warning(timeLeftStr)))
         mainBackground = enableBackground
         title = text_styles.epicTitle(enableWelcomeTitle)
         applyButtonLabel = _ms(enableBtnTitle)
     else:
         status = '{} {}\n{}'.format(icons.alert(-3), text_styles.alert(disableStatusTitle), text_styles.main(disableStatusDescr))
         mainBackground = disableBackground
         title = text_styles.epicTitle(disableTitle)
         applyButtonLabel = _ms(disableBtnTitle)
     return {'title': title,
      'apply': applyButtonLabel,
      'mainBackground': mainBackground,
      'status': status,
      'serversDDEnabled': len(serverList) > 1,
      'serverDDVisible': True}
Esempio n. 36
0
 def __getItemRestoreInfo(self, item):
     """
     Get formatted vehicle restore info
     :param item: <Vehicle>
     :return: <str>
     """
     if item.isRestorePossible():
         if constants.IS_CHINA and item.rentalIsActive:
             return text_styles.alert(MENU.VEHICLE_RESTORELEFT_DISABLEDBYRENT)
         if item.hasLimitedRestore():
             restoreLeftTime = item.restoreInfo.getRestoreTimeLeft()
             timeKey, formattedTime = getTimeLeftInfo(restoreLeftTime)
             msg = i18n.makeString('#menu:vehicle/restoreLeft/%s' % timeKey, time=formattedTime)
             if restoreLeftTime < time_utils.ONE_DAY:
                 return icons.alert() + text_styles.alert(msg)
             return text_styles.stats(msg)
         if item.hasRestoreCooldown():
             timeKey, formattedTime = getTimeLeftInfo(item.restoreInfo.getRestoreCooldownTimeLeft())
             msg = i18n.makeString('#menu:vehicle/restoreCooldownLeft/%s' % timeKey, time=formattedTime)
             return text_styles.stats(msg)
     return ''
 def __updateData(self):
     selectedIdx = self.__serversDP.getSelectedIdx()
     serverItem = self.__serversList[selectedIdx]
     selectedItem = self.__serversDP.getVO(selectedIdx)
     currentServerName = selectedItem['label']
     if len(self.__serversList) == 1:
         serverDDName = text_styles.concatStylesToSingleLine(
             text_styles.main(currentServerName), '  ',
             selectedItem['pingValue'])
         serversDDEnabled = False
     else:
         serverDDName = ''
         serversDDEnabled = True
     applyButtonLabel = _ms(RANKED_BATTLES.PRIMETIME_APPLYBTN)
     title = _ms(RANKED_BATTLES.PRIMETIME_TITLE)
     if self.__isEnabled:
         timeLeftStr = time_utils.getTillTimeString(
             serverItem['timeLeft'],
             MENU.HEADERBUTTONS_BATTLE_TYPES_RANKED_AVAILABILITY)
         status = text_styles.main(
             _ms(RANKED_BATTLES.PRIMETIME_STATUS_THISENABLE,
                 server=currentServerName,
                 time=text_styles.warning(timeLeftStr)))
         mainBackground = RES_ICONS.MAPS_ICONS_RANKEDBATTLES_PRIMETIME_PRIME_TIME_BACK_DEFAULT
         title = _ms(RANKED_BATTLES.PRIMETIME_TITLEWELCOME)
     else:
         applyButtonLabel = _ms(RANKED_BATTLES.PRIMETIME_CONTINUEBTN)
         status = '{} {}'.format(
             icons.alert(-3),
             text_styles.main(_ms(RANKED_BATTLES.PRIMETIME_STATUS_DISABLE)))
         mainBackground = RES_ICONS.MAPS_ICONS_RANKEDBATTLES_PRIMETIME_PRIME_TIME_BACK_BW
     self.as_setDataS({
         'title': title,
         'apply': applyButtonLabel,
         'mainBackground': mainBackground,
         'status': status,
         'serversDDEnabled': serversDDEnabled,
         'serverDDVisible': True
     })
Esempio n. 38
0
 def __getHeaderText(self, canUpdatePremium):
     text = text_styles.highTitle(MENU.PREMIUM_TARIFFS_HEADER)
     if not canUpdatePremium:
         text += ' ' + icons.alert()
     return text
 def __prepareActionData(self):
     result = {}
     enableActionBtn = False
     if self._isBaseBuilding:
         if self.__isCommander:
             result['currentState'] = self.ACTION_STATES.BASE_COMMANDER
             resultConcat = ''.join((text_styles.main(
                 i18n.makeString(
                     FORT.BUILDINGPOPOVER_DEFRESACTIONS_DIRECTIONOPENED)),
                                     text_styles.neutral(
                                         self.__directionOpened)))
             result['generalLabel'] = resultConcat
             result['actionButtonLbl'] = i18n.makeString(
                 FORT.BUILDINGPOPOVER_DEFRESACTIONS_MANAGEMENT)
             enableActionBtn = True
         else:
             result['currentState'] = self.ACTION_STATES.BASE_NOT_COMMANDER
             resultConcat = ''.join((text_styles.main(
                 i18n.makeString(
                     FORT.BUILDINGPOPOVER_DEFRESACTIONS_DIRECTIONOPENED)),
                                     text_styles.neutral(
                                         self.__directionOpened)))
             result['generalLabel'] = resultConcat
     elif self.__isCommander:
         if self.__buildingDescr.orderInProduction:
             orderCount = self.__buildingDescr.orderInProduction.get(
                 'count', 0)
             result[
                 'currentState'] = self.ACTION_STATES.NOT_BASE_COMMANDER_ORDERED
             if self._isProductionInPause(self.__buildingDescr):
                 result['productionInPause'] = True
                 title = i18n.makeString(
                     TOOLTIPS.FORTIFICATION_ORDERPROCESS_INPAUSE_HEADER)
                 body = i18n.makeString(
                     TOOLTIPS.FORTIFICATION_ORDERPROCESS_INPAUSE_BODY)
                 result['pauseReasonTooltip'] = [title, body]
                 overTime = i18n.makeString(
                     FORT.BUILDINGPOPOVER_ORDERPROCESS_INPAUSE)
                 orderTimeIcon = icons.alert()
                 orderTimeMsg = text_styles.alert(overTime)
                 orderTime = i18n.makeString(orderTimeIcon + ' ' +
                                             orderTimeMsg)
             else:
                 overTime = i18n.makeString(
                     FORT.BUILDINGPOPOVER_DEFRESACTIONS_PREPARETIMEOVER)
                 overTime = overTime + self.__orderTime
                 orderTime = text_styles.neutral(overTime)
             orderTimer = ''.join((text_styles.main(
                 i18n.makeString(
                     FORT.BUILDINGPOPOVER_DEFRESACTIONS_PREPARINGDEFRES)),
                                   text_styles.neutral(orderCount)))
             result['orderTimer'] = orderTimer
             result['timeOver'] = orderTime
             result['generalLabel'] = self.__makeGeneralActionLabel()
         else:
             result[
                 'currentState'] = self.ACTION_STATES.NOT_BASE_COMMANDER_NOT_ORDERED
             result['generalLabel'] = self.__makeGeneralActionLabel()
             result['actionButtonLbl'] = i18n.makeString(
                 FORT.BUILDINGPOPOVER_DEFRESACTIONS_REQUESTDEFRES)
             enableActionBtn = True
             order = self.fortCtrl.getFort().getOrder(self.__orderID)
             if self.__defResVal < order.productionCost:
                 enableActionBtn = False
                 result[
                     'toolTipData'] = TOOLTIPS.FORTIFICATION_POPOVER_PREPAREORDERDISABLE
             if order.maxCount <= order.count:
                 enableActionBtn = False
                 result[
                     'toolTipData'] = TOOLTIPS.FORTIFICATION_POPOVER_PREPAREORDEROVERLOAD
             if self._isBuildingDamaged(
                     self.__buildingDescr) or self._isBaseBuildingDamaged(
                     ) or self._isFortFrozen():
                 enableActionBtn = False
                 header = TOOLTIPS.FORTIFICATION_ORDERPROCESS_NOTAVAILABLE_HEADER
                 body = TOOLTIPS.FORTIFICATION_ORDERPROCESS_NOTAVAILABLE_BODY
                 result['toolTipData'] = makeTooltip(header, body)
             if enableActionBtn:
                 orderName = i18n.makeString(
                     FORT.orders_orderpopover_ordertype(
                         self.getOrderUIDbyID(self.__orderID)))
                 result['toolTipData'] = i18n.makeString(
                     TOOLTIPS.FORTIFICATION_POPOVER_PREPAREORDERENABLE,
                     orderName=orderName)
     else:
         result['currentState'] = self.ACTION_STATES.NOT_BASE_NOT_COMMANDER
         result['generalLabel'] = 'unVISIBLE'
         result['actionButtonLbl'] = 'unVISIBLE'
     result[
         'enableActionButton'] = enableActionBtn and not self.__isTutorial
     return result
 def __updateHeader(self):
     club = self.clubsCtrl.getClub(self.__clubDBID)
     canSetRanked = club is not None and club.getPermissions().canSetRanked(
     )
     seasonState = self.clubsCtrl.getSeasonState()
     modeLabel = ''
     modeTooltip = ''
     modeTooltipType = ''
     isFixedMode = True
     isModeTooltip = False
     if self.__extra.isRatedBattle:
         isFixedMode = not canSetRanked
         if canSetRanked:
             modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_SETUNRANKEDMODE
         else:
             modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_RANKEDMODE
     elif seasonState.isSuspended():
         modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONPAUSED
         isModeTooltip = True
         modeTooltipType = TOOLTIPS_CONSTANTS.COMPLEX
         modeTooltip = makeTooltip(
             CYBERSPORT.
             STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONPAUSEDTOOLTIP_HEADER,
             CYBERSPORT.
             STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONPAUSEDTOOLTIP_BODY
         )
     elif seasonState.isFinished():
         modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONFINISHED
         isModeTooltip = True
         modeTooltipType = TOOLTIPS_CONSTANTS.COMPLEX
         modeTooltip = makeTooltip(
             CYBERSPORT.
             STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONFINISHEDTOOLTIP_HEADER,
             CYBERSPORT.
             STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONFINISHEDTOOLTIP_BODY
         )
     elif canSetRanked:
         isFixedMode = False
         modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_SETRANKEDMODE
     if len(modeLabel):
         if canSetRanked and seasonState.isActive(
         ) or self.__extra.isRatedBattle:
             modeLabel = text_styles.neutral(modeLabel)
         else:
             modeLabel = text_styles.standard(modeLabel)
     if isHourInForbiddenList(
             self.clubsCtrl.getAvailabilityCtrl().getForbiddenHours()):
         modeLabel = '{0}{1}'.format(
             icons.alert(),
             text_styles.main(CYBERSPORT.LADDERREGULATIONS_WARNING))
         isFixedMode = True
         isModeTooltip = True
         modeTooltipType = TOOLTIPS_CONSTANTS.LADDER_REGULATIONS
     bgSource = RES_ICONS.MAPS_ICONS_LIBRARY_CYBERSPORT_LEAGUERIBBONS_UNRANKED
     battles = self.ABSENT_VALUES
     winRate = self.ABSENT_VALUES
     leagueIcon = getLadderChevron64x64()
     enableWinRateTF = False
     if club is not None:
         clubTotalStats = club.getTotalDossier().getTotalStats()
         battles = BigWorld.wg_getNiceNumberFormat(
             clubTotalStats.getBattlesCount())
         division = club.getLadderInfo().division
         leagueIcon = getLadderChevron64x64(division)
         winRateValue = ProfileUtils.getValueOrUnavailable(
             clubTotalStats.getWinsEfficiency())
         if winRateValue != ProfileUtils.UNAVAILABLE_VALUE:
             enableWinRateTF = True
             winRate = ProfileUtils.formatFloatPercent(winRateValue)
         else:
             winRate = self.ABSENT_VALUES
         if self.__extra.isRatedBattle:
             bgSource = getLadderBackground(division)
         self.requestClubEmblem64x64(club.getClubDbID(),
                                     club.getEmblem64x64())
     self.as_setHeaderDataS({
         'clubId': self.__extra.clubDBID,
         'teamName': self.__extra.clubName,
         'isRankedMode': bool(self.__extra.isRatedBattle),
         'battles': battles,
         'winRate': winRate,
         'enableWinRateTF': enableWinRateTF,
         'leagueIcon': leagueIcon,
         'isFixedMode': isFixedMode,
         'modeLabel': modeLabel,
         'modeTooltip': modeTooltip,
         'bgSource': bgSource,
         'modeTooltipType': modeTooltipType,
         'isModeTooltip': isModeTooltip
     })
     return
    def __makeProgresData(self):
        refSystem = game_control.g_instance.refSystem
        totalXP = refSystem.getTotalXP()
        currentXP = refSystem.getReferralsXPPool()
        progressText = '%(currentXP)s / %(totalXP)s %(icon)s' % {'currentXP': text_styles.credits(BigWorld.wg_getIntegralFormat(currentXP)),
         'totalXP': BigWorld.wg_getIntegralFormat(totalXP),
         'icon': icons.makeImageTag(RES_ICONS.MAPS_ICONS_LIBRARY_NORMALXPICON, 16, 16, -3, 0)}
        text = i18n.makeString(MENU.REFERRALMANAGEMENTWINDOW_PROGRESSINDICATOR_PROGRESS, progress=progressText)
        awardData = {}
        progresData = {'text': text_styles.main(text)}
        progressAlertText = ''
        if refSystem.isTotallyCompleted():
            completedText = i18n.makeString(MENU.REFERRALMANAGEMENTWINDOW_PROGRESSINDICATOR_COMPLETE)
            completedText = text_styles.middleTitle(completedText)
            awardData['completedText'] = completedText
            _, lastStepQuests = refSystem.getQuests()[-1]
            vehicleBonus = findFirst(lambda q: q.getBonuses('vehicles'), reversed(lastStepQuests))
            vehicleBonusIcon = ''
            if vehicleBonus is not None:
                vehicleBonusIcon = vehicleBonus.getBonuses('vehicles')[0].getTooltipIcon()
            awardData['completedImage'] = vehicleBonusIcon
        else:
            stepsData = []
            progress = 0.0
            quests = refSystem.getQuests()
            totalQuestsCount = len(tuple(itertools.chain(*dict(quests).values())))
            if quests and totalQuestsCount == self.TOTAL_QUESTS:
                currentCompletedStep = -1
                totalSteps = len(quests)
                lastStep = totalSteps - 1
                for i, (xp, events) in enumerate(quests):
                    notCompleted = filter(lambda q: not q.isCompleted(), reversed(events))
                    lastNotCompleted = findFirst(None, notCompleted)
                    if lastNotCompleted is not None:
                        questIDs = map(methodcaller('getID'), notCompleted)
                        icon = self.__getBonusIcon(lastNotCompleted)
                    else:
                        questIDs = map(methodcaller('getID'), events)
                        icon = RES_ICONS.MAPS_ICONS_LIBRARY_COMPLETE
                        currentCompletedStep = i
                    stepsData.append({'id': pickle.dumps((xp, questIDs)),
                     'icon': icon})

                nextStep = min(currentCompletedStep + 1, lastStep)
                nextStepXP, _ = quests[nextStep]
                if currentXP:
                    totalProgress = 0.0
                    currentCompletedStepXP = 0
                    oneStepWeight = 1.0 / totalSteps
                    if currentCompletedStep != -1:
                        currentCompletedStepXP, _ = quests[currentCompletedStep]
                        totalProgress = (currentCompletedStep + 1) * oneStepWeight
                    xpForNextStep = nextStepXP - currentCompletedStepXP
                    xpFromPrevStep = currentXP - currentCompletedStepXP
                    stepProgress = float(xpFromPrevStep) / xpForNextStep if xpFromPrevStep else 0.0
                    totalStepProgress = stepProgress * oneStepWeight
                    progress = totalProgress + totalStepProgress
            else:
                LOG_WARNING('Referral quests is in invalid state: ', quests)
                progressAlertIcon = icons.alert()
                progressAlertText = text_styles.alert(i18n.makeString(MENU.REFERRALMANAGEMENTWINDOW_PROGRESSNOTAVAILABLE))
                progressAlertText = i18n.makeString(progressAlertIcon + ' ' + progressAlertText)
            progresData.update({'steps': stepsData,
             'progress': progress})
        if progressAlertText != '':
            self.as_showAlertS(progressAlertText)
        elif refSystem.isTotallyCompleted():
            self.as_setAwardDataDataS(awardData)
        else:
            self.as_setProgressDataS(progresData)
        return
Esempio n. 42
0
 def __showDataUnavailableView(self):
     header = icons.alert() + i18n.makeString(MENU.BROWSER_DATAUNAVAILABLE_HEADER)
     description = i18n.makeString(MENU.BROWSER_DATAUNAVAILABLE_DESCRIPTION)
     self.as_showServiceViewS(header, description)
Esempio n. 43
0
 def __updateClubData(self):
     resultVO = _IntroViewVO()
     club = self.getClub()
     if self.clubsState.getStateID() == CLIENT_CLUB_STATE.HAS_CLUB and club:
         profile = self.clubsCtrl.getProfile()
         limits = self.clubsCtrl.getLimits()
         resultVO.setClubLabel(club.getUserName())
         resultVO.setClubDBbID(club.getClubDbID())
         resultVO.setClubLadderChevron(club)
         resultVO.showAdditionalButton(
             _ms(CYBERSPORT.WINDOW_INTRO_ADDITIONALBTN_LIST),
             TOOLTIPS.CYBERSPORT_INTRO_ADDITIONALBTN)
         resultVO.moveToTheUnitByCreateButton()
         resultVO.openClubProfileByChevronClick()
         if club.hasActiveUnit():
             unitInfo = club.getUnitInfo()
             resultVO.showCreateButton(
                 _ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_JOINTEAM),
                 TOOLTIPS.CYBERSPORT_INTRO_CREATEBTN_JOINTEAM)
             if unitInfo.isInBattle():
                 isInBattleIcon = icons.makeImageTag(
                     RES_ICONS.MAPS_ICONS_LIBRARY_SWORDSICON, 16, 16, -3, 0)
                 resultVO.setClubDescription(
                     text_styles.neutral(
                         '%s %s' %
                         (isInBattleIcon,
                          _ms(CYBERSPORT.
                              WINDOW_INTRO_TEAM_DESCRIPTION_TEAMINBATTLE))))
             else:
                 resultVO.setClubDescription(
                     text_styles.neutral(
                         CYBERSPORT.
                         STATICFORMATIONPROFILEWINDOW_STATUSLBL_CLUBISCALLED
                     ))
         else:
             canCreateUnit = limits.canCreateUnit(profile, club)
             if canCreateUnit.success:
                 resultVO.setClubDescription(
                     text_styles.neutral(
                         CYBERSPORT.
                         WINDOW_INTRO_TEAM_DESCRIPTION_ASSEMBLINGTEAM))
                 resultVO.showCreateButton(
                     _ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_ASSEMBLETEAM),
                     TOOLTIPS.CYBERSPORT_INTRO_CREATEBTN_ASSEMBLETEAM)
             elif canCreateUnit.reason == CLIENT_CLUB_RESTRICTIONS.NOT_ENOUGH_MEMBERS:
                 if club.getPermissions().isOwner():
                     resultVO.setClubDescription(
                         text_styles.main(
                             CYBERSPORT.
                             WINDOW_INTRO_TEAM_DESCRIPTION_NOTENOUGHPLAYERS)
                     )
                     resultVO.showCreateButton(
                         _ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_ADDPLAYERS),
                         TOOLTIPS.CYBERSPORT_INTRO_CREATEBTN_ADDPLAYERS)
                 else:
                     resultVO.setClubDescription(text_styles.error(
                         CYBERSPORT.
                         WINDOW_INTRO_TEAM_DESCRIPTION_OWNERASSEMBLINGTEAM),
                                                 isBackVisible=True)
                     resultVO.showCreateButton(
                         _ms('#cybersport:window/intro/create/btn/private/seeStaff'
                             ),
                         '#tooltips:cyberSport/intro/createBtn/addPlayers/private'
                     )
                 resultVO.needAddPlayers()
             else:
                 resultVO.setClubDescription(text_styles.error(
                     CYBERSPORT.
                     WINDOW_INTRO_TEAM_DESCRIPTION_NOTENOUGHPERMISSIONS_ASSEMBLINGTEAM
                 ),
                                             isBackVisible=True)
                 resultVO.showCreateButton(
                     _ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_ASSEMBLETEAM),
                     '#tooltips:StaticFormationProfileWindow/actionBtn/notEnoughPermissions',
                     enabled=False)
     elif self.clubsState.getStateID() == CLIENT_CLUB_STATE.NO_CLUB:
         resultVO.setNoClubChevron(isApplicationSent=False)
         resultVO.setClubLabel(
             _ms(CYBERSPORT.WINDOW_INTRO_TEAM_HEADER_STATICTEAMS))
         resultVO.setClubDescription(
             text_styles.main(
                 CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_CREATEORFIND))
         resultVO.showCreateButton(
             _ms(CYBERSPORT.WINDOW_INTRO_CREATE_BTN_LOOK),
             TOOLTIPS.CYBERSPORT_INTRO_CREATEBTN_LOOK)
     elif self.clubsState.getStateID() == CLIENT_CLUB_STATE.SENT_APP:
         resultVO.setNoClubChevron(isApplicationSent=True)
         resultVO.openClubProfileByChevronClick()
         if club is not None:
             resultVO.setClubLabel(club.getUserName())
             resultVO.setClubLadderChevron(club)
         resultVO.setClubDescription(
             text_styles.neutral(
                 CYBERSPORT.WINDOW_INTRO_TEAM_DESCRIPTION_WAITINGFORREQUEST)
         )
         resultVO.showCancelButton(
             _ms(CYBERSPORT.WINDOW_INTRO_CANCEL_BTN_LABEL),
             TOOLTIPS.CYBERSPORT_INTRO_CANCELBTN)
         resultVO.showAdditionalButton(
             _ms(CYBERSPORT.WINDOW_INTRO_ADDITIONALBTN_LIST),
             TOOLTIPS.CYBERSPORT_INTRO_ADDITIONALBTN)
     else:
         resultVO.fillDefault()
         resultVO.acceptNavigationByChevron(False)
     if isHourInForbiddenList(
             self.clubsCtrl.getAvailabilityCtrl().getForbiddenHours()):
         resultVO.setClubDescriptionTooltip(
             TOOLTIPS_CONSTANTS.LADDER_REGULATIONS)
         resultVO.setClubDescription(
             '{0}{1}'.format(
                 icons.alert(),
                 text_styles.main(CYBERSPORT.LADDERREGULATIONS_WARNING)),
             True)
     self.as_setStaticTeamDataS(resultVO.getData())
    def __makeProgresData(self):
        totalXP = self.refSystem.getTotalXP()
        currentXP = self.refSystem.getReferralsXPPool()
        progressText = '%(currentXP)s / %(totalXP)s %(icon)s' % {
            'currentXP':
            text_styles.credits(BigWorld.wg_getIntegralFormat(currentXP)),
            'totalXP':
            BigWorld.wg_getIntegralFormat(totalXP),
            'icon':
            icons.makeImageTag(RES_ICONS.MAPS_ICONS_LIBRARY_NORMALXPICON, 16,
                               16, -3, 0)
        }
        text = i18n.makeString(
            MENU.REFERRALMANAGEMENTWINDOW_PROGRESSINDICATOR_PROGRESS,
            progress=progressText)
        awardData = {}
        progresData = {'text': text_styles.main(text)}
        progressAlertText = ''
        if self.refSystem.isTotallyCompleted():
            completedText = i18n.makeString(
                MENU.REFERRALMANAGEMENTWINDOW_PROGRESSINDICATOR_COMPLETE)
            completedText = text_styles.middleTitle(completedText)
            awardData['completedText'] = completedText
            _, lastStepQuests = self.refSystem.getQuests()[-1]
            vehicleBonus = findFirst(lambda q: q.getBonuses('vehicles'),
                                     reversed(lastStepQuests))
            vehicleBonusIcon = ''
            if vehicleBonus is not None:
                vehicleBonusIcon = vehicleBonus.getBonuses(
                    'vehicles')[0].getTooltipIcon()
            awardData['completedImage'] = vehicleBonusIcon
        else:
            stepsData = []
            progress = 0.0
            quests = self.refSystem.getQuests()
            totalQuestsCount = len(
                tuple(itertools.chain(*dict(quests).values())))
            if quests and totalQuestsCount == self.TOTAL_QUESTS:
                currentCompletedStep = -1
                totalSteps = len(quests)
                lastStep = totalSteps - 1
                for i, (xp, events) in enumerate(quests):
                    notCompleted = filter(lambda q: not q.isCompleted(),
                                          reversed(events))
                    lastNotCompleted = findFirst(None, notCompleted)
                    if lastNotCompleted is not None:
                        questIDs = map(methodcaller('getID'), notCompleted)
                        icon = self.__getBonusIcon(lastNotCompleted)
                    else:
                        questIDs = map(methodcaller('getID'), events)
                        icon = RES_ICONS.MAPS_ICONS_LIBRARY_COMPLETE
                        currentCompletedStep = i
                    stepsData.append({
                        'id': pickle.dumps((xp, questIDs)),
                        'icon': icon
                    })

                nextStep = min(currentCompletedStep + 1, lastStep)
                nextStepXP, _ = quests[nextStep]
                if currentXP:
                    totalProgress = 0.0
                    currentCompletedStepXP = 0
                    oneStepWeight = 1.0 / totalSteps
                    if currentCompletedStep != -1:
                        currentCompletedStepXP, _ = quests[
                            currentCompletedStep]
                        totalProgress = (currentCompletedStep +
                                         1) * oneStepWeight
                    xpForNextStep = nextStepXP - currentCompletedStepXP
                    xpFromPrevStep = currentXP - currentCompletedStepXP
                    if xpForNextStep <= 0:
                        stepProgress = 1.0
                    elif xpFromPrevStep <= 0:
                        stepProgress = 0.0
                    else:
                        stepProgress = float(xpFromPrevStep) / xpForNextStep
                    totalStepProgress = stepProgress * oneStepWeight
                    progress = totalProgress + totalStepProgress
            else:
                LOG_WARNING('Referral quests is in invalid state: ', quests)
                progressAlertIcon = icons.alert()
                progressAlertText = text_styles.alert(
                    i18n.makeString(
                        MENU.REFERRALMANAGEMENTWINDOW_PROGRESSNOTAVAILABLE))
                progressAlertText = i18n.makeString(progressAlertIcon + ' ' +
                                                    progressAlertText)
            progresData.update({'steps': stepsData, 'progress': progress})
        if progressAlertText != '':
            self.as_showAlertS(progressAlertText)
        elif self.refSystem.isTotallyCompleted():
            self.as_setAwardDataDataS(awardData)
        else:
            self.as_setProgressDataS(progresData)
        return
Esempio n. 45
0
def formatPriceAlert(value):
    return '{0} {1}'.format(icons.alert(),
                            text_styles.errCurrencyTextBig(value))
Esempio n. 46
0
def formatPriceAlert(value):
    return '{0} {1}'.format(icons.alert(), text_styles.errCurrencyTextBig(value))
 def __prepareHeaderData(self):
     fort = self.fortCtrl.getFort()
     isDefencePeriodActivated = fort.isDefenceHourEnabled()
     inProcess, _ = fort.getDefenceHourProcessing()
     isDefenceOn = isDefencePeriodActivated or inProcess
     buildingIcon = FortViewHelper.getPopoverIconSource(self._buildingUID, self.__buildingLevel, isDefenceOn=isDefenceOn)
     result = {'buildingName': i18n.makeString(FORT.buildings_buildingname(self._buildingUID)),
      'buildingIcon': buildingIcon}
     buildLevel = self.__convertBuildLevel(self.__buildingLevel)
     result['buildLevel'] = i18n.makeString(FORT.BUILDINGPOPOVER_HEADER_LEVELSLBL, buildLevel=buildLevel)
     upgradeBtnVisible = False
     upgradeBtnEnable = False
     localTooltip = ''
     if self._canModernization(self.__buildingDescr):
         upgradeBtnVisible = upgradeBtnEnable = True
         localTooltip = TOOLTIPS.FORTIFICATION_POPOVER_UPGRADEFOUNDATIONBTN
     if upgradeBtnVisible:
         if not self._isEnableModernizationBtnByDamaged(self.__buildingDescr):
             upgradeBtnEnable = False
             localTooltip = TOOLTIPS.FORTIFICATION_POPOVER_UPGRADEBTN_DISABLEDBYDESTROY
         elif not self._isEnableModernizationBtnByProgress(self.__buildingDescr):
             upgradeBtnEnable = False
             localTooltip = TOOLTIPS.FORTIFICATION_POPOVER_UPGRADEFOUNDATIONBTN_DISABLED
     result['upgradeButtonToolTip'] = localTooltip
     result['showUpgradeButton'] = upgradeBtnVisible
     result['enableUpgradeBtn'] = upgradeBtnEnable
     isVisibleDemountBtn = self._isVisibleDemountBtn(self.__buildingDescr)
     result['isVisibleDemountBtn'] = isVisibleDemountBtn
     if isVisibleDemountBtn:
         result['enableDemountBtn'] = self._isEnableDemountBtn(self.__buildingDescr)
         result['demountBtnTooltip'] = TOOLTIPS.FORTIFICATION_POPOVER_DEMOUNTBTN
     header, body, filterColor = self.__makeHeaderStatusMessage()
     result['titleStatus'] = header
     result['bodyStatus'] = body
     result['glowColor'] = int(filterColor, 16)
     result['isModernization'] = self.__canUpgrade
     result['canDeleteBuilding'] = self.fortCtrl.getPermissions().canDeleteBuilding()
     if self.__progress is ALIAS.STATE_BUILDING and isDefencePeriodActivated:
         nextMapTimestamp, nextMapID, curMapID = self.fortCtrl.getFort().getBuildingMaps(self._buildingID)
         isMapsInfoEnabled = nextMapTimestamp > 0
         if self.__buildingLevel < fortified_regions.g_cache.defenceConditions.minRegionLevel:
             mapIcon = icons.alert()
             mapMsg = text_styles.alert(i18n.makeString(FORT.BUILDINGPOPOVER_MAPINFO_NOBATTLE))
             header = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTBUILDINGCARDPOPOVER_MAPINFO_NOBATTLE_HEADER)
             body = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTBUILDINGCARDPOPOVER_MAPINFO_NOBATTLE_BODY)
             isToolTipSpecial = False
         elif isMapsInfoEnabled:
             currentMapUserName = self.__getMapUserName(curMapID)
             mapIcon = icons.info()
             mapMsg = text_styles.main(currentMapUserName)
             header = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTBUILDINGCARDPOPOVER_MAPINFO_HEADER, currentMap=currentMapUserName)
             body = i18n.makeString(TOOLTIPS.FORTIFICATION_FORTBUILDINGCARDPOPOVER_MAPINFO_BODY, nextMap=self.__getMapUserName(nextMapID), changeDate=BigWorld.wg_getLongDateFormat(nextMapTimestamp), changeTime=BigWorld.wg_getShortTimeFormat(nextMapTimestamp))
             isToolTipSpecial = True
         else:
             mapIcon = mapMsg = ''
             isToolTipSpecial = False
         mapInfo = i18n.makeString(mapIcon + ' ' + mapMsg)
         result['mapInfo'] = mapInfo
         result['isToolTipSpecial'] = isToolTipSpecial
         result['tooltipData'] = {'mapName': header,
          'description': body,
          'imageURL': self.__getMapImage(curMapID)}
     return result
Esempio n. 48
0
 def __getHeaderText(self, canUpdatePremium):
     text = text_styles.highTitle(MENU.PREMIUM_TARIFFS_HEADER)
     if not canUpdatePremium:
         text += ' ' + icons.alert()
     return text
 def __prepareActionData(self):
     result = {}
     enableActionBtn = False
     if self._isBaseBuilding:
         if self.__isCommander:
             result['currentState'] = self.ACTION_STATES.BASE_COMMANDER
             resultConcat = ''.join((text_styles.main(i18n.makeString(FORT.BUILDINGPOPOVER_DEFRESACTIONS_DIRECTIONOPENED)), text_styles.neutral(self.__directionOpened)))
             result['generalLabel'] = resultConcat
             result['actionButtonLbl'] = i18n.makeString(FORT.BUILDINGPOPOVER_DEFRESACTIONS_MANAGEMENT)
             enableActionBtn = True
         else:
             result['currentState'] = self.ACTION_STATES.BASE_NOT_COMMANDER
             resultConcat = ''.join((text_styles.main(i18n.makeString(FORT.BUILDINGPOPOVER_DEFRESACTIONS_DIRECTIONOPENED)), text_styles.neutral(self.__directionOpened)))
             result['generalLabel'] = resultConcat
     elif self.__isCommander:
         if self.__buildingDescr.orderInProduction:
             orderCount = self.__buildingDescr.orderInProduction.get('count', 0)
             result['currentState'] = self.ACTION_STATES.NOT_BASE_COMMANDER_ORDERED
             if self._isProductionInPause(self.__buildingDescr):
                 result['productionInPause'] = True
                 title = i18n.makeString(TOOLTIPS.FORTIFICATION_ORDERPROCESS_INPAUSE_HEADER)
                 body = i18n.makeString(TOOLTIPS.FORTIFICATION_ORDERPROCESS_INPAUSE_BODY)
                 result['pauseReasonTooltip'] = [title, body]
                 overTime = i18n.makeString(FORT.BUILDINGPOPOVER_ORDERPROCESS_INPAUSE)
                 orderTimeIcon = icons.alert()
                 orderTimeMsg = text_styles.alert(overTime)
                 orderTime = i18n.makeString(orderTimeIcon + ' ' + orderTimeMsg)
             else:
                 overTime = i18n.makeString(FORT.BUILDINGPOPOVER_DEFRESACTIONS_PREPARETIMEOVER)
                 overTime = overTime + self.__orderTime
                 orderTime = text_styles.neutral(overTime)
             orderTimer = ''.join((text_styles.main(i18n.makeString(FORT.BUILDINGPOPOVER_DEFRESACTIONS_PREPARINGDEFRES)), text_styles.neutral(orderCount)))
             result['orderTimer'] = orderTimer
             result['timeOver'] = orderTime
             result['generalLabel'] = self.__makeGeneralActionLabel()
         else:
             result['currentState'] = self.ACTION_STATES.NOT_BASE_COMMANDER_NOT_ORDERED
             result['generalLabel'] = self.__makeGeneralActionLabel()
             result['actionButtonLbl'] = i18n.makeString(FORT.BUILDINGPOPOVER_DEFRESACTIONS_REQUESTDEFRES)
             enableActionBtn = True
             order = self.fortCtrl.getFort().getOrder(self.__orderID)
             if self.__defResVal < order.productionCost:
                 enableActionBtn = False
                 result['toolTipData'] = TOOLTIPS.FORTIFICATION_POPOVER_PREPAREORDERDISABLE
             if order.maxCount <= order.count:
                 enableActionBtn = False
                 result['toolTipData'] = TOOLTIPS.FORTIFICATION_POPOVER_PREPAREORDEROVERLOAD
             if self._isBuildingDamaged(self.__buildingDescr) or self._isBaseBuildingDamaged() or self._isFortFrozen():
                 enableActionBtn = False
                 header = TOOLTIPS.FORTIFICATION_ORDERPROCESS_NOTAVAILABLE_HEADER
                 body = TOOLTIPS.FORTIFICATION_ORDERPROCESS_NOTAVAILABLE_BODY
                 result['toolTipData'] = makeTooltip(header, body)
             if enableActionBtn:
                 orderName = i18n.makeString(FORT.orders_orderpopover_ordertype(self.getOrderUIDbyID(self.__orderID)))
                 result['toolTipData'] = i18n.makeString(TOOLTIPS.FORTIFICATION_POPOVER_PREPAREORDERENABLE, orderName=orderName)
     else:
         result['currentState'] = self.ACTION_STATES.NOT_BASE_NOT_COMMANDER
         result['generalLabel'] = 'unVISIBLE'
         result['actionButtonLbl'] = 'unVISIBLE'
     result['enableActionButton'] = enableActionBtn and not self.__isTutorial
     return result
 def __updateHeader(self):
     club = self.clubsCtrl.getClub(self.__clubDBID)
     canSetRanked = club is not None and club.getPermissions().canSetRanked()
     seasonState = self.clubsCtrl.getSeasonState()
     modeLabel = ''
     modeTooltip = ''
     modeTooltipType = ''
     isFixedMode = True
     isModeTooltip = False
     if self.__extra.isRatedBattle:
         isFixedMode = not canSetRanked
         if canSetRanked:
             modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_SETUNRANKEDMODE
         else:
             modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_RANKEDMODE
     elif seasonState.isSuspended():
         modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONPAUSED
         isModeTooltip = True
         modeTooltipType = TOOLTIPS_CONSTANTS.COMPLEX
         modeTooltip = makeTooltip(CYBERSPORT.STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONPAUSEDTOOLTIP_HEADER, CYBERSPORT.STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONPAUSEDTOOLTIP_BODY)
     elif seasonState.isFinished():
         modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONFINISHED
         isModeTooltip = True
         modeTooltipType = TOOLTIPS_CONSTANTS.COMPLEX
         modeTooltip = makeTooltip(CYBERSPORT.STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONFINISHEDTOOLTIP_HEADER, CYBERSPORT.STATICFORMATION_UNITVIEW_MODECHANGEWARNING_SEASONFINISHEDTOOLTIP_BODY)
     elif canSetRanked:
         isFixedMode = False
         modeLabel = CYBERSPORT.STATICFORMATION_UNITVIEW_SETRANKEDMODE
     if len(modeLabel):
         if canSetRanked and seasonState.isActive() or self.__extra.isRatedBattle:
             modeLabel = text_styles.neutral(modeLabel)
         else:
             modeLabel = text_styles.standard(modeLabel)
     if isHourInForbiddenList(self.clubsCtrl.getAvailabilityCtrl().getForbiddenHours()):
         modeLabel = '{0}{1}'.format(icons.alert(), text_styles.main(CYBERSPORT.LADDERREGULATIONS_WARNING))
         isFixedMode = True
         isModeTooltip = True
         modeTooltipType = TOOLTIPS_CONSTANTS.LADDER_REGULATIONS
     bgSource = RES_ICONS.MAPS_ICONS_LIBRARY_CYBERSPORT_LEAGUERIBBONS_UNRANKED
     battles = self.ABSENT_VALUES
     winRate = self.ABSENT_VALUES
     leagueIcon = getLadderChevron64x64()
     enableWinRateTF = False
     if club is not None:
         clubTotalStats = club.getTotalDossier().getTotalStats()
         battles = BigWorld.wg_getNiceNumberFormat(clubTotalStats.getBattlesCount())
         division = club.getLadderInfo().division
         leagueIcon = getLadderChevron64x64(division)
         winRateValue = ProfileUtils.getValueOrUnavailable(clubTotalStats.getWinsEfficiency())
         if winRateValue != ProfileUtils.UNAVAILABLE_VALUE:
             enableWinRateTF = True
             winRate = ProfileUtils.formatFloatPercent(winRateValue)
         else:
             winRate = self.ABSENT_VALUES
         if self.__extra.isRatedBattle:
             bgSource = getLadderBackground(division)
         self.requestClubEmblem64x64(club.getClubDbID(), club.getEmblem64x64())
     self.as_setHeaderDataS({'clubId': self.__extra.clubDBID,
      'teamName': self.__extra.clubName,
      'isRankedMode': bool(self.__extra.isRatedBattle),
      'battles': battles,
      'winRate': winRate,
      'enableWinRateTF': enableWinRateTF,
      'leagueIcon': leagueIcon,
      'isFixedMode': isFixedMode,
      'modeLabel': modeLabel,
      'modeTooltip': modeTooltip,
      'bgSource': bgSource,
      'modeTooltipType': modeTooltipType,
      'isModeTooltip': isModeTooltip})
     return
Esempio n. 51
0
 def atReturn(self, cd):
     cd.self.as_showMiniClientInfoS('{0} {1}'.format(icons.alert(-3), text_styles.main(_ms('#miniclient:battle_type_select_popover/message'))), _ms('#miniclient:personal_quests_welcome_view/continue_download'))