示例#1
0
    def post(self, request):
        # Short-Circuit for Authentication Errors caused by invalid Device IDs
        if not request.yoo["user"] and request.yoo["auth"].get("__internal__reject__", False):
            raise exceptions.WebServiceAuthorizationFailed()
        
        user = request.yoo["user"]
        
        try:
            data = json.loads(request.body)
        except:
            data = {}
        
        form = PreferenceUpdateForm(data)
        if not form.is_valid():
            raise exceptions.WebServiceFormValidationFailed(form)
        
        try:
            preferences = user.preferences
        except UserPreference.DoesNotExist:
            preferences = UserPreference(user=user)
            preferences.save()
            
#        for k, v in form.cleaned_data.iteritems():
#            print k, v, type(v)
                    
        preferences.jackpot_drawing = form.cleaned_data["jackpot_drawing"]
        preferences.jackpot_frenzy = form.cleaned_data["jackpot_frenzy"]
        preferences.newsletter = form.cleaned_data["newsletter"]
        
        preferences.save()
        
        return self.get(request)
示例#2
0
 def get(self, request):
     # Short-Circuit for Authentication Errors caused by invalid Device IDs
     if not request.yoo["user"] and request.yoo["auth"].get("__internal__reject__", False):
         raise exceptions.WebServiceAuthorizationFailed()
     
     user = request.yoo["user"]
     
     try:
         preferences = user.preferences
     except UserPreference.DoesNotExist:
         preferences = UserPreference(user=user)
         preferences.save()
     
     return {
         "jackpot_drawing": preferences.jackpot_drawing,
         "jackpot_frenzy": preferences.jackpot_frenzy,
         "newsletter": preferences.newsletter
     }
示例#3
0
    def post(self, request):
        user = request.yoo["user"]
        data = json.loads(request.body)
        device = request.yoo['device']
        print "deviceeeeeeeeeeeeeeeeeeeeeee",device
        device.device_token = data['pushToken']
        device.save()
        print "userrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",user.id
        header_email = request.META['HTTP_YOO_EMAIL_ID']
        print "wjsaaaaaaaaa",header_email
        user1 = YooLottoUser.objects.get(email = header_email)

        email = data['email']
	try:
            user_login,created = UserClientLogin.objects.get_or_create(device = request.yoo['device'])
            user_login.client_login = data['email']
            user_login.save()
        except:
            pass
        print "userr in home",user1.id
        try:
            preferences = user1.preferences
        except UserPreference.DoesNotExist:
            try:
                preferences = UserPreference(user=user1)
                preferences.save()
            except IntegrityError:
                preferences = user.preferences

        coins_record = EmailCoins.objects.get(email=email)

        coins = coins_record.coins
        dollar_amount = coins/100
        yoo_prize_code =  0
        yoo_game_code =  1
    
        return {
        "coins": coins,    
        "freeStuff":yoo_prize_code,
        "yoo_game":yoo_game_code,
        "dollar_exchange_rate":"100",
        "dollar_amount":dollar_amount,
         }
示例#4
0
    def get(self, request):
        """
        Retrieves the details of the currently logged in user, will create a 
        new user if the device is not identified
        """
        # Short-Circuit for Authentication Errors caused by invalid Device IDs
        if not request.yoo["user"] and request.yoo["auth"].get("__internal__reject__", False):
            raise exceptions.WebServiceAuthorizationFailed()
        print "reeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",request.yoo['device']
        if request.yoo["new_version"]:
            user = request.yoo["user"]
            wallet = user.get_wallet()
            plays = sum(map(lambda x: x.plays.count(), user.tickets.all()))
            from django.db.models import Sum
            try:
                preferences = user.preferences
            except UserPreference.DoesNotExist:
                try:
                    preferences = UserPreference(user=user)
                    preferences.save()
                except IntegrityError:
                    preferences = user.preferences
            try:
                ClientLoginRecord, created = UserClientLogin.objects.get_or_create(device=request.yoo['device'], defaults={'client_login':None})
            except:
                ClientLoginRecord = UserClientLogin.objects.filter(device=request.yoo['device'])[0]
            try:
                device_coins_record, created = DeviceCoins.objects.get_or_create(device_id=request.yoo['device'], defaults={'coins': 0})
            except:
                device_coins_record = DeviceCoins.objects.filter(device_id = request.yoo['device'])[0]
            if ClientLoginRecord.client_login:
                try:
                    coins_record, created = EmailCoins.objects.get_or_create(email=ClientLoginRecord.client_login, defaults={'coins': 0})
                except:
                    coins_record = EmailCoins.objects.filter(email=ClientLoginRecord.client_login)[0]
                coins = coins_record.get_coins() + device_coins_record.get_coins()

                tickets = LotteryTicketClient.objects.filter(email=ClientLoginRecord.client_login).count()
            else:
                coins = device_coins_record.get_coins()
                tickets = LotteryTicketClient.objects.filter(device=request.yoo['device']).count()
            yoo_prize_code =  0
            print "yoooooooooooo",coins
            yoo_game_code =  1
            print "djjjjjjjjjjjjjjjjjj",yoo_game_code
            if request.yoo["new_version"]:
                #coins = wallet.coins
                print 11111111111111111111111111111111
                print "yo prize",yoo_prize_code
                return {
                   "email": user.email,
                   "password": True if user.password else False,
                   "tokens": dict([[token.name, token.token] for token in user.tokens.all()]),
                   "coins": coins,
                   "tickets": tickets,
                   "uncheckedTickets": sum(map(lambda x: x.plays.count(), user.tickets.filter(submissions__checked=False))),
                   "plays": plays,
                   "referral": user.referral,
                   "freeStuff":yoo_prize_code,
                   "yoo_game":yoo_game_code,
                   "preferences": {
                       "jackpot_drawing": preferences.jackpot_drawing,
                       "jackpot_frenzy": preferences.jackpot_frenzy,
                       "newsletter": preferences.newsletter
                    }}
        else:
        # Short-Circuit for Authentication Errors caused by invalid Device IDs
            if not request.yoo["user"] and request.yoo["auth"].get("__internal__reject__", False):
                raise exceptions.WebServiceAuthorizationFailed()
            user = request.yoo["user"]
            wallet = user.get_wallet()
            tickets = user.tickets.filter(plays__isnull=False).count()
            plays = sum(map(lambda x: x.plays.count(), user.tickets.all()))
            try:
                preferences = user.preferences
            except UserPreference.DoesNotExist:
                try:
                    preferences = UserPreference(user=user)
                    preferences.save()
                except IntegrityError:
                    preferences = user.preferences
            return {
                "email": user.email,
                "password": True if user.password else False,
                "tokens": dict([[token.name, token.token] for token in user.tokens.all()]),
                "coins": coins,
                "tickets": tickets,
                "uncheckedTickets": sum(map(lambda x: x.plays.count(), user.tickets.filter(submissions__checked=False))),
                "plays": plays,
                "referral": user.referral,
                "preferences": {
                    "jackpot_drawing": preferences.jackpot_drawing,
                    "jackpot_frenzy": preferences.jackpot_frenzy,
                    "newsletter": preferences.newsletter
                }
             }
示例#5
0
    def get(self, request):
        """
        Retrieves the details of the currently logged in user, will create a 
        new user if the device is not identified
        """
        print "device id is ", request.yoo["device"]
        # Short-Circuit for Authentication Errors caused by invalid Device IDs
        if not request.yoo["user"] and request.yoo["auth"].get("__internal__reject__", False):
            raise exceptions.WebServiceAuthorizationFailed()
        print "request", request.yoo["new_version"]
        data = json.loads(request.body)

        if request.yoo["new_version"]:
            print "i'm in"
            try:
                ClientLoginRecord, created = UserClientLogin.objects.get_or_create(
                    device=request.yoo["device"], defaults={"client_login": None}
                )
            except:
                ClientLoginRecord = UserClientLogin.objects.filter(device=request.yoo["device"])[0]
            try:
                coins_record1, created = DeviceCoins.objects.get_or_create(
                    device_id=request.yoo["device"], defaults={"coins": 1, "reset_date": datetime.datetime.now()}
                )
            except:
                pass
            try:
                user_client_record = UserClientLogin.objects.filter(device=request.yoo["device"])
                if user_client_record.client_login is not None and user_client_record.client_login != "":
                    user = YooLottoUser.objects.get(
                        email=user_client_record.client_login, email_source=user_client_record.email_source
                    )
                else:
                    user = request.yoo["user"]
            except:
                user = request.yoo["user"]
            device = request.yoo["device"]
            # wallet = user.get_wallet()

            plays = sum(map(lambda x: x.plays.count(), user.tickets.all()))
            from django.db.models import Sum

            try:
                preferences = user.preferences
            except UserPreference.DoesNotExist:
                try:
                    preferences = UserPreference(user=user)
                    preferences.save()
                except IntegrityError:
                    preferences = user.preferences

            try:
                device_coins_record, created = DeviceCoins.objects.get_or_create(
                    device_id=request.yoo["device"], defaults={"coins": 0, "reset_date": datetime.datetime.now()}
                )
            except:
                device_coins_record = DeviceCoins.objects.filter(device_id=request.yoo["device"])[0]
            if ClientLoginRecord.client_login:
                try:
                    # coins_record = EmailCoins.objects.filter(email=ClientLoginRecord.client_login,email_source = data['email_source'])
                    coins_record, created = EmailCoins.objects.get_or_create(
                        email=ClientLoginRecord.client_login,
                        email_source=data["email_source"],
                        defaults={"coins": 0, "reset_date": datetime.datetime.now()},
                    )
                except:
                    coins_record = EmailCoins.objects.filter(
                        email=ClientLoginRecord.client_login, email_source=data["email_source"]
                    )

                coins = coins_record.coins + device_coins_record.coins
                print "innnnnnnnnnnnnnnnnnnnnn loginnnnnnnnnnnnnnnnnn in userrrrrrrrr"
                tickets = LotteryTicketClient.objects.filter(email=ClientLoginRecord.client_login).count()
            else:
                coins = device_coins_record.coins
            tickets = LotteryTicketClient.objects.filter(device=request.yoo["device"]).count()
            # reset_coins_record = ResetCoins.objects.get_or_create(user_id = user.id,coins = coins)
            yoo_prize_code = 0
            yoo_game_code = 1
            print "coinsssss", coins
            if request.yoo["new_version"]:
                # coins = wallet.coins
                print "coinnnnnnnnnnnnnnnnn", coins
                return {
                    "email": user.email,
                    "password": True if user.password else False,
                    "tokens": dict([[token.name, token.token] for token in user.tokens.all()]),
                    "coins": coins,
                    "tickets": tickets,
                    "uncheckedTickets": sum(
                        map(lambda x: x.plays.count(), user.tickets.filter(submissions__checked=False))
                    ),
                    "plays": plays,
                    "referral": user.referral,
                    "preferences": {
                        "jackpot_drawing": preferences.jackpot_drawing,
                        "jackpot_frenzy": preferences.jackpot_frenzy,
                        "newsletter": preferences.newsletter,
                    },
                    "freeStuff": yoo_prize_code,
                    "yoo_game": yoo_game_code,
                }
            else:

                # Short-Circuit for Authentication Errors caused by invalid Device IDs
                if not request.yoo["user"] and request.yoo["auth"].get("__internal__reject__", False):
                    raise exceptions.WebServiceAuthorizationFailed()

                try:
                    user_client_record = UserClientLogin.objects.filter(device=request.yoo["device"])[0]
                    if user_client_record.client_login is not None and user_client_record.client_login != "":
                        user = YooLottoUser.objects.get(
                            email=user_client_record.client_login, email_source=user_client_record.email_source
                        )
                    else:
                        user = request.yoo["user"]
                except:
                    user = request.yoo["user"]
                print "in else userrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"
                wallet = user.get_wallet()

                tickets = user.tickets.filter(plays__isnull=False).count()
                plays = sum(map(lambda x: x.plays.count(), user.tickets.all()))

                try:
                    preferences = user.preferences
                except UserPreference.DoesNotExist:
                    try:
                        preferences = UserPreference(user=user)
                        preferences.save()
                    except IntegrityError:
                        preferences = user.preferences

                return {
                    "email": user.email,
                    "password": True if user.password else False,
                    "tokens": dict([[token.name, token.token] for token in user.tokens.all()]),
                    "coins": wallet.coins,
                    "tickets": tickets,
                    "uncheckedTickets": sum(
                        map(lambda x: x.plays.count(), user.tickets.filter(submissions__checked=False))
                    ),
                    "plays": plays,
                    "referral": user.referral,
                    "preferences": {
                        "jackpot_drawing": preferences.jackpot_drawing,
                        "jackpot_frenzy": preferences.jackpot_frenzy,
                        "newsletter": preferences.newsletter,
                    },
                }