コード例 #1
0
ファイル: clubsrestrictions.py プロジェクト: Difrex/wotsdk
 def canDeclineInvite(self, profile, inviteID):
     invite = profile.getInvite(inviteID)
     if not invite:
         return error(_CCR.INVITE_DOES_NOT_EXIST)
     if not invite.isActive():
         return error(_CCR.INVITE_IS_NOT_ACTIVE)
     return self._isAccountRequestValid(_CRT.DECLINE_INVITE)
コード例 #2
0
ファイル: restrictions.py プロジェクト: krzcho/WOTDecompiled
 def canCreateClub(self, profile):
     stateID = profile.getState().getStateID()
     if stateID == _CCB.HAS_CLUB:
         return error(_CCR.ACCOUNT_ALREADY_IN_TEAM)
     if stateID == _CCB.SENT_APP:
         return error(_CCR.APPLICATION_FOR_USER_EXCEEDED)
     return self._isAccountRequestValid(_CRT.CREATE_CLUB)
コード例 #3
0
ファイル: clubsrestrictions.py プロジェクト: Difrex/wotsdk
 def canCreateUnit(self, profile, club=None):
     stateID = profile.getState().getStateID()
     if stateID != _CCB.HAS_CLUB:
         return error(_CCR.HAS_NO_CLUB)
     if not club.canParticipateBattles():
         return error(_CCR.NOT_ENOUGH_MEMBERS)
     return self._isClubRequestValid(_CRT.JOIN_UNIT, club, 'canCreateUnit')
コード例 #4
0
ファイル: restrictions.py プロジェクト: krzcho/WOTDecompiled
 def canDeclineInvite(self, profile, inviteID):
     invite = profile.getInvite(inviteID)
     if not invite:
         return error(_CCR.INVITE_DOES_NOT_EXIST)
     if not invite.isActive():
         return error(_CCR.INVITE_IS_NOT_ACTIVE)
     return self._isAccountRequestValid(_CRT.DECLINE_INVITE)
コード例 #5
0
ファイル: restrictions.py プロジェクト: krzcho/WOTDecompiled
 def canCreateUnit(self, profile, club = None):
     stateID = profile.getState().getStateID()
     if stateID != _CCB.HAS_CLUB:
         return error(_CCR.HAS_NO_CLUB)
     if not club.canParticipateBattles():
         return error(_CCR.NOT_ENOUGH_MEMBERS)
     return self._isClubRequestValid(_CRT.JOIN_UNIT, club, 'canCreateUnit')
コード例 #6
0
ファイル: clubsrestrictions.py プロジェクト: Difrex/wotsdk
 def canCreateClub(self, profile):
     stateID = profile.getState().getStateID()
     if stateID == _CCB.HAS_CLUB:
         return error(_CCR.ACCOUNT_ALREADY_IN_TEAM)
     if stateID == _CCB.SENT_APP:
         return error(_CCR.APPLICATION_FOR_USER_EXCEEDED)
     return self._isAccountRequestValid(_CRT.CREATE_CLUB)
コード例 #7
0
ファイル: restrictions.py プロジェクト: jamesxia4/wot_client
 def canLeaveClub(self, profile, club=None):
     stateID = profile.getState().getStateID()
     if stateID != _CCB.HAS_CLUB:
         return error(_CCR.HAS_NO_CLUB)
     if club is not None:
         if not club.hasMember(getAccountDatabaseID()):
             return error(_CCR.NOT_A_CLUB_MEMBER)
     return self._isClubRequestValid(_CRT.LEAVE_CLUB, club, 'canLeaveClub')
コード例 #8
0
ファイル: restrictions.py プロジェクト: kblw/wot_client
 def canLeaveClub(self, profile, club = None):
     stateID = profile.getState().getStateID()
     if stateID != _CCB.HAS_CLUB:
         return error(_CCR.HAS_NO_CLUB)
     if club is not None:
         if not club.hasMember(getAccountDatabaseID()):
             return error(_CCR.NOT_A_CLUB_MEMBER)
     return self._isClubRequestValid(_CRT.LEAVE_CLUB, club, 'canLeaveClub')
コード例 #9
0
ファイル: clubsrestrictions.py プロジェクト: Difrex/wotsdk
 def canAcceptInvite(self, profile, inviteID):
     if profile.getState().getStateID() == _CCB.HAS_CLUB:
         return error(_CCR.ACCOUNT_ALREADY_IN_TEAM)
     invite = profile.getInvite(inviteID)
     if not invite:
         return error(_CCR.INVITE_DOES_NOT_EXIST)
     if not invite.isActive():
         return error(_CCR.INVITE_IS_NOT_ACTIVE)
     return self._isAccountRequestValid(_CRT.ACCEPT_INVITE)
コード例 #10
0
ファイル: restrictions.py プロジェクト: krzcho/WOTDecompiled
 def canAcceptInvite(self, profile, inviteID):
     if profile.getState().getStateID() == _CCB.HAS_CLUB:
         return error(_CCR.ACCOUNT_ALREADY_IN_TEAM)
     invite = profile.getInvite(inviteID)
     if not invite:
         return error(_CCR.INVITE_DOES_NOT_EXIST)
     if not invite.isActive():
         return error(_CCR.INVITE_IS_NOT_ACTIVE)
     return self._isAccountRequestValid(_CRT.ACCEPT_INVITE)
コード例 #11
0
ファイル: restrictions.py プロジェクト: krzcho/WOTDecompiled
 def _isClubRequestValid(self, requestTypeID, club, permName):
     if club is not None:
         perms = club.getPermissions()
         if not getattr(perms, permName)():
             return error(_CCR.DEFAULT)
         isValid, reason = club.getRestrictions().isRequestValid(requestTypeID)
         if not isValid:
             return error(reason)
     else:
         LOG_WARNING('There is no club to check restrictions, skip', requestTypeID, club, permName)
     return self._isAccountRequestValid(requestTypeID)
コード例 #12
0
ファイル: restrictions.py プロジェクト: kblw/wot_client
 def canSendInvite(self, profile, club = None, accountsToInvite = None):
     stateID = profile.getState().getStateID()
     if stateID != _CCB.HAS_CLUB:
         return error(_CCR.HAS_NO_CLUB)
     if accountsToInvite is not None:
         if len(accountsToInvite) > CLUB_LIMITS.MAX_INVITES_PER_CALL:
             return error(_CCR.TOO_MANY_INVITES_PER_CALL)
         if club is not None:
             available = MAX_CLUB_ACTIVE_INVITES - len(club.getInvites(onlyActive=True))
             if available < len(accountsToInvite):
                 return error(_CCR.TOO_MANY_ACTIVE_INVITES)
     return self._isClubRequestValid(_CRT.SEND_INVITE, club, 'canSendInvite')
コード例 #13
0
ファイル: restrictions.py プロジェクト: kblw/wot_client
    def canChangeWebSettings(self, profile, club = None):
        url = GUI_SETTINGS.lookup('clubSettings')
        if not url:
            return error(_CCR.DEFAULT)
        if club is not None:
            for rID in {_CRT.CHANGE_CLUB_NAME, _CRT.CHANGE_CLUB_EMBLEM}:
                result = self._isClubRequestValid(rID, club, 'canChangeWebSettings')
                if result.success:
                    return result

            return error(_CCR.NOT_ENOUGH_RATED_BATTLES)
        return success()
コード例 #14
0
ファイル: restrictions.py プロジェクト: krzcho/WOTDecompiled
 def canChangeWebSettings(self, profile, club = None):
     url = GUI_SETTINGS.lookup('clubSettings')
     if not url:
         return error(_CCR.DEFAULT)
     else:
         if club is not None:
             permissions = club.getPermissions()
             if not permissions.canChangeWebSettings():
                 return error(_CCR.DEFAULT)
             if club.getTotalDossier().getTotalStats().getBattlesCount() < CLUB_LIMITS.MIN_BATTLES_COUNT_TO_CHANGE_NAME:
                 return error(_CCR.NOT_ENOUGH_RATED_BATTLES)
         return success()
コード例 #15
0
ファイル: restrictions.py プロジェクト: jamesxia4/wot_client
    def canChangeWebSettings(self, profile, club=None):
        url = GUI_SETTINGS.lookup('clubSettings')
        if not url:
            return error(_CCR.DEFAULT)
        if club is not None:
            for rID in {_CRT.CHANGE_CLUB_NAME, _CRT.CHANGE_CLUB_EMBLEM}:
                result = self._isClubRequestValid(rID, club,
                                                  'canChangeWebSettings')
                if result.success:
                    return result

            return error(_CCR.NOT_ENOUGH_RATED_BATTLES)
        return success()
コード例 #16
0
ファイル: clubsrestrictions.py プロジェクト: Difrex/wotsdk
 def _isClubRequestValid(self, requestTypeID, club, permName):
     if club is not None:
         perms = club.getPermissions()
         if not getattr(perms, permName)():
             return error(_CCR.DEFAULT)
         isValid, reason = club.getRestrictions().isRequestValid(
             requestTypeID)
         if not isValid:
             return error(reason)
     else:
         LOG_WARNING('There is no club to check restrictions, skip',
                     requestTypeID, club, permName)
     return self._isAccountRequestValid(requestTypeID)
コード例 #17
0
ファイル: restrictions.py プロジェクト: krzcho/WOTDecompiled
    def canSendApplication(self, profile, club = None):
        stateID = profile.getState().getStateID()
        if stateID == _CCB.HAS_CLUB:
            return error(_CCR.ACCOUNT_ALREADY_IN_TEAM)
        if stateID == _CCB.SENT_APP:
            return error(_CCR.APPLICATION_FOR_USER_EXCEEDED)
        if club:
            if club.getState().isClosed():
                return error(_CCR.CLUB_IS_CLOSED)
            for app in profile.getApplications().itervalues():
                if app.getClubDbID() == club.getClubDbID() and app.isDeclined() and app.getTimestamp() + THE_SAME_CLUB_SEND_APP_COOLDOWN > getCurrentTimestamp():
                    return error(_CCR.TEMPORARILY_RESTRICTED)

        return self._isClubRequestValid(_CRT.SEND_APPLICATION, club, 'canSendApplication')
コード例 #18
0
ファイル: restrictions.py プロジェクト: jamesxia4/wot_client
 def canSendInvite(self, profile, club=None, accountsToInvite=None):
     stateID = profile.getState().getStateID()
     if stateID != _CCB.HAS_CLUB:
         return error(_CCR.HAS_NO_CLUB)
     if accountsToInvite is not None:
         if len(accountsToInvite) > CLUB_LIMITS.MAX_INVITES_PER_CALL:
             return error(_CCR.TOO_MANY_INVITES_PER_CALL)
         if club is not None:
             available = MAX_CLUB_ACTIVE_INVITES - len(
                 club.getInvites(onlyActive=True))
             if available < len(accountsToInvite):
                 return error(_CCR.TOO_MANY_ACTIVE_INVITES)
     return self._isClubRequestValid(_CRT.SEND_INVITE, club,
                                     'canSendInvite')
コード例 #19
0
ファイル: clubsrestrictions.py プロジェクト: Difrex/wotsdk
    def isRequestValid(self, requestTypeID):
        if requestTypeID in self.__restrictions:
            for restriction in self.__restrictions[requestTypeID]:
                if not restriction.isExpired():
                    return error(restriction.getReasonString())

        return success()
コード例 #20
0
ファイル: clubsrestrictions.py プロジェクト: aevitas/wotsdk
    def isRequestValid(self, requestTypeID):
        if requestTypeID in self.__restrictions:
            for restriction in self.__restrictions[requestTypeID]:
                if not restriction.isExpired():
                    return error(restriction.getReasonString())

        return success()
コード例 #21
0
ファイル: restrictions.py プロジェクト: jamesxia4/wot_client
 def canRevokeApplication(self, profile, club=None):
     stateID = profile.getState().getStateID()
     if stateID != _CCB.SENT_APP or club is not None and profile.getState(
     ).getClubDbID() != club.getClubDbID():
         return error(_CCR.NOT_IN_APPLICANTS)
     return self._isClubRequestValid(_CRT.REVOKE_APPLICATION, club,
                                     'canRevokeApplication')
コード例 #22
0
ファイル: clubsrestrictions.py プロジェクト: Difrex/wotsdk
 def canKickMember(self, profile, club=None, memberDbID=None):
     if club is not None:
         if memberDbID is not None:
             if not club.hasMember(memberDbID):
                 return error(_CCR.NOT_A_CLUB_MEMBER)
     return self._isClubRequestValid(_CRT.KICK_MEMBER, club,
                                     'canKickMember')
コード例 #23
0
ファイル: clubsrestrictions.py プロジェクト: Difrex/wotsdk
    def canSendApplication(self, profile, club=None):
        stateID = profile.getState().getStateID()
        if stateID == _CCB.HAS_CLUB:
            return error(_CCR.ACCOUNT_ALREADY_IN_TEAM)
        if stateID == _CCB.SENT_APP:
            return error(_CCR.APPLICATION_FOR_USER_EXCEEDED)
        if club:
            if club.getState().isClosed():
                return error(_CCR.CLUB_IS_CLOSED)
            for app in profile.getApplications().itervalues():
                if app.getClubDbID() == club.getClubDbID() and app.isDeclined(
                ) and app.getTimestamp(
                ) + THE_SAME_CLUB_SEND_APP_COOLDOWN > getCurrentTimestamp():
                    return error(_CCR.TEMPORARILY_RESTRICTED)

        return self._isClubRequestValid(_CRT.SEND_APPLICATION, club,
                                        'canSendApplication')
コード例 #24
0
ファイル: restrictions.py プロジェクト: krzcho/WOTDecompiled
 def canSeeContenders(self, profile, club = None):
     if club and not club.getLadderInfo().isInLadder():
         return error(_CCR.CLUB_IS_NOT_IN_LADDER)
     return self._isClubRequestValid(_CRT.GET_CLUBS_CONTENDERS, club, 'canSeeContenders')
コード例 #25
0
ファイル: restrictions.py プロジェクト: krzcho/WOTDecompiled
 def canRevokeInvite(self, profile, club = None):
     stateID = profile.getState().getStateID()
     if stateID != _CCB.HAS_CLUB:
         return error(_CCR.HAS_NO_CLUB)
     return self._isClubRequestValid(_CRT.REVOKE_INVITE, club, 'canRevokeInvite')
コード例 #26
0
ファイル: interfaces.py プロジェクト: webiumsk/WOT-0.9.17-CT
 def canSeeOtherPlayerInfo(self, profile, club=None, userDbID=None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #27
0
ファイル: interfaces.py プロジェクト: webiumsk/WOT-0.9.17-CT
 def canKickMember(self, profile, club=None, memberDbID=None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #28
0
ファイル: interfaces.py プロジェクト: krzcho/WOTDecompiled
 def canDeclineInvite(self, profile, inviteID):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #29
0
ファイル: restrictions.py プロジェクト: krzcho/WOTDecompiled
 def isRequestValid(self, requestTypeID):
     if requestTypeID in self.__restrictions:
         return error(first(self.__restrictions[requestTypeID]).getReasonString())
     return success()
コード例 #30
0
ファイル: interfaces.py プロジェクト: krzcho/WOTDecompiled
 def canKickMember(self, profile, club = None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #31
0
ファイル: interfaces.py プロジェクト: krzcho/WOTDecompiled
 def canChangeWebSettings(self, profile, club = None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #32
0
ファイル: interfaces.py プロジェクト: webiumsk/WOT-0.9.17-CT
 def canSeeApplicants(self, profile, club=None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #33
0
ファイル: restrictions.py プロジェクト: krzcho/WOTDecompiled
 def canJoinUnit(self, profile, club = None):
     stateID = profile.getState().getStateID()
     if stateID != _CCB.HAS_CLUB:
         return error(_CCR.HAS_NO_CLUB)
     return self._isClubRequestValid(_CRT.JOIN_UNIT, club, 'canJoinUnit')
コード例 #34
0
ファイル: clubsrestrictions.py プロジェクト: Difrex/wotsdk
 def canJoinUnit(self, profile, club=None):
     stateID = profile.getState().getStateID()
     if stateID != _CCB.HAS_CLUB:
         return error(_CCR.HAS_NO_CLUB)
     return self._isClubRequestValid(_CRT.JOIN_UNIT, club, 'canJoinUnit')
コード例 #35
0
ファイル: clubsrestrictions.py プロジェクト: Difrex/wotsdk
 def canDeclineApplication(self, profile, club=None):
     stateID = profile.getState().getStateID()
     if stateID != _CCB.HAS_CLUB:
         return error(_CCR.HAS_NO_CLUB)
     return self._isClubRequestValid(_CRT.DECLINE_APPLICATION, club,
                                     'canDeclineApplication')
コード例 #36
0
ファイル: clubsrestrictions.py プロジェクト: Difrex/wotsdk
 def canRevokeInvite(self, profile, club=None):
     stateID = profile.getState().getStateID()
     if stateID != _CCB.HAS_CLUB:
         return error(_CCR.HAS_NO_CLUB)
     return self._isClubRequestValid(_CRT.REVOKE_INVITE, club,
                                     'canRevokeInvite')
コード例 #37
0
ファイル: clubsrestrictions.py プロジェクト: Difrex/wotsdk
 def canCloseClub(self, profile, club=None):
     stateID = profile.getState().getStateID()
     if stateID != _CCB.HAS_CLUB:
         return error(_CCR.HAS_NO_CLUB)
     return self._isClubRequestValid(_CRT.CLOSE_CLUB, club, 'canCloseClub')
コード例 #38
0
ファイル: clubsrestrictions.py プロジェクト: Difrex/wotsdk
 def canSeeContenders(self, profile, club=None):
     if club and not club.getLadderInfo().isInLadder():
         return error(_CCR.CLUB_IS_NOT_IN_LADDER)
     return self._isClubRequestValid(_CRT.GET_CLUBS_CONTENDERS, club,
                                     'canSeeContenders')
コード例 #39
0
ファイル: interfaces.py プロジェクト: webiumsk/WOT-0.9.17-CT
 def canCreateUnit(self, profile, club=None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #40
0
ファイル: interfaces.py プロジェクト: webiumsk/WOT-0.9.17-CT
 def canDeclineApplication(self, profile, club=None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #41
0
ファイル: interfaces.py プロジェクト: krzcho/WOTDecompiled
 def canChangeClubRequirements(self, profile, club = None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #42
0
ファイル: interfaces.py プロジェクト: webiumsk/WOT-0.9.17-CT
 def canRevokeInvite(self, profile, club=None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #43
0
ファイル: interfaces.py プロジェクト: krzcho/WOTDecompiled
 def canCreateClub(self, profile):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #44
0
ファイル: interfaces.py プロジェクト: webiumsk/WOT-0.9.17-CT
 def canCloseClub(self, profile, club=None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #45
0
ファイル: interfaces.py プロジェクト: krzcho/WOTDecompiled
 def canSendApplication(self, profile, club = None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #46
0
ファイル: interfaces.py プロジェクト: krzcho/WOTDecompiled
 def canSeeContenders(self, profile, club = None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #47
0
ファイル: interfaces.py プロジェクト: webiumsk/WOT-0.9.17-CT
 def canGetClubSeasons(self, profile, club=None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #48
0
ファイル: interfaces.py プロジェクト: krzcho/WOTDecompiled
 def canCloseClub(self, profile, club = None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #49
0
ファイル: interfaces.py プロジェクト: webiumsk/WOT-0.9.17-CT
 def canSeeContenders(self, profile, club=None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #50
0
ファイル: interfaces.py プロジェクト: krzcho/WOTDecompiled
 def canRevokeInvite(self, profile, club = None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #51
0
ファイル: restrictions.py プロジェクト: krzcho/WOTDecompiled
 def canRevokeApplication(self, profile, club = None):
     stateID = profile.getState().getStateID()
     if stateID != _CCB.SENT_APP or profile.getState().getClubDbID() != club.getClubDbID():
         return error(_CCR.NOT_IN_APPLICANTS)
     return self._isClubRequestValid(_CRT.REVOKE_APPLICATION, club, 'canRevokeApplication')
コード例 #52
0
ファイル: interfaces.py プロジェクト: webiumsk/WOT-0.9.17-CT
 def canAssignPrivate(self, profile, club=None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #53
0
ファイル: restrictions.py プロジェクト: krzcho/WOTDecompiled
 def canCloseClub(self, profile, club = None):
     stateID = profile.getState().getStateID()
     if stateID != _CCB.HAS_CLUB:
         return error(_CCR.HAS_NO_CLUB)
     return self._isClubRequestValid(_CRT.CLOSE_CLUB, club, 'canCloseClub')
コード例 #54
0
ファイル: interfaces.py プロジェクト: webiumsk/WOT-0.9.17-CT
 def canChangeWebSettings(self, profile, club=None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #55
0
ファイル: restrictions.py プロジェクト: krzcho/WOTDecompiled
 def canDeclineApplication(self, profile, club = None):
     stateID = profile.getState().getStateID()
     if stateID != _CCB.HAS_CLUB:
         return error(_CCR.HAS_NO_CLUB)
     return self._isClubRequestValid(_CRT.DECLINE_APPLICATION, club, 'canDeclineApplication')
コード例 #56
0
ファイル: interfaces.py プロジェクト: krzcho/WOTDecompiled
 def canAssignPrivate(self, profile, club = None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #57
0
ファイル: interfaces.py プロジェクト: krzcho/WOTDecompiled
 def canCreateUnit(self, profile, club = None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #58
0
ファイル: interfaces.py プロジェクト: webiumsk/WOT-0.9.17-CT
 def canTransferOwnership(self, profile, club=None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #59
0
ファイル: interfaces.py プロジェクト: krzcho/WOTDecompiled
 def canTransferOwnership(self, profile, club = None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)
コード例 #60
0
ファイル: interfaces.py プロジェクト: webiumsk/WOT-0.9.17-CT
 def canChangeClubRequirements(self, profile, club=None):
     return error(CLIENT_CLUB_RESTRICTIONS.DEFAULT)