def get_cart(sender): user = get_user(sender) if not user: return None try: cart = VoteCart.objects.get(user=user.id) except: cart = VoteCart(user=user, status=STATUS.ACTIVE) cart.save() return cart
def vote(request): env = {} try: online = VoteStatus.objects.all()[0].online except: online = False if not online: return render(request, 'voting/vote_offline.html'); try: cart = VoteCart.objects.get(user=request.user.id) except: cart = VoteCart(user=request.user, status=STATUS.ACTIVE) cart.save() # voting is complete don't allow more votes if cart.status == STATUS.COMPLETED: return render(request, 'voting/vote_complete.html'); if request.method == 'POST': form = VoteForm(request.POST) if form.is_valid(): for key,team in form.cleaned_data.items(): category_id = key.replace('cat_', '') category = Category.objects.get(id=category_id) _insert_or_update_vote(cart, category, team) return render(request, 'voting/vote_complete.html'); else: votes = Vote.objects.filter(cart=cart.id) form_init = {} for vote in votes: form_init['cat_%s' % vote.category.id] = vote.team.id form = VoteForm(form_init) env['form'] = form return render(request, 'voting/vote.html', env)
def vote(request): env = {} try: online = VoteStatus.objects.all()[0].online except: online = False if not online: return render(request, 'voting/vote_offline.html') try: cart = VoteCart.objects.get(user=request.user.id) except: cart = VoteCart(user=request.user, status=STATUS.ACTIVE) cart.save() # voting is complete don't allow more votes if cart.status == STATUS.COMPLETED: return render(request, 'voting/vote_complete.html') if request.method == 'POST': form = VoteForm(request.POST) if form.is_valid(): for key, team in form.cleaned_data.items(): category_id = key.replace('cat_', '') category = Category.objects.get(id=category_id) _insert_or_update_vote(cart, category, team) return render(request, 'voting/vote_complete.html') else: votes = Vote.objects.filter(cart=cart.id) form_init = {} for vote in votes: form_init['cat_%s' % vote.category.id] = vote.team.id form = VoteForm(form_init) env['form'] = form return render(request, 'voting/vote.html', env)