def friend(request): id = request.GET.get("id") user = User.objects.get(id=id) if request.user == user: return HttpResponseForbidden("Nope!!") us = UserService(request.user) data = us.getUserData() # add friend data.friends.add(user) data.save() # do reverse as well # TODO: check user settings before auto adding this to_data = UserService(user).getUserData() # add friend to_data .friends.add(request.user) to_data.save() # notify user ps = PollService() subject = "%s added you as friend" % request.user.username body = "Hi, %s has just added you as a friend. As a result %s has been automatically added to your friends list.\n This is because he/she added you to their list. You can change this setting in your settings if you like." % (request.user.username, request.user.username) ps.sendPollsterMessage(to_user=user, from_user=request.user, subject=subject, body=body) return HttpResponse(content="You are now friends!")
def set_chart_type(request): chart_type = request.GET.get("val", None) if not consts.CHART_TYPES_WHITE_LIST.count(chart_type): return HttpResponse(content="Not Saved") user = request.user data = UserService(user=user).getUserData() data.default_chart_type = chart_type data.save() return HttpResponse(content="Saved your selection: %s" % chart_type)
def which_pic(request): val = int(request.GET.get("val", None)) val = val == 1 data = UserService(user=request.user).getUserData() data.use_profile_pic = val data.save() if val: result = "Pollstruck pic" else: result = "Facebook pic" return HttpResponse(content="Saved your selection: %s" % result)
def email_on_vote(request): user = request.user val = int(request.GET.get("val", None)) val = val == 1 data = UserService(user=user).getUserData() data.email_on_vote = val data.save() if val: result = "You will get an email when someone votes on your poll" else: result = "You won't receieve an email when someone votes on your poll" return HttpResponse(content="Saved your selection: %s" % result)
def link_new_window(request): user = request.user val = int(request.GET.get("val", None)) val = val == 1 data = UserService(user=user).getUserData() data.link_in_new_window = val data.save() if val: result = "Open in new window" else: result = "Open in same window" return HttpResponse(content="Saved your selection: %s" % result)
def email_on_comment_reply(request): user = request.user val = int(request.GET.get("val", None)) val = val == 1 data = UserService(user=user).getUserData() data.email_on_comment_reply = val data.save() if val: result = "You will get an email when someone replies to your comment on a poll" else: result = "You won't get an email when someone replies to your comment on a poll" return HttpResponse(content=result)
def watch_poll(request): """ ajax handler signs up users to watch a poll """ log = logging.getLogger('pollview.watch_poll') pid = request.GET.get("pid", None) type = request.GET.get("type", None) ps = PollService() if type == 'a': # add the poll to request users watch userdata = UserService(request.user).getUserData() poll = Poll.objects.get(id=pid, active=True) #@UndefinedVariable if PollWatch.objects.filter( user=request.user, poll=poll).count() == 0: #@UndefinedVariable pw = PollWatch() pw.poll = poll pw.user = request.user pw.save() userdata.polls_watched.add(pw) userdata.save() else: log.error("User trying to watch poll multiple times, user: %s" % request.user.username) return HttpResponse("Already watching!") if poll.user != request.user: # send message to poll creator # as long as you arent poll creator subject = "%s is watching your poll" % request.user.username body = "Hello. This is just a note to let you know %s is watching your poll '%s'. Thanks, The Mgmt." % ( request.user.username, poll.question) ps.sendPollsterMessage(to_user=poll.user, from_user=request.user, subject=subject, body=body) return HttpResponse("You are watching this poll") elif type == 'd': userdata = UserService(user=request.user).getUserData() poll = Poll.objects.get(id=pid) #@UndefinedVariable pw = PollWatch.objects.get(user=request.user, poll=poll) #@UndefinedVariable userdata.polls_watched.remove(pw) userdata.save() pw.delete() return HttpResponse("You are no longer watching this poll") return HttpResponseForbidden("unauthorized")
def watch_poll(request): """ ajax handler signs up users to watch a poll """ log = logging.getLogger('pollview.watch_poll') pid = request.GET.get("pid", None) type = request.GET.get("type", None) ps = PollService() if type == 'a': # add the poll to request users watch userdata = UserService(request.user).getUserData() poll = Poll.objects.get(id=pid, active=True) #@UndefinedVariable if PollWatch.objects.filter(user=request.user, poll=poll).count() == 0: #@UndefinedVariable pw = PollWatch() pw.poll = poll pw.user = request.user pw.save() userdata.polls_watched.add(pw) userdata.save() else: log.error("User trying to watch poll multiple times, user: %s" % request.user.username) return HttpResponse("Already watching!") if poll.user != request.user: # send message to poll creator # as long as you arent poll creator subject = "%s is watching your poll" % request.user.username body = "Hello. This is just a note to let you know %s is watching your poll '%s'. Thanks, The Mgmt." % (request.user.username, poll.question) ps.sendPollsterMessage(to_user=poll.user, from_user=request.user, subject=subject, body=body) return HttpResponse("You are watching this poll") elif type == 'd': userdata = UserService(user=request.user).getUserData() poll = Poll.objects.get(id=pid) #@UndefinedVariable pw = PollWatch.objects.get(user=request.user, poll=poll) #@UndefinedVariable userdata.polls_watched.remove(pw) userdata.save() pw.delete() return HttpResponse("You are no longer watching this poll") return HttpResponseForbidden("unauthorized")