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>")
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
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>")
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})