def sendInvites(self, accountsToInvite, comment): self.as_showWaitingS(WAITING.CLANS_INVITES_SEND, {}) accountsToInvite = [int(userDbID) for userDbID in accountsToInvite] ctx = clan_ctx.CreateInviteCtx(self.__clanDbID, accountsToInvite, comment) self.as_onReceiveSendInvitesCooldownS(ctx.getCooldown()) result = yield self.clansCtrl.sendRequest(ctx) successAccounts = [ item.getAccountDbID() for item in ctx.getDataObj(result.data) ] failedAccounts = set(accountsToInvite) - set(successAccounts) if len(accountsToInvite) > 1: if successAccounts: accountNames = [ self.getUserName(userDbID) for userDbID in successAccounts ] SystemMessages.pushMessage( clans_fmts.getInvitesSentSysMsg(accountNames)) if failedAccounts: accountNames = [ self.getUserName(userDbID) for userDbID in failedAccounts ] SystemMessages.pushMessage( clans_fmts.getInvitesNotSentSysMsg(accountNames), type=SystemMessages.SM_TYPE.Error) else: showClanInviteSystemMsg(self.getUserName(accountsToInvite[0]), result.isSuccess(), result.getCode()) self.as_hideWaitingS()
def _onListItemsUpdated(self, paginator, items): currentPaginator = self._getCurrentPaginator() if currentPaginator == paginator: self.dataProvider.refreshItems(items) for item in items: status = item.getStatus() if status == CLAN_INVITE_STATES.EXPIRED_RESENT or status == CLAN_INVITE_STATES.DECLINED_RESENT: SystemMessages.pushMessage(clans_fmts.getInvitesSentSysMsg([item.getAccountName()]))
def showClanInviteSystemMsg(userName, isSuccess, code): if isSuccess: msg = formatters.getInvitesSentSysMsg((userName,)) msgType = SystemMessages.SM_TYPE.Information else: error = None if code == ResponseCodes.ACCOUNT_ALREADY_INVITED: error = 'clans/request/errors/Account already invited' if code == ResponseCodes.ACCOUNT_ALREADY_IN_CLAN: error = 'clans/request/errors/user is in clan already' msg = formatters.getInviteNotSentSysMsg(userName, error) msgType = SystemMessages.SM_TYPE.Error SystemMessages.pushMessage(msg, msgType) return
def showClanInviteSystemMsg(userName, isSuccess, code): if isSuccess: msg = formatters.getInvitesSentSysMsg((userName,)) msgType = SystemMessages.SM_TYPE.Information else: error = None if code == ResponseCodes.ACCOUNT_ALREADY_INVITED: error = 'clans/request/errors/Account already invited' if code == ResponseCodes.ACCOUNT_ALREADY_IN_CLAN: error = 'clans/request/errors/Account is in clan already' msg = formatters.getInviteNotSentSysMsg(userName, error) msgType = SystemMessages.SM_TYPE.Error SystemMessages.pushMessage(msg, msgType) return
def sendInvites(self, accountsToInvite, comment): self.as_showWaitingS(WAITING.CLANS_INVITES_SEND, {}) accountsToInvite = [ int(userDbID) for userDbID in accountsToInvite ] ctx = clan_ctx.CreateInviteCtx(self.__clanDbID, accountsToInvite, comment) self.__cooldown = ctx.getCooldown() result = yield self.clansCtrl.sendRequest(ctx) successAccounts = [ item.getAccountDbID() for item in ctx.getDataObj(result.data) ] failedAccounts = set(accountsToInvite) - set(successAccounts) if successAccounts: accountNames = [ self.getUserName(userDbID) for userDbID in successAccounts ] SystemMessages.pushMessage(clans_fmts.getInvitesSentSysMsg(accountNames)) if failedAccounts: accountNames = [ self.getUserName(userDbID) for userDbID in failedAccounts ] SystemMessages.pushMessage(clans_fmts.getInvitesNotSentSysMsg(accountNames), type=SystemMessages.SM_TYPE.Error) self.as_hideWaitingS()
def showClanInviteSystemMsg(userName, isSuccess, code, data=None): if isSuccess: msg = formatters.getInvitesSentSysMsg((userName, )) msgType = SystemMessages.SM_TYPE.Information else: error = None if data and code == ACCOUNT_ALREADY_IN_CLAN_ERROR and data.get( 'description') == ACCOUNT_ALREADY_IN_CLAN: information = 'clans/notifications/alreadyInviteSent' msg = formatters.getInviteNotSentSysMsg(userName, information) msgType = SystemMessages.SM_TYPE.Information else: if code == ResponseCodes.ACCOUNT_ALREADY_INVITED: error = 'clans/request/errors/Account already invited' if code == ResponseCodes.ACCOUNT_ALREADY_IN_CLAN: error = 'clans/request/errors/user is in clan already' msg = formatters.getInviteNotSentSysMsg(userName, error) msgType = SystemMessages.SM_TYPE.Error SystemMessages.pushMessage(msg, msgType) return
def sendInvites(self, accountsToInvite, comment): self.as_showWaitingS(backport.msgid(R.strings.waiting.clans.invites.send()), {}) accountsToInvite = [ int(userDbID) for userDbID in accountsToInvite ] ctx = clan_ctx.CreateInviteCtx(self.__clanDbID, accountsToInvite, comment) self.as_onReceiveSendInvitesCooldownS(ctx.getCooldown()) result = yield self.webCtrl.sendRequest(ctx) expectedCodes = (ResponseCodes.ACCOUNT_ALREADY_APPLIED, ResponseCodes.ACCOUNT_ALREADY_INVITED, ResponseCodes.NO_ERRORS) if result.getCode() in expectedCodes: successAccounts = [ item.getAccountDbID() for item in ctx.getDataObj(result.data) ] failedAccounts = set(accountsToInvite) - set(successAccounts) else: successAccounts = [] failedAccounts = accountsToInvite if len(accountsToInvite) > 1: if successAccounts: accountNames = [ self.getUserName(userDbID) for userDbID in successAccounts ] SystemMessages.pushMessage(clans_fmts.getInvitesSentSysMsg(accountNames)) if failedAccounts: accountNames = [ self.getUserName(userDbID) for userDbID in failedAccounts ] SystemMessages.pushMessage(clans_fmts.getInvitesNotSentSysMsg(accountNames), type=SystemMessages.SM_TYPE.Error) else: showClanInviteSystemMsg(self.getUserName(accountsToInvite[0]), result.isSuccess(), result.getCode(), result.data) self.as_hideWaitingS()