def vote_post(request, post_id, mode='plain'): post_id = int(post_id) post = get_object_or_404(Post, id=post_id) kwargs = dict(post=post) if not mode in ['plain', 'ajax'] or '_pv_%d' % post_id in request.session: return HttpResponseRedirect(post.get_absolute_url()) if request.user.is_authenticated(): kwargs['user'] = request.user else: kwargs['ip'] = request.META['REMOTE_ADDR'] try: Vote.objects.get(**kwargs) output_ajax = 0 except Vote.DoesNotExist: new_vote = Vote(**kwargs) new_vote.save() post.nb_votes += 1 post.save() request.session['_pv_%d' % post_id] = True request.session.set_expiry(timedelta(days=365)) output_ajax = 1 if mode == 'ajax': return HttpResponse(output_ajax) else: return HttpResponseRedirect(post.get_absolute_url())
def vote(request): picture_id = None if request.method == 'POST': picture_id = request.POST['selectedPic'] picture = Picture.objects.get(pk = picture_id) vote = Vote(picture = picture) vote.save() date = datetime.datetime.today() picture_set = Picture.objects.filter(timestamp__day = date.day, timestamp__month = date.month, timestamp__year = date.year) if picture_id: picture_set = picture_set.exclude(pk = picture_id) if len(picture_set) > 1: picture_pair = random.sample(picture_set, 2) sufficient_picture = True else: picture_pair = None sufficient_picture = False return render(request, 'vote.html', {'pictures': picture_pair; 'sufficient': sufficient_picture})
def post(): values = {} vote_value = request.form['vote'] vote = Vote() for item in request.form.getlist('value[]'): if vote.get_vote_title(item) is not None: values[item] = vote.get_vote_title(item) elif int(item) == Vote.CUSTOM_VOTE_ID and vote_value: values[item] = vote_value if values: # add vote vote.ip = request.remote_addr vote.votes = values try: vote_current = Vote.objects(ip=request.remote_addr, created_at__gte=(datetime.datetime.now() - datetime.timedelta(minutes=15))) if vote_current: raise ValueError("You've already voted!") vote.save() suffix = VoteView.ordinal(len(Vote.objects)) return jsonify({'status': 'ok', 'message': 'Thank your for voting! You are the %s fan of python' % suffix}) except ValueError as e: return jsonify({'status': 'error', 'message': e.message}) except Exception: return jsonify({'status': 'error', 'message': 'Error while saving vote. Sorry :('}) else: return jsonify({'status': 'error', 'message': 'Choose any option to vote'})
def post(self): data = self.get_arguments() try: type = int(self.get_argument('type')) flag = self.get_argument('flag') slug = self.get_argument('slug') spec = {'type': type, 'slug': slug} cid = Content.one(spec)['_id'] uid = self.current_user['_id'] if int(flag) in [x for x,_y in MY_FLAGS]: has_vote = Vote.one({'uid': uid ,'cid': cid}) if not has_vote: Content.collection.update( spec, {'$inc': { "votes." + flag: 1}} ) vote = Vote() vote['uid'], vote['cid'], vote['vote'] = uid, cid, int(flag) vote.save() return self.json_response("You have voted has been noted", "OK") else: Content.collection.update( spec, {'$inc': { "votes." + flag: -1}} ) Vote.remove({'uid': uid, 'cid': cid}) return self.json_response("Your vote has been removed", "OK") raise Exception("Invalid vote") except Exception, e: raise return self.json_response(e.__str__(), "ERROR", data)
def vote(request): comment_id = request.POST['comment_id'] value = request.POST['value'] comment = Comment.objects.get(pk=comment_id) try: vote = Vote.objects.get(comment=comment, author=request.user) vote.value = value except Vote.DoesNotExist: vote = Vote(comment=comment, value=value, author=request.user) vote.save() # Reload the comment to make sure vote counts are up to date comment = Comment.objects.get(pk=comment_id) try: task = Task.objects.get(chunk=comment.chunk, reviewer=request.user) if task.status == 'N' or task.status == 'O': task.mark_as('S') except Task.DoesNotExist: pass response_json = json.dumps({ 'comment_id': comment_id, 'upvote_count': comment.upvote_count, 'downvote_count': comment.downvote_count, }) return HttpResponse(response_json, mimetype='application/javascript')
def vote(request, new_vote): response = "" error = "" status = 201 if not request.user.is_authenticated(): error = "Must be logged in" status = 403 elif request.method == "POST": data = request.POST r = Review.objects.get(pk=data["review_pk"]) try: prev_vote_obj = Vote.objects.get(review=r.pk, user=request.user) prev_vote = prev_vote_obj.vote if new_vote != prev_vote: prev_vote_obj.delete() r.up_down_rank += new_vote except ObjectDoesNotExist: r.up_down_rank += new_vote v = Vote(user=request.user, review=r, vote=new_vote) v.save() r.save() response = serialize([r]) else: error += "No POST data in request.\n" status = 415 return HttpResponse(package_error(response, error), status=status)
def button(bot, update): '''Save user vote in the database''' query = update.callback_query username = query.message['chat']['username'] chat_id = query.message.chat_id user = Pycampista.get_or_create(username=username, chat_id=chat_id)[0] project_name = query.message['text'] # Get project from the database project = Project.get(Project.name == project_name) # create a new vote object new_vote = Vote(pycampista=user, project=project) # Save vote in the database and send a message if query.data == "si": result = 'Interesadx en: ' + project_name + ' 👍' new_vote.interest = True new_vote.save() else: new_vote.interest = False new_vote.save() result = 'No te interesa el proyecto ' + project_name bot.edit_message_text(text=result, chat_id=query.message.chat_id, message_id=query.message.message_id)
def post(self): data = self.get_arguments() try: type = int(self.get_argument('type')) flag = self.get_argument('flag') slug = self.get_argument('slug') spec = {'type': type, 'slug': slug} cid = Content.one(spec)['_id'] uid = self.current_user['_id'] if int(flag) in [x for x, _y in MY_FLAGS]: has_vote = Vote.one({'uid': uid, 'cid': cid}) if not has_vote: Content.collection.update(spec, {'$inc': { "votes." + flag: 1 }}) vote = Vote() vote['uid'], vote['cid'], vote['vote'] = uid, cid, int( flag) vote.save() return self.json_response("You have voted has been noted", "OK") else: Content.collection.update(spec, {'$inc': { "votes." + flag: -1 }}) Vote.remove({'uid': uid, 'cid': cid}) return self.json_response("Your vote has been removed", "OK") raise Exception("Invalid vote") except Exception, e: raise return self.json_response(e.__str__(), "ERROR", data)
def create_vote(voter, nodes): v = Vote() v.user = voter v.save() for node in nodes: v.nodes.add(node) v.save() return v
def create_vote(voter, nodes): v = Vote() v.user = voter v.save() for node in nodes: v.nodes.add(node) v.save() for node in nodes: node.update_favorite_for_all_parents() return v
def vote(request, id_num): vf = VoteForm(request.POST or None) post = get_object_or_404(Post, pk=id_num) if vf.is_valid() and request.user.is_authenticated(): user = request.user prev_vote = Vote.objects.filter(user=user, parent_post=post.parent,) if prev_vote.exists(): prev_vote.delete() messages.warning(request, 'Changing your vote because you already voted on some child of the parent post') vote = Vote(post=post, parent_post=post.parent, user=user) vote.save() return HttpResponseRedirect(request.META["HTTP_REFERER"])
def submit_vote(): user = get_user(request) is_up = parse_bool(request, "isUp") print get_song(request).to_json() vote = Vote(user=user, song=get_song(request), isUp=is_up) try: vote.save() Song.objects(id=request.values["songId"]).update_one(push__votes=vote) except NotUniqueError: pass return mk_json(get_song(request).votes)
def handle_call_request(request): if request.method != 'POST': msg = "Only POST Request Allowed" else: # dont accept requests from any other system if request.META['REMOTE_ADDR'] not in settings.ALLOWED_IPS: msg = "IP not allowed" else: to_no = get_post_param(request, 'To') from_no = get_post_param(request, 'From') if from_no == "": msg = "No Number Recieved" else: direction = get_post_param(request, 'Direction') if not (to_no == settings.DID and direction == 'inbound'): msg = "Invalid Direction" else: # get current speaker try: speaker = get_object_or_404(Speaker, currently_speaking=True) except Http404: speaker = None if speaker is None: msg = "No Current Speaker" else: # check if this vote is already considered try: vote = get_object_or_404(Vote, speaker=speaker, phone_no=from_no) except Http404: vote = None if vote is not None: msg = "Duplicate Vote" else: speaker.total_votes = speaker.total_votes + 1 speaker.save() vote_dict={ "speaker": speaker, "phone_no": from_no, } vote_obj= Vote(**vote_dict) vote_obj.save() tweet_text = '''Got a vote for "%s" speaking on "%s" from the number "+%s" #cluecon''' % (speaker.name, speaker.talk_name, mask_phone(from_no)) if not post_tweet(tweet_text): pass # do some logging here # return success response = create_success_restxml() return HttpResponse(response, mimetype='text/xml') return HttpResponse(create_fail_restxml(msg), mimetype='text/xml')
def vote(request, id_num): vf = VoteForm(request.POST or None) post = get_object_or_404(Post, pk=id_num) if request.method == "POST" and vf.is_valid(): if request.user.is_authenticated(): user = request.user else: user = User.objects.get(username="******") vote = Vote(post=post, user=user, ip=request.META["REMOTE_ADDR"]) vote.save() return HttpResponseRedirect(request.META["HTTP_REFERER"]) return render_to_response("vote.html", {"form": vf}, context_instance=RequestContext(request))
def update_votes(): ''' Updates the Vote table with the json retrieved from Kimono. If a vote is not in the table it creates one. Returns the number of new votes and new orphan players added to the db ''' logger.info('Updating votes...') url = settings.KIMONO['votes_url'] votes = _get_results_collection1(url) # Keeping a list of players with votes but not present in the Player table # so that they could be added later logger.info(' - Updating database...') no_new_votes = 0 no_new_orphans = 0 for vote in votes: p_id = _id_from_url(vote['name']['href']) v_day = _day_from_url(vote['url']) # Checking if the vote already exists. If not, creates a new one, if it # exists it will get the current vote and update it try: v = Vote.objects.get(player__pk=p_id, day=v_day) except Vote.DoesNotExist: v = Vote() no_new_votes += 1 # Creating a orphan player if there is not a player for this vote try: p = Player.objects.get(pk=p_id) except Player.DoesNotExist: p = Player(pk=p_id) p.role = _fix_role(vote['role']) p.save() no_new_orphans += 1 v.player = p v.vote = _fix_zero(vote['vote']) v.gol = _fix_zero(vote['gol']) v.assist = _fix_zero(vote['assists']) v.penalties_scored_saved = _fix_zero(vote['penalties_scored_saved']) v.penalties_missed = _fix_zero(vote['penalties_missed']) v.own_gol = _fix_zero(vote['own_gol']) v.yellow_cards = _fix_zero(vote['yellow_cards']) v.red_cards = _fix_zero(vote['red_cards']) v.magicvote = _fix_zero(vote['own_gol']) v.day = v_day v.sub_in = _sub_in(vote['in']['class']) v.sub_out = _sub_out(vote['out']['class']) # Storing on the db v.save() return no_new_votes, no_new_orphans
def vote(request, id_num): vf = VoteForm(request.POST or None) post = get_object_or_404(Post, pk=id_num) if vf.is_valid() and request.user.is_authenticated(): user = request.user prev_vote = Vote.objects.filter( user=user, parent_post=post.parent, ) if prev_vote.exists(): prev_vote.delete() messages.warning( request, 'Changing your vote because you already voted on some child of the parent post' ) vote = Vote(post=post, parent_post=post.parent, user=user) vote.save() return HttpResponseRedirect(request.META["HTTP_REFERER"])
def add_vote(request, uuid, polluuid, choice): if request.method == 'GET': try: vote = Vote.objects.get(voter=uuid, poll=polluuid) return HttpResponse(json.dumps('fail: vote exists'), mimetype='application/json') except Vote.DoesNotExist: vote = Vote() _poll = Poll.objects.get(uuid=polluuid) vote.voter = User.objects.get(uuid=uuid) vote.poll = _poll vote.vote = choice vote.save() _poll.votes = _poll.votes + 1 _poll.save() return HttpResponse(json.dumps('ok'), mimetype='application/json') else: raise Http404
def post(): values = {} vote_value = request.form['vote'] vote = Vote() for item in request.form.getlist('value[]'): if vote.get_vote_title(item) is not None: values[item] = vote.get_vote_title(item) elif int(item) == Vote.CUSTOM_VOTE_ID and vote_value: values[item] = vote_value if values: # add vote vote.ip = request.remote_addr vote.votes = values try: vote_current = Vote.objects( ip=request.remote_addr, created_at__gte=(datetime.datetime.now() - datetime.timedelta(minutes=15))) if vote_current: raise ValueError("You've already voted!") vote.save() suffix = VoteView.ordinal(len(Vote.objects)) return jsonify({ 'status': 'ok', 'message': 'Thank your for voting! You are the %s fan of python' % suffix }) except ValueError as e: return jsonify({'status': 'error', 'message': e.message}) except Exception: return jsonify({ 'status': 'error', 'message': 'Error while saving vote. Sorry :(' }) else: return jsonify({ 'status': 'error', 'message': 'Choose any option to vote' })
def dvote(): for i in xrange(5): email = str(i) + '@gmail.com' password = str(i) try: u = User.objects.get(username=email) except: u = User.objects.create_user(email, email, password) questions = Question.objects.all() for q in questions: choice = random.sample(q.choice_set.all(),1)[0] v = Vote() v.user = u v.question = q v.choice = choice v.save() choice.votes += 1 choice.save()
def create_models(request): json_file = json.load(request.FILES['file']) type = request.POST['options'] for obj in json_file: new_model = {'election_type': type} votes = [] for k, v in obj.iteritems(): if 'Pkt' in k: try: new_model['notes'].append({k: v}) except: new_model['notes'] = [{k: v}] continue k_coded = coder[k.encode('utf-8')] if 'kw' in k_coded or 'prez' in k_coded: vote = Vote(political_party=k, amount=v) vote.save() votes.append(vote) else: if 'Gmina' == k: new_model['district'] = v else: new_model[coder[k.encode('utf-8')]] = v try: new_model['notes'] = json.dumps(new_model['notes']) except: pass if type != 'candidate': election_model = Election(**new_model) election_model.save() elif type == 'candidate': election_model = Candidate(**new_model) election_model.save() continue for v in votes: v.election = election_model v.save()
def voting(request, poll_id): poll = Poll.objects.get(id=poll_id) books = Book.objects.filter(poll=poll_id) already_voted = Vote.objects.filter(user=request.user).filter(poll=poll) for book in books: number_of_votes = Vote.objects.filter(book=book) book.votes = len(number_of_votes) books = sorted(books, key=operator.attrgetter('votes'), reverse=True) if len(already_voted) >= 3: disabled = 'disabled="disabled"' else: disabled = '' context = RequestContext( request, { 'poll': poll, 'books': books, 'disabled': disabled, 'already_voted': len(already_voted), }) if request.method == "POST": for book in books: votes = request.REQUEST[str(book.id)] if votes: i = int(votes) while i > 0: vote = Vote(user=request.user, poll=poll, book=book) vote.save() i -= 1 # return HttpResponse(i) else: continue return redirect('/polls/voting/' + str(poll_id)) return render(request, 'polls/voting.html', context)
def vote(req): if req.method == 'POST': vote_target = get_object_or_404(Gentleman, pk=req.POST['gentleman_id']) try: vote = Vote.objects.get(user=req.user) except Vote.DoesNotExist: vote = Vote() vote.user_id = req.user.id if 'execution' in req.POST: vote.execution = vote_target if 'grooming' in req.POST: vote.grooming = vote_target if 'creativity' in req.POST: vote.creativity = vote_target vote.save() messages.warning(req, '%s' % req.user.vote) return HttpResponseRedirect(reverse('home'))
def index(request): sujets = Sujet.objects #sujets = sujets.filter(vote__date__lt=datetime.now()) sujets = sujets.order_by('nom') sujets = sujets.all() poids = Poids.objects poids = poids.order_by('ordre') poids = poids.all() render_params = {} render_params['sujets'] = sujets render_params['l_poids'] = poids if request.method == "POST": votes_in = (entry for entry in request.POST.items() if entry[0].isdigit()) for poids_id, sujet_id in votes_in: sujet = Sujet.objects.get(id=sujet_id) poids = Poids.objects.get(id=poids_id) vote = Vote(nom="Jacques", sujet=sujet, poids=poids) vote.save() return render(request, 'vote/index.html', render_params)
def vote(request, id): this_topic = Topic.objects.get(pk=id) is_voted = False try: vote_thistopic = this_topic.votes.get(user=request.user.get_profile()) is_voted = True except: pass if is_voted is False: this_vote = Vote(user=request.user.get_profile()) # this_topic.votes.add(user = request.user) topic_type = ContentType.objects.get_for_model(Topic) this_vote.content_type = topic_type this_vote.object_id = this_topic.id this_vote.save() # update vote count this_topic.save() return redirect(reverse(topic, args=[this_topic.id]))
def vote(request, id): this_topic = Topic.objects.get(pk=id) is_voted = False try: vote_thistopic = this_topic.votes.get(user=request.user.get_profile()) is_voted = True except: pass if is_voted == False: this_vote = Vote(user=request.user.get_profile()) #this_topic.votes.add(user = request.user) topic_type = ContentType.objects.get_for_model(Topic) this_vote.content_type = topic_type this_vote.object_id = this_topic.id this_vote.save() #update vote count this_topic.save() return HttpResponseRedirect(reverse(topic, args=[this_topic.id]))
def vote(request): if request.session['score']==0: return HR(u'需要登录后才可以投票!') else: did=request.POST['did'] score=request.POST['score'] #查询是否已投票此(did)discussid if Vote.objects.filter(user_id=request.session['uid'],discuss_id=did).count()==1: return HR(u'亲,只能投票一次噢!') d=Discuss.objects.get(id=did) if d.user_id==request.session['uid']: return HR(u'亲,不可以为自己投票的哦!') #更新vote表 v=Vote() v.user_id=request.session['uid'] v.discuss_id=did v.vote =score v.save() #更新用户表,增加score u=User.objects.get(id=d.user_id) if score=='1': d.support +=1 u.score+=1 else: d.oppose +=1 u.score-=1 if u.score <1: u.score=1 d.save() u.save() return HR(u'success')
def _make_vote(id, uid, name): movie = _fetch_movie(id) if movie: q = db.Query(Vote) q.filter('service_id =', id) q.filter('facebook_uid =', uid) existing_vote = q.get() if existing_vote: return False movie.votes = movie.votes + 1 movie.put() thevote = Vote(service_id=id, facebook_uid=uid, facebook_name=name) thevote.save() return True return False
def _make_vote(id, uid, name): movie = _fetch_movie(id) if movie: q = db.Query(Vote) q.filter('service_id =', id) q.filter('facebook_uid =', uid) existing_vote = q.get() if existing_vote: return False movie.votes = movie.votes + 1; movie.put() thevote = Vote(service_id=id, facebook_uid=uid, facebook_name=name) thevote.save() return True return False