Пример #1
0
def place_bet(request):
	evt = Event.objects.get(id = request.POST.get("event_id"))
	player = Player.objects.get(id = request.POST.get("player_id"))
	bet_amount = request.POST.get("amount")
	current_user = User.objects.get(id= request.POST.get("user_id"))
	ror = request.POST.get("return_rate")
	bet = Bet(event = evt, player = player, amount = bet_amount, rate_of_return = ror, user = current_user)
	bet.save()
	return HttpResponse("<html><body>Enjoy betting you sucker</body></html>")
Пример #2
0
def processEnterBetForm(request, betForm, gamename):
    user = request.user
    targetname = betForm.data['target']
    examname = betForm.data['exam']
    guessmark = betForm.data['guess_mark']
    guesscredits = betForm.data['guess_credits']
    try:
        int(guessmark)
    except:
        return "Your prediction must be a whole number from 0 to 100."
    try:
        int(guesscredits)
    except:
        return "You cannot use decimal credits."
    if (str(targetname) == "" or str(examname) == "" or str(guessmark) == ""
            or str(guesscredits) == ""):
        return 'Make sure you have chosen an exam, a target,a mark and an amount of credits!'
    examid = extractExamIDgivenGroup(examname, gamename)
    targetid = getUserID(targetname)
    if not (int(guessmark) >= 0 and int(guessmark) <= 100):
        return 'Predicted mark invalid. Make sure it is between 0 and 100!'
    groupid = extractGroupId(gamename)
    credits = GroupMember.objects.get(group_id=groupid,
                                      user_id=getUserID(user))
    if int(credits.credits) < int(guesscredits):
        return 'You do not have enough credits.'
    elif int(guesscredits) <= 0:
        return 'You must use at least 1 credit.'
    exam = Exam.objects.get(pk=examid)
    target = User.objects.get(pk=targetid)
    if Bet.objects.filter(user=user, target=target, exam=exam).count() != 0:
        return 'You have aleady made a bet on that user for this exam.'
    resultEnteredCount = Result.objects.filter(exam_id=examid,
                                               user_id=targetid).count()
    if resultEnteredCount > 0:
        return str(
            target
        ) + ' has already entered their mark for this exam. You cannot place any further bets!'
    newBet = Bet(exam=exam,
                 user=request.user,
                 target=target,
                 guess_mark=guessmark,
                 guess_credits=guesscredits)
    groupid = extractGroupId(gamename)
    credits = GroupMember.objects.get(group_id=groupid,
                                      user_id=getUserID(user))
    if int(credits.credits) < int(guesscredits):
        return 'Not enough credits!'
    elif int(guesscredits) <= 0:
        return 'Minimum amount of credits to bet is 1!'

    newBet.save()
    credits.credits = int(credits.credits) - int(guesscredits)
    credits.save()
    return False
Пример #3
0
def place_bet(request):

    data = json.loads(request.body)
    evt = Event.objects.get(id = data.get("event_id"))
    player = Player.objects.get(id = data.get("player_id"))
    bet_amount = data.get("amount")
    current_user = request.user
    ror = Player_event.objects.get(event_id=data.get("event_id"),player_id=data.get("player_id")).rate_of_return
    total_bet_amount = float(bet_amount)*float(ror)
    evt.total_bet_amount += total_bet_amount
    evt.save()
    if(check_if_more_betting_allowed(data.get("event_id"))): 
        bet = Bet(event = evt, player = player, amount = bet_amount, rate_of_return = ror, user = current_user)
        bet.save()
        return HttpResponse("<html><body>Enjoy betting you sucker</body></html>")
    else:
        return HttpResponse("<html><body>betting closed for this event</body></html>")
Пример #4
0
 def post(self, request, username):
   form = BetForm(self.request.POST)
   if form.is_valid():
     ser	= User.objects.get(username=username)
     match     = Match.objects.get(id=form.cleaned_data['match'])
     print 'form = %r' % form
     bet	= Bet(
                   user 	= user,
                   match 	= match,
                   scoreA	= form.cleaned_data['scoreA'],
                   scoreB 	= form.cleaned_data['scoreB'],
                   triesA 	= form.cleaned_data['triesA'],
                   triesB 	= form.cleaned_data['triesB'],
                   card	= form.cleaned_data['card'],
                   drop_goal   = form.cleaned_data['drop_goal'],
                   fight       = form.cleaned_data['fight'],
                   created_date= timezone.now()
                 )
     bet.save()
     return HttpResponseRedirect('/user/'+username+'/')
   else:
     print 'form = %r' % form
     return render(request, 'betcup.html', {'form': form})