def createNewBinaryPosition(self, userId, toPayPrice=True): isMatrixFull = User.Get(userId).addNewActiveBinaryPosition() if toPayPrice: self.payBinaryPrice(userId) return self._handleFullMatrix(User.Get(userId).active_binary_position) if isMatrixFull else User.Get(userId).active_binary_position
def userLeaves(self, userId): user = User.Get(userId) user.leave() for u in User.objects.filter(sponsor=user): u.sponsor = MasterUser.Get() u.save()
def payBinaryCommission(self, userId): user = User.Get(userId) user.binary_money += self.commission user.save() master = MasterUser.Get() master.binary_money -= self.commission master.save()
def _createMoreNewUsersRecursive(self, queue, callNum, limit): sponsor = User.Get(queue.popleft()) for i in range(2): queue.append(self.createNewUser(sponsor=sponsor)) if (callNum + i + 1) == limit: return self._createMoreNewUsersRecursive(queue, callNum + 2, limit)
def payBinaryPrice(self, userId): user = User.Get(userId) # User buys the product, money decrerases user.binary_money -= self.price # It if bought from Master, so money increases master = MasterUser.Get() master.binary_money += self.price master.save() user.save()
def createNewUnilevelPosition(self, userId): User.Get(userId).addNewActiveUnilevelPosition()
def payMonthlyCommission(self, userId): user = User.Get(userId) commission = self.calculateMonthlyCommission() * user.active_unilevel_position.countChildren(self.conf_unilevel_commission_depth) user.unilevel_money += commission user.save() return commission