Example #1
0
    def __updatePrebattleInvites(self, prbInvites):
        receiver = BigWorld.player().name
        receiverDBID = getPlayerDatabaseID()
        receiverClanAbbrev = g_lobbyContext.getClanAbbrev(self.__clanInfo)
        added = []
        changed = []
        deleted = []
        modified = False
        rosterGetter = self.users.getUser
        for (prebattleID, peripheryID), data in prbInvites.iteritems():
            inviteID = self._makeInviteID(prebattleID, peripheryID)
            if data is None:
                if self._delInvite(inviteID):
                    modified = True
                    deleted.append(inviteID)
                continue
            invite = PrbInviteWrapper(id=inviteID,
                                      receiver=receiver,
                                      receiverDBID=receiverDBID,
                                      receiverClanAbbrev=receiverClanAbbrev,
                                      peripheryID=peripheryID,
                                      **data)
            inList = inviteID in self.__receivedInvites
            if not inList:
                if self._addInvite(invite, rosterGetter):
                    modified = True
                    added.append(inviteID)
            elif self._updateInvite(invite, rosterGetter):
                modified = True
                changed.append(inviteID)

        if modified:
            self.onReceivedInviteListModified(added, changed, deleted)
        return
Example #2
0
    def __updatePrebattleInvites(self, prbInvites):
        receiver = BigWorld.player().name
        receiverDBID = getPlayerDatabaseID()
        receiverClanAbbrev = g_lobbyContext.getClanAbbrev(self.__clanInfo)
        added = []
        changed = []
        deleted = []
        modified = False
        rosterGetter = self.users.getUser
        for (prebattleID, peripheryID), data in prbInvites.iteritems():
            inviteID = self._makeInviteID(prebattleID, peripheryID)
            if data is None:
                if self._delInvite(inviteID):
                    modified = True
                    deleted.append(inviteID)
                continue
            invite = PrbInviteWrapper(id=inviteID, receiver=receiver, receiverDBID=receiverDBID, receiverClanAbbrev=receiverClanAbbrev, peripheryID=peripheryID, **data)
            inList = inviteID in self.__receivedInvites
            if not inList:
                if self._addInvite(invite, rosterGetter):
                    modified = True
                    added.append(inviteID)
            elif self._updateInvite(invite, rosterGetter):
                modified = True
                changed.append(inviteID)

        if modified:
            self.onReceivedInviteListModified(added, changed, deleted)
        return
Example #3
0
 def getPermissions(self, memberDbID = None):
     if memberDbID is None:
         memberDbID = getPlayerDatabaseID()
     if self.hasMember(memberDbID):
         return MemberPermissions(self.__clubDescr.members[memberDbID])
     else:
         return DefaultMemberPermissions()
Example #4
0
 def clanRole(self):
     user = self.usersStorage.getUser(getPlayerDatabaseID())
     if user:
         role = user.getClanRole()
     else:
         role = 0
     return role
Example #5
0
 def __init__(self):
     StaticFormationStaffViewMeta.__init__(self)
     UsersInfoHelper.__init__(self)
     ClubPage.__init__(self)
     self.__openCloseCallbackID = None
     self.__viewerDbID = getPlayerDatabaseID()
     self.addListener(events.CoolDownEvent.CLUB, self.__handleClubCooldown, scope=EVENT_BUS_SCOPE.LOBBY)
     return
Example #6
0
    def _updateInvites(self, invites):
        self._contactsState |= _CONTACTS_LIST.INVITES
        prevInvites = self._invites
        self._invites = {}
        for sendingTime, inviterDbID, clubDbID, status in invites:
            invite = ClubInvite(clubDbID, getPlayerDatabaseID(), inviterDbID, sendingTime, status)
            self._invites[invite.getID()] = invite

        self.__processInvitations(prevInvites)
Example #7
0
 def assignSlotRequest(self, slotIndex, playerId):
     if playerId == -1:
         if self.unitFunctional.getPlayerInfo().isCreator():
             LOG_DEBUG('Request to assign is ignored. Creator can not move to another slots')
             return 
         playerId = account_helpers.getPlayerDatabaseID()
     elif not self.isPlayerInUnit(playerId):
         return 
     self.requestToAssign(playerId, slotIndex)
Example #8
0
 def validate(self, update = False):
     items = g_itemsCache.items
     invVehicles = items.getVehicles(REQ_CRITERIA.INVENTORY)
     vehCDs = invVehicles.keys()
     pInfo = self.__functional.getPlayerInfo()
     if pInfo.isInSlot:
         _, unit = self.__functional.getUnit()
         roster = unit.getRoster()
         if not roster.checkVehicleList(vehCDs, pInfo.slotIdx) and not pInfo.isCreator():
             self.__functional.request(unit_ctx.AssignUnitCtx(pInfo.dbID, UNIT_SLOT.REMOVE, 'prebattle/assign'))
         else:
             vInfo = self.__functional.getVehicleInfo()
             if vInfo.vehTypeCD and vInfo.vehTypeCD not in vehCDs:
                 self.__functional.request(unit_ctx.SetVehicleUnitCtx(vehInvID=INV_ID_CLEAR_VEHICLE, waitingID='prebattle/change_settings'))
             elif update:
                 self.__functional.unit_onUnitPlayerVehDictChanged(getPlayerDatabaseID())
     elif update:
         self.__functional.unit_onUnitPlayerVehDictChanged(getPlayerDatabaseID())
Example #9
0
    def _updateApps(self, apps):
        self._apps = {}
        for clubDbID, sendingTime, comment, status in apps:
            app = ClubApplication(clubDbID, getPlayerDatabaseID(), comment, sendingTime, status)
            self._apps[app.getID()] = app

        if not self._isSynced:
            self.__notify('onAccountClubAppsInited', self._apps.values())
        else:
            self.__notify('onAccountClubAppsChanged', self._apps.values())
 def _populate(self):
     super(PrbSendInvitesWindow, self)._populate()
     self.addListener(events.CoolDownEvent.PREBATTLE, self.__handleSetPrebattleCoolDown, scope=EVENT_BUS_SCOPE.LOBBY)
     self.as_setWindowTitleS(i18n.makeString('#dialogs:sendInvites/{0:>s}/title'.format(self._prbName)))
     self.as_setDefaultOnlineFlagS(self._onlineMode)
     self._searchDP = search_data_providers.SearchUsersDataProvider(exclude=[account_helpers.getPlayerDatabaseID()])
     self._searchDP.init(self.as_getSearchDPS(), [self])
     self._friendsDP = users_data_providers.FriendsDataProvider()
     self._friendsDP.init(self.as_getFriendsDPS(), self._onlineMode)
     self._clanDP = users_data_providers.ClanMembersDataProvider()
     self._clanDP.init(self.as_getClanDPS(), self._onlineMode)
Example #11
0
 def getRoles(self, pDatabaseID = None):
     result = 0
     if self._settings is None:
         return result
     else:
         if pDatabaseID is None:
             pDatabaseID = account_helpers.getPlayerDatabaseID()
         roles = self._settings['roles']
         if pDatabaseID in roles:
             result = roles[pDatabaseID]
         return result
Example #12
0
 def getUnitFullData(self, unitIdx = None):
     (dbID, rosters,) = (getPlayerDatabaseID(), self.getRosters())
     pInfo = unit_items.PlayerUnitInfo.fromPrbInfo(self.getPlayerInfo())
     accounts = rosters[PREBATTLE_ROSTER.ASSIGNED_IN_TEAM1]
     unitState = self._buildState()
     unitStats = self._buildStats(accounts)
     slotsIter = self._getSlotsIterator(accounts)
     return (unitState,
      unitStats,
      pInfo,
      slotsIter)
Example #13
0
 def _buildReceivedInvitesList(self, invitesData):
     self.__isInvitesListBuild = True
     self.__receivedInvites.clear()
     self.__unreadInvitesCount = 0
     receiver = BigWorld.player().name
     receiverDBID = getPlayerDatabaseID()
     receiverClanAbbrev = g_lobbyContext.getClanAbbrev(self.__clanInfo)
     userGetter = self.users.getUser
     for (prebattleID, peripheryID), data in invitesData.iteritems():
         inviteID = self._makeInviteID(prebattleID, peripheryID)
         invite = PrbInviteWrapper(id=inviteID, receiver=receiver, receiverDBID=receiverDBID, receiverClanAbbrev=receiverClanAbbrev, peripheryID=peripheryID, **data)
         self._addInvite(invite, userGetter)
Example #14
0
 def _buildReceivedInvitesList(self, invitesData):
     if self.__inited & PRB_INVITES_INIT_STEP.DATA_BUILD == 0:
         self.__inited |= PRB_INVITES_INIT_STEP.DATA_BUILD
     self.__receivedInvites.clear()
     self.__unreadInvitesCount = 0
     receiver = getattr(BigWorld.player(), 'name', '')
     receiverDBID = getPlayerDatabaseID()
     receiverClanAbbrev = g_lobbyContext.getClanAbbrev(self.__clanInfo)
     userGetter = self.users.getUser
     for (prebattleID, peripheryID), data in invitesData.iteritems():
         inviteID = self._makeInviteID(prebattleID, peripheryID)
         invite = PrbInviteWrapper(id=inviteID, receiver=receiver, receiverDBID=receiverDBID, receiverClanAbbrev=receiverClanAbbrev, peripheryID=peripheryID, prebattleID=prebattleID, **data)
         self._addInvite(invite, userGetter)
Example #15
0
 def _populate(self):
     super(PrbSendInvitesWindow, self)._populate()
     self.addListener(events.CoolDownEvent.PREBATTLE, self.__handleSetPrebattleCoolDown, scope=EVENT_BUS_SCOPE.LOBBY)
     self.as_setWindowTitleS(i18n.makeString(DIALOGS.SENDINVITES_COMMON_TITLE))
     self.as_setDefaultOnlineFlagS(self._onlineMode)
     self.as_showClanOnlyS(self._showClanOnly)
     self._searchDP = search_data_providers.SearchUsersDataProvider(exclude=[account_helpers.getPlayerDatabaseID()])
     self._searchDP.init(self.as_getSearchDPS(), [self])
     self._friendsDP = users_data_providers.FriendsDataProvider()
     self._friendsDP.init(self.as_getFriendsDPS(), self._onlineMode)
     self._clanDP = users_data_providers.ClanMembersDataProvider()
     self._clanDP.init(self.as_getClanDPS(), self._onlineMode)
     self._sendInvites()
 def _populate(self):
     super(PrbSendInvitesWindow, self)._populate()
     self.addListener(events.CoolDownEvent.PREBATTLE,
                      self.__handleSetPrebattleCoolDown,
                      scope=EVENT_BUS_SCOPE.LOBBY)
     self.as_setWindowTitleS(
         i18n.makeString('#dialogs:sendInvites/{0:>s}/title'.format(
             self._prbName)))
     self.as_setDefaultOnlineFlagS(self._onlineMode)
     self._searchDP = search_data_providers.SearchUsersDataProvider(
         exclude=[account_helpers.getPlayerDatabaseID()])
     self._searchDP.init(self.as_getSearchDPS(), [self])
     self._friendsDP = users_data_providers.FriendsDataProvider()
     self._friendsDP.init(self.as_getFriendsDPS(), self._onlineMode)
     self._clanDP = users_data_providers.ClanMembersDataProvider()
     self._clanDP.init(self.as_getClanDPS(), self._onlineMode)
Example #17
0
 def _buildReceivedInvitesList(self, invitesData):
     self.__isInvitesListBuild = True
     self.__receivedInvites.clear()
     self.__unreadInvitesCount = 0
     receiver = BigWorld.player().name
     receiverDBID = getPlayerDatabaseID()
     receiverClanAbbrev = g_lobbyContext.getClanAbbrev(self.__clanInfo)
     userGetter = self.users.getUser
     for (prebattleID, peripheryID), data in invitesData.iteritems():
         inviteID = self._makeInviteID(prebattleID, peripheryID)
         invite = PrbInviteWrapper(id=inviteID,
                                   receiver=receiver,
                                   receiverDBID=receiverDBID,
                                   receiverClanAbbrev=receiverClanAbbrev,
                                   peripheryID=peripheryID,
                                   **data)
         self._addInvite(invite, userGetter)
Example #18
0
 def getRoles(self, pDatabaseID = None, clanDBID = None, team = None):
     result = 0
     if self._settings is None:
         return result
     if pDatabaseID is None:
         pDatabaseID = account_helpers.getPlayerDatabaseID()
     roles = self._settings['roles']
     if pDatabaseID in roles:
         result = roles[pDatabaseID]
     if not result and clanDBID:
         roles = self._settings['clanRoles']
         if clanDBID in roles:
             result = roles[clanDBID]
     if not result and team:
         roles = self._settings['teamRoles']
         if team in roles:
             result = roles[team]
     return result
Example #19
0
 def __getButtonInfo(self, club):
     dbID = account_helpers.getPlayerDatabaseID()
     if club.hasMember(dbID):
         return self.__getMemberBtnInfo(club)
     else:
         return self.__getNotMemberBtnInfo(club)
Example #20
0
 def isCurrentPlayer(self):
     if self.dbID > 0:
         result = self.dbID == getPlayerDatabaseID()
     else:
         result = self.accID == getPlayerID()
     return result
Example #21
0
 def isCurrentPlayer(self):
     return self.dbID == getPlayerDatabaseID()
Example #22
0
 def canAssignToSlot(self, dbID):
     return self._roles & UNIT_ROLE.ADD_REMOVE_MEMBERS > 0 or dbID == account_helpers.getPlayerDatabaseID(
     )
Example #23
0
 def __makeAchievements(self, dossier, club):
     achievements = dossier.getTotalStats().getAchievements()
     mergedList = list(itertools.chain(*achievements))
     isForClubMember = club.getMember(getPlayerDatabaseID()) is not None
     return AchievementsUtils.packAchievementList(mergedList, dossier.getDossierType(), dumpDossier(dossier), isForClubMember, True)
Example #24
0
def _getInfo4AccountPlayer():
    return (account_helpers.getPlayerDatabaseID(), BigWorld.player().name, None)
Example #25
0
 def __init__(self, success = None):
     super(PlayerFortRequester, self).__init__(success)
     self._databaseID = getPlayerDatabaseID()
     self._individualRqIDs = set()
Example #26
0
 def isCurrentPlayer(self):
     if self.dbID > 0:
         result = self.dbID == getPlayerDatabaseID()
     else:
         result = self.accID == getPlayerID()
     return result
Example #27
0
 def isCurrentPlayer(self):
     return self.dbID == getPlayerDatabaseID()
Example #28
0
 def getMember(self, memberDbID = None):
     memberDbID = memberDbID or getPlayerDatabaseID()
     if self.hasMember(memberDbID):
         return self.__makeMemberItem(memberDbID, self.__clubDescr.members[memberDbID])
     else:
         return None
Example #29
0
 def _takeLeadership(self):
     yield self.prbDispatcher.sendUnitRequest(unit_ctx.GiveLeadershipCtx(getPlayerDatabaseID(), 'prebattle/takeLeadership'))
Example #30
0
 def canAssignToSlot(self, dbID):
     return self._roles & UNIT_ROLE.ADD_REMOVE_MEMBERS > 0 or dbID == account_helpers.getPlayerDatabaseID()
Example #31
0
def _getInfo4AccountPlayer():
    return (account_helpers.getPlayerDatabaseID(), getPlayerName(), None)
Example #32
0
def _getAccountDatabaseID():
    return account_helpers.getPlayerDatabaseID()
Example #33
0
 def isPromoAutoViewsEnabled(cls):
     return getPlayerDatabaseID() % cls.PROMO_AUTO_VIEWS_TEST_VALUE != 0 and g_lobbyContext.getServerSettings().isPromoAutoViewsEnabled()